* [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>
* create a swizzleWarning partial for shared text
* Generalize usage of _ prefix convention to exclude content files/folders
* add api doc
* MDX loader should not expect metadata/frontmatter on MDX partial files
* 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>
In some cases, negative sidebar positions can be useful for reversing
the sorting order with minimal maintenance overhead. For example, a docs
folder with changelogs for historical versions should be sorted in
reverse chronological order. This is easy to do for semantic version
numbers by converting them into a negative numerical representation,
e.g. 11.5.1 -> -110501.
The alternative is to make the first version start with a large position
number (e.g. 9999) and decrement it for each version. However, this
requires referring to older versions to get the current sequence number,
thus increasing maintenance overhead. It also makes the number less
intuitive and more prone to error.
Negative sidebar positions work great for this purpose, so make the
front matter validator allow them again as #4796 broke this use case.
* 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
* sidebar_label should be used to compute next/previous button texts, as documented.
* improve docs frontmatter doc
* use a little bit of destructuring
* 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
* Improve sidebar config
* Edit message
* fix some little issues in the way undefined/false sidebars are handled
* remove old error message as it has been moved to a better place
Co-authored-by: Nam Hoang Le <nam.hoang.le@mgm-tp.com>
Co-authored-by: slorber <lorber.sebastien@gmail.com>
* Initial webpack 5 work
* It works on my machine (lol)
* Committing a bit more work
* It works - sorta
* Update packages/docusaurus/package.json
* at least fix prettier /shrug
* making more progress. build should work now, css stuff is still a bit broken
* Terser things
Signed-off-by: Reece Dunham <me@rdil.rocks>
* Working on things
* Vendor webpack
* Repair chunks, and tests
* Rerun prettier
* Re-add client prefetching
* Update snapshots
* Update snapshots
* I hope this works
* Remove redundant dev server code
* relock
* Trying to reduce memory usage and fix things
* Dead code elim
* Search bar works!!!
* Prefetching should work again
* lock
* ts issue
* Repair snapshot
* Run prettier
* Fix the CI for now
* fix lint-prettier
* clean-css works, now for the other one
* Fix lockfile
* Fixes prettier
* Other css minification works!!!
* Add clean-css options, fix webpack versions
Signed-off-by: Reece Dunham <me@rdil.rocks>
* Fix tests and several of the webpack loaders
Signed-off-by: Reece Dunham <me@rdil.rocks>
* Re-add support for simple css minifier
* Update other related dependencies
* Fix lockfile
* Dev server fixups
Signed-off-by: Reece Dunham <me@rdil.rocks>
* Simplify css things
* Update webpack, try with postcss 7
* Other cssnano repairs
* fix lockfile
* Clean up the babel preset
* Fix lockfile
* Bump RL SSR version
* Fix the build errors
* Lockfile fix
* It works again
* webpack 5 should close compiler after run
* add proper webpack5 persistent caching config
* upgrade webpack deps again
* reduce build perf timeouts to avoid build time regressions
* test if incremental build can run on netlify
* netlify test
* netlify test
* netlify test
* netlify test
* netlify test
* netlify test
* netlify test
* netlify test
* netlify test
* netlify test
* netlify test
* netlify test
* netlify test
* netlify test
* netlify test
* test
* test
* test
* test
* netlify test
* netlify test
* netlify test
* netlify test
* netlify test
* netlify test
* netlify test
* netlify test
* netlify test
* netlify test
* fix existsSync() calls
* replace @ts-nocheck by a temporary Webpack type
* replace @ts-nocheck by a temporary Webpack type
* replace @ts-nocheck by a temporary Webpack type
* migrate existing stats.warningsFilter to config.ignoreWarnings
* remove stats from postBuild lifecycle data doc, as it is likely unused (we'll add it back if someone ask for it)
* improve build.ts TS issues + move some sync code to async
* cleanup TS of start.ts
* fix TS error
* fix TS issues
* fix TS issues
* fix ts error
* netlify test
* netlify test
* netlify test
* netlify test
* netlify test
* script cleanup
* script cleanup
* re-enable @typescript-eslint/ban-ts-comment
* Deprecate getCacheLoader / getBabelLoader but keep retrocompatibility
* useless TS
* fix and comment gca(chunkName) prefetching function
* remove deprecated mainTemplate.requireFn
* temporarily use react-loadable-ssr-addon-v5-slorber until PR merged: https://github.com/facebook/docusaurus/pull/4089
* comment unsafeCache option
* add explicit and more precise webpack targets
* splitChunks, use new type: "css/mini-extract" as it seems recommended for webpack 5
* webpack error handling:
- log error.details as documented
- keep using react-dev-utils/formatWebpackMessages for now
* fix webpack5 warnings for evalSourceMapMiddleware.js
* typo
* rename webpackHotDevClient
* make all modifications of react-dev-utils explicit with a comment
* revert LogPlugin adapter
* loader-utils update
* add useful share cache comment
* add useful comments regarding the null-loader used in SSR for css files
* upgrade webpack-merge in a retrocompatible way
* use MiniCssExtractPlugin.emit false as recommended
* use @docusaurus/responsive-loader
* revert MiniCssExtractPlugin esModule: false change
* add link to PR for custom CleanWebpackPlugin
* pwa: add fallback to env variable or webpack 5 fails to build
* upgrade to CssMinimizerPlugin 2.0
* only build en locale for windows tests
* line breaks between errors
* add useful comment
* Fix e2e tests with Yarn2 not finding new init template dependencies
* fix bad import
* disable browserslist target as webpack already tries to use browserlists if a config is found, and it is a problem for existing sites
* webpack5 TS fixes
* fix getMinimizer order (even if it does not work yet)
* update postcss to v8, fix cssnano minimizer errors
* add NavbarItem position to types (useful for QuestDB site upgrade to Webpack5)
* add webpack cache env variable to reduce risk of webpack 5 adoption
Co-authored-by: slorber <lorber.sebastien@gmail.com>
* parseMarkdownContentTitle should ignore {#my-anchor-id} syntax
* use frontMatter.title in priority for page meta title
* parseMarkdownString should ignore fixed anchor ids syntax
* docs: make the distinction between headingTitle + metaTitle more clear + add useful todo
* docs: make the distinction between headingTitle + metaTitle more clear + add useful todo
* writeHeadingIds should ignore top-level md title like "# Title"
=> we are not supposed to create anchor links for h1 headers
* update tests
* fix doc tests
* make number prefix parsing logic configurable
* Make numberPrefixParser configurable + rename frontmatter + avoid parsing date/version patterns by default
* add more tests
* more test cases
* POC of autogenerated sidebars
* use combine-promises utility lib
* autogenerated sidebar poc working
* Revert "autogenerated sidebar poc working"
This reverts commit c81da980
* POC of auto-generated sidebars for community docs
* update tests
* add initial test suite for autogenerated sidebars + fix some edge cases
* Improve autogen sidebars: strip more number prefixes in folder breadcrumb + slugs
* fix typo!
* Add tests for partially generated sidebars + fix edge cases + extract sidebar generation code
* Ability to read category metadatas file from a file in the category
* fix tests
* change position of API
* ability to extract number prefix
* stable system to enable position frontmatter
* fix tests for autogen sidebar position
* renamings
* restore community sidebars
* rename frontmatter position -> sidebar_position
* make sidebarItemsGenerator fn configurable
* minor changes
* rename dirPath => dirName
* Make the init template use autogenerated sidebars
* fix options
* fix docusaurus site: remove test docs
* add _category_ file to docs pathsToWatch
* add _category_ file to docs pathsToWatch
* tutorial: use sidebar_position instead of file number prefixes
* Adapt Docusaurus tutorial for autogenerated sidebars
* remove slug: /
* polish the homepage template
* rename _category_ sidebar_position to just "position"
* test for custom sidebarItemsGenerator fn
* fix category metadata + add link to report tutorial issues
* fix absolute path breaking tests
* fix absolute path breaking tests
* Add test for floating number sidebar_position
* add sidebarItemsGenerator unit tests
* add processSidebars unit tests
* Fix init template broken links
* windows test
* increase code translations test timeout
* cleanup mockCategoryMetadataFiles after windows test fixed
* update init template positions
* fix windows tests
* fix comment
* Add autogenerated sidebar items documentation + rewrite the full sidebars page doc
* add useful comment
* fix code block title
* extract createExcerpt code in separate file + add bad test
* almost working markdown parsing refactor
* complete parseMarkdownString refactor
* fix tests
* fix blog test issue
* fix docusaurus utils imports
* feat(v2): read first heading as title and pass it to front-matter
* fix(v2): always trim content after extracting front-matter
* fix(v2): remove heading from rss and keep duplicate heading
* fix(v2): rollback some unnecessary comment changes
* test(v2): add unit tests to blog
* test(v2): add unit tests to docs
* test(v2): correct issue on windows
* test(v2): add additional test cases
* refactor(v2): merge linkify function used in blog and docs
* refactor(v2): rename docsDirPath and docsDirPathLocalized ad update types
* refactor(v2): rename blogPostsBySource and update types
* improve replaceMarkdownLinks api
Co-authored-by: slorber <lorber.sebastien@gmail.com>
* chore(v2): upgrade dependencies
* Set minimum Node.js version to 12.13
* Fix test
* Upgrade copy-text-to-clipboard
* Bump Node versions
* Update .nvmrc
* mark cacheTime as forbidded field
* Downgrade jest to v25.2.7
* Increase Node version for Windows CI
* Test fix
* Attempt to fix Windows CI
* Downgrade execa
* fix async test errors
* Upgrade execa
Co-authored-by: slorber <lorber.sebastien@gmail.com>
* EditUrl function
* normalize blog/docs regarding the editUrl feature + editUrl function
* editUrl fn => always inject posix style relative paths, make tests more reliable
(see also https://github.com/facebook/docusaurus/issues/4124)
* fix editUrl on windows
* test(v2): Fix docusaurus-utils tests for windows
* test(v2): Fix plugin-client-redirects test
- add the posixPath in writeRedirectsFiles.ts
* test(v2): Fix plugin-content-pages test
add posixPath in test and index
* test(v2): add window test configuration
- add the window test configuration in nodejs-windows.yml
* test(v2): revert plugin-content-pages test fix
* test(v2): Fix mdx-loader/transformImage test
* test(v2): add cleanPath in transformImage test
* fix version path tests for windows
* make versionMetadata test work on Windows
* try to fix posix/win32 path issues
* attempt to fix windows test
* try to make source alias less win32 sensitive
* try to make source alias less win32 sensitive
* try to make source alias less win32 sensitive
* try to make source alias less win32 sensitive
* try to make source alias less win32 sensitive
* try to make source alias less win32 sensitive
* specific jest config for windows
* attempt to fix windows testing issue
* attempt to fix windows testing issue
* attempt to fix windows testing issue
* attempt to fix windows testing issue
* attempt to fix windows testing issue
* attempt to fix windows testing issue
* attempt to fix windows testing issue
* remove bad cleanPath fn
* try to fix windows tests
* try to fix windows tests
* blog: try to fix windows tests by using same logic as on docs plugin
* try to fix windows tests
* try to fix windows tests
* try to fix windows tests
* try to fix windows tests
* improve the Github CI setup for windows: make jobs run in parallel
* revert GH action change
Co-authored-by: Sachin Kumar Rajput <skr571999@gmail.com>
* fix(v2): remove unnecessary backtick in output
The escaped backtick seems to be present for no clear reason.
As a matter of fact, it seems to be cluttering the output.
So, remove the unnecessary backtick in the output.
* update snapshot
Co-authored-by: slorber <lorber.sebastien@gmail.com>
* docs i18n initial poc
* docs i18n initial poc
* docs i18n initial poc
* docs i18n initial poc
* crowdin-v2 attempt
* fix source
* use crowdin env variable
* try to install crowdin on netlify
* try to install crowdin on netlify
* try to use crowdin jar directly
* try to curl the crowdin jar
* add java version cmd
* try to run crowdin jar in netlify
* fix translatedDocsDirPath
* fix loadContext issue due to site baseUrl not being modified in generted config file
* real validateLocalesFile
* add locale option to deploy command
* better LocalizationFile type
* create util getPluginI18nPath
* better core localization context loading code
* More explicit VersionMetadata type for localized docs folders
* Ability to translate blog posts with Crowdin!
* blog: refactor markdown loader + report broken links + try to get linkify working better
* upgrade crowdin config to upload all docs folder files except source code related files
* try to support translated pages
* make markdown pages translation work
* add write-translations cli command template
* fix site not reloaded with correct options
* refactor a bit the read/write of @generated/i18n.json file
* Add <Translate> + translate() API + use it on the docusaurus homepage
* watch locale translation dir
* early POC of adding babel parsing for translation extraction
* fs.stat => pathExists
* add install:fast script
* TSC: noUnusedLocals false as it's already checked by eslint
* POC of extracting translations from source code
* minor typo
* fix extracted key to code
* initial docs extracted translations
* stable plugin translations POC
* add crowdin commands
* quickfix for i18n deployment
* POC of themeConfig translation
* add ability to have localized site without path prefix
* sidebar typo
* refactor translation system to output multiple translation files
* translate properly the docs plugin
* improve theme classic translation
* rework translation extractor to handle new Chrome I18n JSON format (include id/description)
* writeTranslations: allow to pass locales cli arg
* fix ThemeConfig TS issues
* fix localizePath errors
* temporary add write-translations to netlify deploy preview
* complete example of french translated folder
* update fr folder
* remove all translations from repo
* minor translation refactors
* fix all docs-related tests
* fix blog feed tests
* fix last blog tests
* refactor i18n context a bit, extract codeTranslations in an extra generated file
* improve @generated/i18n type
* fix some i18n todos
* minor refactor
* fix logo typing issue after merge
* move i18n.json to siteConfig instead
* try to fix windows CI build
* fix config test
* attempt to fix windows non-posix path
* increase v1 minify css jest timeout due to flaky test
* proper support for localizePath on windows
* remove non-functional install:fast
* docs, fix docsDirPathLocalized
* fix Docs i18n / md linkify issues
* ensure theme-classic swizzling will use "nextjs" sources (transpiled less aggressively, to make them human readable)
* fix some snapshots
* improve themeConfig translation code
* refactor a bit getPluginI18nPath
* readTranslationFileContent => ensure files are valid, fail fast
* fix versions tests
* add extractSourceCodeAstTranslations comments/resource links
* ignore eslint: packages/docusaurus-theme-classic/lib-next/
* fix windows CI with cross-env
* crowdin ignore .DS_Store
* improve writeTranslations + add exhaustive tests for translations.ts
* remove typo
* Wire currentLocale to algolia search
* improve i18n locale error
* Add tests for translationsExtractor.ts
* better code translation extraction regarding statically evaluable code
* fix typo
* fix typo
* improve theme-classic transpilation
* refactor + add i18n tests
* typo
* test new utils
* add missing snapshots
* fix snapshot
* blog onBrokenMarkdownLink
* add sidebars tests
* theme-classic index should now use ES modules
* tests for theme-classic translations
* useless comment
* add more translation tests
* simplify/cleanup writeTranslations
* try to fix Netlify fr deployment
* blog: test translated md is used during feed generation
* blog: better i18n tests regarding editUrl + md translation application
* more i18n tests for docs plugin
* more i18n tests for docs plugin
* Add tests for pages i18n
* polish docusaurus build i18n logs
* POC of contextual search dynamic filters
* fix useSearchTags bugs
* contextual search should use preferred version (persisted in storage)
* Contextual search: make system decoupled from algolia + wire proper meta tags and facet filters
* rework doc tag + minor refactorings
* update snapshots
* polish contextual search
* add Algolia validateThemeConfig tests