* 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
* feat(v2): notify users when docusaurus version is outdated
* style(v2): add comments
* fix(v2): fix spacing in message
* feat(v2): make update notifier work on first run
* Add some default asset loaders
Add webpack merge strategy feature to enable plugins to prepend some webpack configuration (like the ideal image plugin that should override the default image loader)
* Add documentation for using assets from markdown
* add path prefix for webpack file loader
* renaming
* document Merge strategies
* rename mergeStrategies -> mergeStrategy
* chore(v2): Add E2E test for yarn v2
* Remove root node_modules to prevent them from accessible in e2e test
The purpose of e2e test is to ensure that the docusaurus inited website can stand on its own. The root node_modules remain accessible according to how node resolution works and it might interfere with the test. Remove them for safety.
* Add @mdx-js/react to docusaurus init templates
* feat(v2): prompt user when default port is in use
* chore(v2): fixed eslint error
* fix(v2): removed portfinder from package
* fix(v2): removed irrelevant cra specific feature
* fix(v2): isolates feature and credits cra
* feat(v2): use relative routes path in postBuild hook
* feat(v2): use relativeRoutesPath in other methods and modify tests
* fix(v2): fix D2 client redirects and tests
* feat(v2): add tests for relativeRoutesPaths
* fix(v2): fix some typos in configValidation
* fix(v2): fix an eslint warning and restart github action
* refactor(v2): create a removePrefix method
* refactor(v2): inline unnecessary method
* use joi for validation
* fix theme validation
* add test for required fields
* format errors
* a little better format errors
* fix config file
* try to rerun action
* feat(v2): Support swizzling TypeScript components
* Add tsc --noEmit to tsc script in theme-classic
Now everything can pass the type checker! (although still a lot of any)
* Add tsconfig and types.d.ts to website
Improve developer experience.
As an example, I converted NotFound to tsx
* Apply type annotation suggestions
* Do not fallback to `getThemePath` if getTypeScriptThemePath is undefined
* Fix tsc
* Add module declaration for @theme-original/*
* Move babel cli to root package.json
* 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
* better fixes for docs homepage
* fix tests
* create special route for docs homepage + cleanup existing code
* no need to create multiple docs parent paths
* useful comment
* add test for slug + doc home usage at the same time error
* remove confusing variable name
* fix tests by using same suffix as before for docs base metadata path
* metadata: use homePageId correctly for nested docs: the full docId (including /) should be used to compare against homePageId
* add folder/testNested test doc
* refactor a bit processMetadata, the home should be handled correctly for all versions
* Workaround to fix issue when parent layout route (DocPage) has same path as the child route (DocItem): see https://github.com/facebook/docusaurus/issues/2917
* revert homePageId
* remove test doc
* remove test doc
* add useful comment
* 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
* feat(v2): add metadata to indicate the document is old
* feat(v2): add badge that links old versions to latest version
* feat(v2): fix test related to metadata
* feat(v2): fix formatting
* feat(v2): fix formatting
* feat(v2): use Link component instead of anchor tag
* feat(v2): add pramlink to latest docs
* feat(v2): add more vibrant warning message
* feat(v2): position the banner above the article
* feat(v2): link latest version to intro page
* fix(v2): fix some test cases
* feat(v2): fix tests
* feat(v2): change banner to warning orange
* feat(v2): compute root route from sidebar
* style(v2): fix formatting
* feat(v2): use homeid if provided to compute base route
* feat(v2): rename functions and fix a corner case
* feat(v2): fix formating
* feat(v2): compute homepageurl
* style(v2): improve code quality
* style(v2): unbold fullstop for consistency
Co-authored-by: Anshul Goyal <anshulgoel151999@gmail.com>