* [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>
* POC of blog post folder
* add parseBlogFileName with tests + refactor and extract processBlogSourceFile in separate method
* improve blog date pattern doc + link from content plugin guides to API ref docs
* Some FrontMatter fields should be able to reference relative image assets, converted to Webpack require calls and exposed as frontMatterAssets
* remove log
* Add _ to dogfood docs folder to cover against edge case
* Fix edge case with MDX partials when site / content dir contains a _ prefix
* add globUtils tests
* proper dogfooding folder re-organization, all content plugins being used
* refactor dogfooding folder + expose /tests page index
* fix page plugin ignoring options.routeBasePath
* 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
* 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
* 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>
* 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>
* 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>
* 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
* stable createData namespacing + second-blog dogfooding
* Docs: support multi-instance + make community docs a separate instance
* tests: add 2nd docs instance to versioned site
* fix docs version cli tests
* fix docs versioning cli
* typo
* team: add link to my site
* better extendCli integration
* fix metadata tests
* tests for versioned site with second docs instance
* move some validation code to utils-validation
* fix missing dependency
* fix bad compiled output due to importing constants in ./client folder
* make docs tests easier to maintain
* refactors
* prevent lodash imports in client bundle
* redirect old community docs to new urls
* doc components initial simplification
* doc components initial simplification
* add docContext test
* Add poc of global data system + use it in the theme
* Revert "doc components initial simplification"
This reverts commit f657b4c4
* revert useless changes
* avoid loosing context on docs switch
* fix docs tests
* fix @generated/globalData ts declaration / es import
* typo
* revert bad commit
* refactor navbar in multiple parts + add navbar item types validation + try to fix remaining merge bugs
* add missing watch mode for plugin debug
* fix docs global data integration, move related hooks to docs plugin + convert to TS
* change versions link label
* fix activeClassName react warning
* improve docs global data system + contextual navbar dropdown
* fix bug preventing the deployment
* refactor the global data system to namespace automatically by plugin name + plugin id
* proper NavbarItem comp
* fix tests
* fix snapshot
* extract theme config schema in separate file + rename navbar links to navbar items
* minor typos
* polish docs components/api
* polish useDocs api surface
* fix the docs version suggestions comp + data
* refactors + add docsClientUtils unit tests
* Add documentation
* typo
* Add check for duplicate plugin ids detection
* multi-instance: createData plugin data should be namespaced by plugin instance id
* remove attempt for multi-instance support
* add validation for blog plugin
* fix wrong default component
* fix test and add yup to package.json
* remove console.log
* add validation for classic theme and code block theme
* add yup to packages
* remove console.log
* fix build
* fix logo required
* replaced yup with joi
* fix test
* remove hapi from docusuars core
* replace joi with @hapi/joi
* fix eslint
* fix remark plugin type
* change remark plugin validation to match documentation
* move schema to it's own file
* allow unknown only on outer theme object
* fix type for schema type
* fix yarn.lock
* support both commonjs and ES modules
* add docs for new lifecycle method
* perf(v2): convert synchronous filewrite to asynchronous in feed file generate
This looks like should return a Promise list , other than a sync io operation
* perf(v2): convert synchronous filewrite to asynchronous in sitemap generate
* perf(v2): convert Promise style to async/await style
for consistency
* fix(v2): use remark-admonitions separately in each plugin instead of in preset only
* Update types.d.ts
* Update types.d.ts
* Address fixes from review
Co-authored-by: Yangshun Tay <tay.yang.shun@gmail.com>