* 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>
* On back, close mobile navbar sidebar
* more reliable code to block history pop events
* android backbutton: just close the drawer without cancellin the backward navigation
* [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>
* Details component
* polish arrow animation
* fix text selection bug
* fix some edge cases + polish
* example of overriding baseClassName
* Move Details component to theme-common
* make component work even when JS is disabled or failed to load
* update arrow transform
* Details component: better handling of no-JS fallback mode: avoid delaying arrow navigation when JS (see review)
* prefix css vars with --docusaurus
* improve css arrow styling
* slightly change details/summary design
* better md doc + include quotes and details in doc
* 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>
* fix(v2): avoid slowdown transition with huge sidebar items
* move useCollapsible to theme-common
* @docusaurus/theme-classic => watch mode should include type-checking
* refactor useCollapsible => encapsulate more behavior / state / ref inside it, making code simpler for component using it
* useCollapseAnimation => animate DOM properties directly instead of using React inline styles => optimize perf from 4 render per click to 1 render per click
* add missing items in deps array
* rename ref to collapsibleRef
* lint
Co-authored-by: slorber <lorber.sebastien@gmail.com>
* chore: add theme classnames for blog pages
* fix: component syntax error in blog pages
* style: fix camelcase issue with theme class names
* chore: add theme classnames for doc page and mdx page
* chore: make wrapper classnames in blog and doc page into constants
* chore: add main wrapper theme class name for layout component
* fix: change wrong theme classnames and improve naming
* chore: add wrapper theme class name for mdx page
* docs: add docs for theme class names
* docs: use raw-loader to import documentation and add some comments
* docs: provide more detail to comment
* chore: rename ThemeClassname.ts to ThemeClassName.ts
Co-authored-by: Lisa Chandra <52909743+lisa761@users.noreply.github.com>
Co-authored-by: Javid <singularity.javid@gmail.com>
* feat: lazy match classic theme code block title
* feat: allow single quotes for classic theme code block title
* refactor(v2): extract parseCodeBlockTitle function
extract `parseCodeBlockTitle` function to add tests for title parsing
* test(v2): add tests for parseCodeBlockTitle
* move code block title parser to theme-common
Co-authored-by: slorber <lorber.sebastien@gmail.com>
* Pluralization test!
* Simplify usePluralForm usage with | plural message separator
* fix interpolate bug with falsy values like 0
* fix interpolate bug with falsy values like 0
* Order plural forms + allow to not provide the last plural forms if they are not used
* fix typo
* revert test!
* plurals and typo of the SearchPage
* update some labels
* improve the update-code-translations cli + update translations
* pluralize blog reading time label
* ensure base.json contains message descriptions: helps the user to provide the translations
* remove russian production locale
* fix comment
* allow to pass custom classname in navbar items
* Add IconLanguage comp to dropdown
* do not trim htmlLang
* Add initial hreflang SEO support
* doc hreflang
* 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
* create base @docusaurus/theme-common package + fix Webpack client export aliases issue shadowing other theme-common package
* Move theme-classic/src/utils code to new @docusaurus/theme-common package
* add prettierignore
* fix bad test location for getDocusaurusAliases()