Jody Heavener
5fb0a2e274
feat(content-docs): draft docs excluded from build & sidebars ( #6457 )
...
Co-authored-by: sebastienlorber <lorber.sebastien@gmail.com>
Co-authored-by: Joshua Chen <sidachen2003@gmail.com>
2022-04-13 18:02:05 +02:00
Joshua Chen
f4ab7c65ac
feat(preset-classic, content-docs/client): JSDoc ( #7148 )
...
* refactor: add JSDoc for preset-classic, content-docs/client
* fix
2022-04-11 09:36:30 +08:00
Joshua Chen
7a61eed3dd
refactor: unify how MDX content types are represented ( #7145 )
...
* refactor: unify how MDX content types are represented
* fix
* fix again
2022-04-10 19:19:44 +08:00
Joshua Chen
171927342f
feat(core): fail-safe global data fetching ( #7083 )
2022-04-08 11:08:22 +02:00
Joshua Chen
1156be3f20
refactor(content-{blog,docs}): unify handling of tags ( #7117 )
2022-04-07 15:58:21 +02:00
Joshua Chen
24c205a835
refactor: replace non-prop interface with type; allow plugin lifecycles to have sync type ( #7080 )
...
* refactor: replace non-prop interface with type; allow plugin lifecycles to have sync type
* fix
2022-03-31 19:16:07 +08:00
Joshua Chen
c81d21a641
refactor: minor type improvements ( #7035 )
2022-03-28 11:15:37 +08:00
Joshua Chen
2bcac29cd4
refactor(content-docs): deduplicate types, JSDoc for some APIs ( #7027 )
...
* refactor(content-docs): deduplicate types, JSDoc for some APIs
* little refactor
2022-03-27 12:57:15 +08:00
Sébastien Lorber
1b974e8b1b
refactor: split and cleanup theme/DocPage ( #7006 )
2022-03-25 19:58:28 +01:00
Sébastien Lorber
2964e6f65d
refactor: split DocSidebarItem by item type ( #7005 )
2022-03-25 18:59:31 +01:00
Joshua Chen
87592bca03
refactor: ensure all types are using index signature instead of Record ( #6995 )
...
* refactor: ensure all types are using index signature instead of Record
* kick CI
2022-03-25 18:06:30 +08:00
Sébastien Lorber
8a1421a938
feat(core,theme): useRouteContext + HtmlClassNameProvider ( #6933 )
...
Co-authored-by: Joshua Chen <sidachen2003@gmail.com>
2022-03-18 10:57:32 +01:00
Joshua Chen
d85cee576d
test: improve test coverage; properly test core client APIs ( #6905 )
...
* test: improve test coverage
* fix
2022-03-12 23:15:45 +08:00
Joshua Chen
0d14470d54
refactor: unify export directive style ( #6751 )
2022-02-24 17:25:17 +08:00
Joshua Chen
051380aa4b
fix(content-docs): properly display collocated social card image ( #6744 )
...
* fix(content-docs): properly display collocated social card image
* oops
2022-02-23 18:21:22 +08:00
Jody Heavener
3629b5ab39
feat(docs,theme-classic): docs breadcrumbs ( #6517 )
...
Co-authored-by: sebastienlorber <lorber.sebastien@gmail.com>
2022-02-16 19:02:58 +01:00
Joshua Chen
5db848f0e7
refactor: move module declarations for non-route components to theme-classic ( #6629 )
2022-02-07 20:17:41 +08:00
Joshua Chen
aa446b7a9c
chore: clean up ESLint config, enable a few rules ( #6514 )
...
* chore: clean up ESLint config, enable a few rules
* enable max-len for comments
* fix build
2022-01-31 10:31:24 +08:00
Joshua Chen
24a895fbc5
feat(content-docs): expose isCategoryIndex matcher to customize conventions ( #6451 )
...
Co-authored-by: sebastienlorber <lorber.sebastien@gmail.com>
2022-01-26 17:58:52 +01:00
Joshua Chen
cf265c051e
refactor: move exported type definitions to declaration file ( #6300 )
...
* refactor: move exported type definitions to declaration file
* fix
* fix
2022-01-09 22:02:31 +08:00
Sébastien Lorber
024f2bf49b
refactor: new @docusaurus/plugin-content-docs/client interface ( #6287 )
2022-01-07 17:04:21 +01:00
Minh Pham
eade41a702
feat(theme-classic): new navbar item linking to a sidebar ( #6139 )
...
Co-authored-by: Sébastien Lorber <slorber@users.noreply.github.com>
Co-authored-by: Joshua Chen <sidachen2003@gmail.com>
Co-authored-by: sebastienlorber <lorber.sebastien@gmail.com>
2022-01-06 11:52:25 +01:00
Joshua Chen
3cb99124de
feat(content-docs): allow SEO metadata for category index pages ( #6239 )
2022-01-06 11:31:01 +01:00
Sébastien Lorber
cfae5d0933
feat(content-docs): sidebar category linking to document or auto-generated index page ( #5830 )
...
Co-authored-by: Joshua Chen <sidachen2003@gmail.com>
Co-authored-by: Armano <armano2@users.noreply.github.com>
Co-authored-by: Alexey Pyltsyn <lex61rus@gmail.com>
2021-12-03 14:44:59 +01:00
Joshua Chen
0374426ce3
chore: upgrade TypeScript & other ESLint related deps ( #5963 )
...
* chore: upgrade ESLint related deps
* Upgrade TS
* Fix lock
* Bump Babel
* Update config
2021-11-18 21:15:37 +08:00
Joshua Chen
d1308a8736
refactor: improve setup of type declaration files ( #5914 )
2021-11-12 17:47:27 +01:00
Joshua Chen
8d92e9bcf5
refactor(content-docs): refactor sidebars, Joi validation, generator rework, expose config types ( #5678 )
2021-10-14 14:38:26 +02:00
Joshua Chen
eaacb0e98a
feat(theme-classic, plugin-docs): sidebar item level-specific className + allow customization ( #5642 )
...
* Initial work
* Complete function
* Avoid duplication
* More dedupe
* Make everything constants
* Change casing & docs
2021-10-07 16:59:02 +02:00
Joshua Chen
7f7b858cd4
refactor: make all Props defined as interface + readonly ( #5636 )
...
* Initial work
* Fix
2021-10-05 19:04:24 +02:00
Bharat Middha
09550b0535
feat: properly type-check the Docusaurus config of new sites ( #5589 )
...
* fix: makes types DocusaurusConfig optional to match docs
* add UserDocusaurusConfig with required keys for user config
* convert UserDocusaurusConfig to use util type
* Docusaurus website config should be type-checked by CI + fix all existing issues
* add doc for config typechecking
* Update template configs for TS autocompletion
* fix last config typechecking bugs
* reapply prettier
* reapply prettier-docs
* Fix TS doc: add missing ()
* fix some docu plugin types
* add "const config" for simpler jsdoc annotation
Co-authored-by: slorber <lorber.sebastien@gmail.com>
2021-09-30 17:49:44 +02:00
Joshua Chen
3f1f8255a2
chore: upgrade Prettier + regenerate lock file ( #5611 )
...
* Bump deps
* Run prettier
* Format docs
* Minor refactor
* Collapse objects
* Fix type
* Update lock file
2021-09-30 12:54:17 +02:00
Erick Zhao
c86dfbda61
feat(v2): allow specifying TOC max depth (themeConfig + frontMatter) ( #5578 )
...
* feat: add all TOC levels to MDX loader
* feat: add theme-level config for heading depth
* test: add remark MDX loader test
* fix: limit maxDepth validation to H2 - H6
* refactor: set default `maxDepth` using `joi`
* refactor: `maxDepth` -> `maxHeadingLevel
* refactor: invert underlying TOC depth API
* refactor: make TOC algorithm level-aware
* feat: add support for per-doc TOC heading levels
* feat: support document-level heading levels for blog
* fix: correct validation for toc level frontmatter
* fix: ensure TOC doesn't generate redundant DOM
* perf: simpler TOC heading search alg
* docs: document heading level props for `TOCInline`
* Update website/docs/guides/markdown-features/markdown-features-inline-toc.mdx
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
* docs: fix docs (again)
* create dedicated test file for heading searching logic: exhaustive tests will be simpler to write
* toc search: add real-world test
* fix test
* add dogfooding tests for toc min/max
* add test for min/max toc frontmatter
* reverse min/max order
* add theme minHeadingLevel + tests
* simpler TOC rendering logic
* simplify TOC implementation (temp, WIP)
* reverse unnatural order for minHeadingLevel/maxHeadingLevel
* add TOC dogfooding tests to all content plugins
* expose toc min/max heading level frontmatter to all 3 content plugins
* refactor blogLayout: accept toc ReactElement directly
* move toc utils to theme-common
* add tests for filterTOC
* create new generic TOCItems component
* useless css file copied
* fix toc highlighting className conflicts
* update doc
* fix types
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
Co-authored-by: slorber <lorber.sebastien@gmail.com>
2021-09-29 11:19:11 +02:00
Joshua Chen
78d84006bb
refactor(theme-classic): completely migrate package to TypeScript ( #5459 )
...
* Migrate
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Migrate prism as well
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Fix
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Fix lock file
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Fix typing
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* refactor a bit CodeBlock
* simplify versionBanner typing => use null instead of "none" (apart plugin options for retrocompatibility)
* Remove return signatures
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
Co-authored-by: slorber <lorber.sebastien@gmail.com>
2021-09-01 14:34:26 +02:00
Sébastien Lorber
553f914639
feat: TypeScript presets/plugins should expose Options typing ( #5456 )
...
* each TS plugin should export option types + preset export option / themeConfig types + remove TS typechecking for the bootstrap theme
* each TS plugin should export option types + preset export option / themeConfig types + remove TS typechecking for the bootstrap theme
* fix remaining TS errors
* fix remaining TS errors
* TS fix
* Add JSDoc type annotations to init templates and TS docs
* missing title char
2021-09-01 12:14:40 +02:00
Sébastien Lorber
42e70e6d42
feat: new docs options: versions.{badge,className} ( #5454 )
...
* docs: add versions.{badge,className} options
* remove badge option test
2021-08-31 15:40:37 +02:00
Joshua Chen
df3752cc71
fix: fix a few TS errors ( #5437 )
...
* fix errors
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Fix website
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Revert adding lib
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Fix tsconfig
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Restore previous ordering
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* exclude sw.js from typechecking
* Tests: include typechecking of website
* cleanup @site/ alias in TS config
Co-authored-by: slorber <lorber.sebastien@gmail.com>
2021-08-30 13:06:00 +02:00
John Reilly
08597045ed
feat: add metatags support for seo / blogposts #5373 ( #5375 )
...
* feat: add metatags support for seo / blogposts
* feat: different implementation
* feat: use isBlogPostPage
* feat: implement in BlogPostPage-remove Seo changes
* Revert "feat: implement in BlogPostPage-remove Seo changes"
This reverts commit 1cba459b
* Move Seo to BlogPostPage + some fixes
* fix social preview asset
* Fix blog social image + improve a bit Seo setup
* fix bootstrap theme
Co-authored-by: John <john.reilly@investec.co.uk>
Co-authored-by: slorber <lorber.sebastien@gmail.com>
2021-08-20 16:36:18 +02:00
Isaac Philip
f9c79cbd58
feat: doc tags (same as blog tags) ( #3646 )
...
* [v2] tags to doc, same as tags to blog - [IN PROGRESS]
- Addition of plugin-content-docs
- Addition of DocTagsListPage in `docusaurus-theme-classic`
! Error exists for this commit towards the theme aspect and help required.
Commit towards #3434
* docs: make tags list page work
* temp: disable onBrokenLinks
* theme bootstrap: create DocTagsListPage
* DocTagsPage added and functionality too
- individual doc tag page added to show docs for that specific tag
* Added all Docs Tags Link
* add some shared tag utils
* move tag tests to _dogfooding
* fix type
* fix some tests
* fix blog test
* refactor blog post tags handling
* better yaml tag examples
* better dogfood md files
* refactor and factorize theme tag components
* finish DocTagDocListPage
* Extract DocItemFooter + add inline tag list
* minor fix
* better typings
* fix versions.test.ts tests
* add tests for doc tags
* fix tests
* test toTagDocListProp
* move shared theme code to tagUtils
* Add new theme translation keys
* move common theme code to tagUtils + add tests
* update-code-translations should handle theme-common
* update french translation
* revert add translation
* fix pluralization problem in theme.docs.tagDocListPageTitle
* add theme component configuration options
* add more tags tests
* add documentation for docs tagging
Co-authored-by: slorber <lorber.sebastien@gmail.com>
2021-08-19 10:31:15 +02:00
Joshua Chen
ee6ebc4877
refactor: better typing + remove unnecessary eslint-disable ( #5335 )
...
* Initial work
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Fix a few errors
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Restore default value
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Update docs
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Use custom route config
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Address a few suggestions
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Revert logo change
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Restore key
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Oops
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Remove use of any
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Remove eslint-disable
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Put type reference back
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Remove
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
2021-08-11 16:07:17 +02:00
Joshua Chen
0a668366c2
refactor: properly type docs version ( #5284 )
...
* Type docs version
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Move non-null assertions
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Test again
2021-08-05 10:52:35 +02:00
Joshua Chen
650f989dbb
fix: fix various TS errors ( #5261 )
...
* Fix import errors
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Oops
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Mark contentLoaded async
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
2021-08-02 11:02:43 +02:00
Joshua Chen
24156efcfb
feat: docs plugin options sidebarCollapsible + sidebarCollapsed ( #5203 )
...
* Add prop
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Add `collapsible` option to sidebar item
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Add eslint-ignore
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Move new page
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Allow in autogenerated
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Fix tests
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Move config options to plugin-docs
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Make non-collapsible items always expanded
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* docs versioning cli should receive a single options object
* Update cli.test.ts
* revert validateCategoryMetadataFile change
* remove theme usage of themeConfig.sidebarCollapsible
* better handling of sidebar item category inconsistencies + add warning message
* Update snapshot
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Handle plugin option inconsistencies
* improve doc for new sidebarCollapsible doc options
* remove warning in fixSidebarItemInconsistencies as it will be annoyed for versioned sites, as "collapsed" is already persisted in sidebar json files
Co-authored-by: slorber <lorber.sebastien@gmail.com>
2021-07-23 14:24:36 +02:00
Joshua Chen
007e901354
feat(v2): allow any type of NavbarItem
to be passed in a navbar dropdown ( #5072 )
...
* Initial work
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* More elegant `eslint-disable`
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Fix typing
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Allow doc links in dropdown
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Allow more dropdowns to use linklike items
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Finalize
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Dogfood
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Disallow nested dropdowns
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Better typing
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Complete type fix
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Use flatmap
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Patch
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Test
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Try fix
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Style change
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Revert (to test)
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Hmmm
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* I know what's wrong
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Does this work?
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Nope
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Wrong class name
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Pass prop to render dropdown item differently
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* This looks better
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Tests passed
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Separate dropdown from default
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Pourquois?
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Better prop typing
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Make code simpler
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* There's some extra className
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Test
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* More test
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* A-ha!
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Test again?
* Add backward compatibility
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Incorporate my type fix
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Resolve conflict
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* minor refactor
* minor refactors
* allow usage of ES2019 in browser code
* revert NavLink rename
Co-authored-by: slorber <lorber.sebastien@gmail.com>
2021-07-14 18:19:08 +02:00
Alexey Pyltsyn
9536ef900d
feat(v2): redesign mobile UX: inline TOC + doc sidebar in main menu ( #4273 )
...
* feat(v2): mobile TOC
* Bug fixes and various improvements
* Redesign
* extract TOCCollapsible component
* TS improvements
* Assign sidebar name directly to the doc route => no need for either permalinkToSidebar or GlobalData
* revert changes to useWindowSize, fix FOUC issues
* extract DocSidebarDesktop component
* remove now useless menu infima classes
* TOCHeadings => rename + remove unused onClick prop
* Extract DocSidebarItem
* minor renaming
* replace GlobalData usage by a React teleport system to render in the navbar mobile sidebar menu directly from the DocPage component
* useWindowSize => simulate SSR size in dev to make FOUC issues more obvious
* fix remaining sidebar layout shift
* update docs snapshots
* remove unused code translations
* remove unused code translations
* fix minor update-code-translations bug
* Add more build-size paths to watch
* Restyle back button
* Add missing`menu` class
* extract useShallowMemoizedObject
* fix routes tests + better routes formatting
* use Translate api for labels
* use Translate api for labels
* Update translations
* Improve dark mode support for back button
* Merge branch 'master' into lex111/inline-color-code
# Conflicts:
# packages/core/dist/css/default-dark/default-dark-rtl.min.css
# packages/core/dist/css/default-dark/default-dark.min.css
# packages/core/dist/css/default/default-rtl.min.css
# packages/core/dist/css/default/default.min.css
* replace useCollapse by new useCollapsible
* Cleanup and use clean-btn for TOCCollapsible button
* Make TOC links clickable over full width
* Cleanup
* fix uncollapsible sidebar that can be collapsed + create <Collapsible> component
* dependency array typo
* rollback sidebars community commit typo
Co-authored-by: slorber <lorber.sebastien@gmail.com>
2021-07-09 16:50:38 +02:00
Sébastien Lorber
364051f232
feat(v2): docs version banner configuration option ( #5052 )
...
* refactor DocVersionBanner => versionMetadata prop should be forwarded instead of using "useActiveVersion" + global data
* docs version banner configuration
* add doc for versions.banner
* fix tests
* improve docs plugin option api doc
2021-06-24 18:04:16 +02:00
Sébastien Lorber
aa176274be
fix(v2): navbar doc item should allow older versions to not contain the target doc, as long as the lastVersion contains it ( #4985 )
2021-06-16 13:18:53 +02:00
Sébastien Lorber
57806798c5
fix(v2): fix contentTitle issues when markdown h1 title contains code blocks ( #4882 )
...
* attempt to fix contentTitle issues when markdown h1 title contains inline code blocks
* mention hide_title frontmatter only prevents frontmatter.title from being added in the dom (not a markdown # title in content)
* alwayss insert MainHeading under the div.markdown container for consistency
* ensure MainHeading has no useless id
* revert https://github.com/facebook/docusaurus/pull/4859 as it's now useless: docMeta.title contains the text/frontmatter title in priority over the contentTitle
* fix docs test after revert
* improve markdownParser and fix tests
* fix docs tests
* markdownParser: restore option to remove contentTitle (mostly for blog plugin)
* use removeContentTitle for blog
2021-06-03 17:45:19 +02:00
Armano
15107ee099
refactor(v2): correct client types and type aliases ( #4451 )
2021-03-19 11:32:38 +01:00
Sam Zhou
5e73c72f26
chore(v2): Fix linter warnings ( #4442 )
...
* chore(v2): Fix linter warnings
223 warnings to 145 warnings
* Remove explicit type annotations
* Do not prefetch when targetLink == null
2021-03-17 17:28:42 +01:00
Alexey Pyltsyn
6be0bd41b0
refactor(v2): format last updated date using Intl ( #4352 )
2021-03-05 15:30:09 +01:00