From 82cc98dacce9e97a07ee2e4acf333d57e66323e0 Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Fri, 20 Oct 2023 17:17:34 +0200 Subject: [PATCH 01/41] blog post init + social card --- website/blog/releases/3.0/img/social-card.png | Bin 0 -> 191455 bytes website/blog/releases/3.0/index.mdx | 14 ++++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 website/blog/releases/3.0/img/social-card.png create mode 100644 website/blog/releases/3.0/index.mdx diff --git a/website/blog/releases/3.0/img/social-card.png b/website/blog/releases/3.0/img/social-card.png new file mode 100644 index 0000000000000000000000000000000000000000..7294d62f68f6ba963ff933573b220ec246ab4ce1 GIT binary patch literal 191455 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%0D!e-qOmvJ|N6L38kZuPx!{_<2W@n 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 YKjYluZ8P?tm;e9(07*qoM6N<$g62{M1ONa4 literal 0 HcmV?d00001 diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx new file mode 100644 index 000000000000..0d1165a0851d --- /dev/null +++ b/website/blog/releases/3.0/index.mdx @@ -0,0 +1,14 @@ +--- +title: Announcing Docusaurus 3.0 +authors: + - slorber +tags: [release] +image: ./img/social-card.png +date: 2023-10-25 +--- + +Today we are extremely happy to finally **announce Docusaurus 2.0**! 🥳️ + +![v3.0 social-card image](./img/social-card.png) + +{/* truncate */} From ec4140b7a48de38ca83346c98a3f982d8e2ee34f Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Fri, 20 Oct 2023 18:27:30 +0200 Subject: [PATCH 02/41] v3 blog --- website/blog/releases/3.0/index.mdx | 82 ++++++++++++++++++++++++++++- 1 file changed, 81 insertions(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 0d1165a0851d..3309b3c3520a 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -7,8 +7,88 @@ image: ./img/social-card.png date: 2023-10-25 --- -Today we are extremely happy to finally **announce Docusaurus 2.0**! 🥳️ +Today we are extremely happy to finally **announce Docusaurus 3.0**! 🥳 + +This is a new **major version** of Docusaurus, coming with **new exciting features** and upgraded dependencies. + +We respect [**Semantic Versioning**](https://semver.org/) and this release also includes **breaking changes** that we documented thoroughly in the [**v3 upgrade guide**](/docs/3.0.0-rc.0/migration/v3). Breaking changes can be annoying, but are necessary to set the ground for a new wave of Docusaurus features that we plan to implement later. + +We initially planned to release more frequent major versions, but this one has taken longer than expected. **Upgrading to [MDX v2](https://mdxjs.com/blog/v2/) is the main challenge** to the adoption of this new version. We went the extra mile to make this upgrade as easy as possible, notably by adding [compatibility options for MDX v1](/docs/3.0.0-rc.0/api/docusaurus-config#markdown). + +The simplest sites will only need to upgrade a few npm dependencies. For more complex sites, we came up with a few strategies than can help you upgrade more confidently: + +- [prepare your site](/blog/preparing-your-site-for-docusaurus-v3) ahead of time, incrementally, while staying under Docusaurus v2 +- [set up visual regression tests](/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing) to catch unexpected visual changes happening during the upgrade ![v3.0 social-card image](./img/social-card.png) {/* truncate */} + +## Highlights + +### Breaking changes + +This section only gives you a quick glance. All the breaking changes are thoroughly documented on the [**v3 upgrade guide**](/docs/3.0.0-rc.0/migration/v3). + +Docusaurus v3 upgraded a few dependencies to new major versions, each coming with their own breaking changes: + +- Node.js v16 ➡️ v18 +- React v17 ➡️ v18 +- MDX v1 ➡️ v2 +- TypeScript v4 ➡️ v5 +- Prism-React-Renderer v1 ➡️ v2 +- React-live v2 ➡️ v4 +- Mermaid v9 ➡️ v10 +- import-fresh v3 ➡️ jiti v1 + +A typical `package.json` dependency upgrade looks like: + +```diff title="package.json" + { + "dependencies": { + // upgrade to Docusaurus v3 +- "@docusaurus/core": "2.4.3", +- "@docusaurus/preset-classic": "2.4.3", ++ "@docusaurus/core": "3.0.0", ++ "@docusaurus/preset-classic": "3.0.0", + // upgrade to MDX v2 +- "@mdx-js/react": "^1.6.22", ++ "@mdx-js/react": "^2.3.0", + // upgrade to prism-react-renderer v2.0+ +- "prism-react-renderer": "^1.3.5", ++ "prism-react-renderer": "^2.1.0", + // upgrade to React v18.0+ +- "react": "^17.0.2", +- "react-dom": "^17.0.2" ++ "react": "^18.2.0", ++ "react-dom": "^18.2.0" + }, + "devDependencies": { + // upgrade Docusaurus dev dependencies to v3 +- "@docusaurus/module-type-aliases": "2.4.3" +- "@docusaurus/types": "2.4.3" ++ "@docusaurus/module-type-aliases": "3.0.0" ++ "@docusaurus/types": "3.0.0" + } + "engines": { + // require Node.js 18.0+ +- "node": ">=16.14" ++ "node": ">=18.0" + } + } +``` + +Apart MDX v2, most breaking changes coming with those upgraded dependencies have been handled internally for you: most of the time, you shouldn't have to do anything. Outside dependencies, the only functional breaking changes coming explicitly from the Docusaurus codebase are: + +- [#9189](https://github.com/facebook/docusaurus/pull/9189): new default blog RSS feed limit of 20 entries +- [#9308](https://github.com/facebook/docusaurus/pull/9308): fix and re-introduce the `:::warning` admonition, deprecate `:::caution` +- [#9310](https://github.com/facebook/docusaurus/pull/9310): remove the legacy versioned sidebar id prefix, used for sites versioned before `v2.0.0-beta.10` (December 2021) +- [#7966](https://github.com/facebook/docusaurus/pull/7966): refactor docs theme components, eventually requiring to you re-swizzle them + +:::warning MDX v2 - the main challenge + +The [**upgrade to MDX v2**](https://mdxjs.com/blog/v2/) is the main challenge to the adoption of this new version of Docusaurus. Some documents that compiled successfully under Docusaurus v2 might now **fail to compile** under Docusaurus v3, and other documents might **render differently**. + +**Don't be intimidated**, most MDX compilation issues are **easy to fix** and very often related to `{` and `<` characters that you now need to escape. However, depending on the size of your site, you might need to edit many of your existing documents and feel a bit overwhelmed. For this reason we provide a command `npx docusaurus-mdx-checker` to help you get an estimate of the work to be done, and we recommend to [prepare your site in advance](/blog/preparing-your-site-for-docusaurus-v3). + +::: From c02f1b42de1df04418e5e7fb68b8af95c8a0c604 Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Fri, 20 Oct 2023 18:33:53 +0200 Subject: [PATCH 03/41] v3 blog --- website/blog/releases/3.0/index.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 3309b3c3520a..c4673dcb27f9 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -87,8 +87,10 @@ Apart MDX v2, most breaking changes coming with those upgraded dependencies have :::warning MDX v2 - the main challenge -The [**upgrade to MDX v2**](https://mdxjs.com/blog/v2/) is the main challenge to the adoption of this new version of Docusaurus. Some documents that compiled successfully under Docusaurus v2 might now **fail to compile** under Docusaurus v3, and other documents might **render differently**. +The [**upgrade to MDX v2**](https://mdxjs.com/blog/v2/) is the main upgrade challenge. Some documents that compiled successfully under Docusaurus v2 might now **fail to compile** under Docusaurus v3, while others might **render differently**. -**Don't be intimidated**, most MDX compilation issues are **easy to fix** and very often related to `{` and `<` characters that you now need to escape. However, depending on the size of your site, you might need to edit many of your existing documents and feel a bit overwhelmed. For this reason we provide a command `npx docusaurus-mdx-checker` to help you get an estimate of the work to be done, and we recommend to [prepare your site in advance](/blog/preparing-your-site-for-docusaurus-v3). +**Don't be intimidated**, most problems are **easy to fix** and often related to `{` and `<` characters that you now need to escape. However, depending on the size of your site, you might need to edit many files and feel overwhelmed. For this reason we provide a command [`npx docusaurus-mdx-checker`](https://github.com/slorber/docusaurus-mdx-checker) to help you get an estimate of the work to be done, and we recommend to [prepare your site in advance](/blog/preparing-your-site-for-docusaurus-v3). + +If you created custom [MDX plugins](/docs/markdown-features/plugins) (Remark/Rehype), the AST is slightly different, and you might need to refactor them. ::: From 509bb853d604d2474f1c9dbbc10bf5867ebc2fa7 Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Fri, 20 Oct 2023 19:04:43 +0200 Subject: [PATCH 04/41] add extra commonmark warning --- .../guides/markdown-features/markdown-features-intro.mdx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/website/docs/guides/markdown-features/markdown-features-intro.mdx b/website/docs/guides/markdown-features/markdown-features-intro.mdx index 2ab48769c6ea..b3116e29983c 100644 --- a/website/docs/guides/markdown-features/markdown-features-intro.mdx +++ b/website/docs/guides/markdown-features/markdown-features-intro.mdx @@ -52,6 +52,12 @@ If you plan to use CommonMark, we recommend the [`siteConfig.markdown.format: 'd ::: +:::danger Experimental CommonMark support + +The CommonMark support is **experimental** and currently has a few [limitations](https://github.com/facebook/docusaurus/issues/9092). + +::: + ## Standard features {#standard-features} Markdown is a syntax that enables you to write formatted content in a readable syntax. From 5e35184f60ac9697f513c31e8117a8d6174db93d Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Fri, 20 Oct 2023 19:33:59 +0200 Subject: [PATCH 05/41] v3 blog post --- .../blog/releases/3.0/img/unlisted-blog.png | Bin 0 -> 53379 bytes website/blog/releases/3.0/index.mdx | 135 +++++++++++++++++- 2 files changed, 132 insertions(+), 3 deletions(-) create mode 100644 website/blog/releases/3.0/img/unlisted-blog.png diff --git a/website/blog/releases/3.0/img/unlisted-blog.png b/website/blog/releases/3.0/img/unlisted-blog.png new file mode 100644 index 0000000000000000000000000000000000000000..21b61a5af191e5e93442547d76d97272647b0df9 GIT binary patch literal 53379 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 J_>GbO{{pQ9%2WUV literal 0 HcmV?d00001 diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index c4673dcb27f9..4074a246b232 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -5,6 +5,7 @@ authors: tags: [release] image: ./img/social-card.png date: 2023-10-25 +unlisted: true --- Today we are extremely happy to finally **announce Docusaurus 3.0**! 🥳 @@ -24,9 +25,7 @@ The simplest sites will only need to upgrade a few npm dependencies. For more co {/* truncate */} -## Highlights - -### Breaking changes +## Breaking changes This section only gives you a quick glance. All the breaking changes are thoroughly documented on the [**v3 upgrade guide**](/docs/3.0.0-rc.0/migration/v3). @@ -94,3 +93,133 @@ The [**upgrade to MDX v2**](https://mdxjs.com/blog/v2/) is the main upgrade chal If you created custom [MDX plugins](/docs/markdown-features/plugins) (Remark/Rehype), the AST is slightly different, and you might need to refactor them. ::: + +## Highlights + +A non-exhaustive list of new useful features coming with this new version. All the features are listed in the [**Docusaurus v3.0.0 release notes**](https://github.com/facebook/docusaurus/releases/tag/v3.0.0). + +### ESM and TypeScript configs + +In [#9317](https://github.com/facebook/docusaurus/pull/9317), Docusaurus v3 added support for ES Modules and TypeScript config files, including site config, docs sidebars, plugins and presets. + +Here are 2 TypeScript examples, giving you a modern experience with IDE autocompletion: + +```ts title="docusaurus.config.ts" +import type {Config} from '@docusaurus/types'; +import type * as Preset from '@docusaurus/preset-classic'; + +const config: Config = { + title: 'My Site', + favicon: 'img/favicon.ico', + // your site config ... + presets: [ + [ + 'classic', + { + // your preset config ... + } satisfies Preset.Options, + ], + ], + themeConfig: { + // your theme config ... + } satisfies Preset.ThemeConfig, +}; + +export default config; +``` + +```ts title="sidebars.ts" +import type {SidebarsConfig} from '@docusaurus/plugin-content-docs'; + +const sidebars: SidebarsConfig = { + docs: ['introduction'], +}; + +export default sidebars; +``` + +### Markdown improvements + +In [#8288](https://github.com/facebook/docusaurus/pull/8288) upgraded to [MDX v2](https://mdxjs.com/blog/v2/). This new version is a much better for content writers and plugin authors, and lays the ground to implement new exciting Markdown features. + +This notably enables us to add a [CommonMark mode](/docs/3.0.0-rc.0/markdown-features#mdx-vs-commonmark) that should make it easier for existing documentations to adopt Docusaurus. It is currently opt-in and **experimental** ([some features will not work](https://github.com/facebook/docusaurus/issues/9092)), but the plan is to interpret `.md` files as CommonMark + +We also introduced a new way to [configure Markdown globally for your site](/docs/3.0.0-rc.0/api/docusaurus-config#markdown), and plan to add more options later. + +```js title="docusaurus.config.js" +export default { + markdown: { + format: 'mdx', + mermaid: true, + preprocessor: ({filePath, fileContent}) => { + return fileContent.replaceAll('{{MY_VAR}}', 'MY_VALUE'); + }, + mdx1Compat: { + comments: true, + admonitions: true, + headingIds: true, + }, + }, +}; +``` + +Docusaurus now uses the [remark-directive](https://github.com/remarkjs/remark-directive) plugin to support admonition. This also offers you the ability to implement your own Remark plugins to extend Markdown with your own [custom directives](https://talk.commonmark.org/t/generic-directives-plugins-syntax/444) such as `:textDirective`, `::leafDirective` or `:::containerDirective`. + +### Unlisted content + +Docusaurus already supported a `draft: true` front matter option in our 3 content plugins (docs, blog, pages), which allows you to remove some pages from your production builds. + +In [#8004](https://github.com/facebook/docusaurus/pull/8004), we introduced a new `unlisted: true` front matter option, which will keep your pages available in production builds, while "hiding" them and making them impossible to discover unless you have the url. This enables convenient workflows where you can easily ask for feedback on a piece of content before the final publication. + +Unlisted content will: + +- be excluded from `sitemap.xml` +- be excluded from SEO results thanks to `` +- be excluded from RSS feeds +- be excluded from Algolia DocSearch results +- be filtered from site navbar, docs sidebars, blog sidebar, blog archives, tags pages + +Unlisted content will also display a banner so that you don't forget to turn it off once your content is ready for prime time. Here's an example of an [unlisted blog post](/tests/blog/unlisted-post) + +[![Unlisted blog post showing an unlisted warning banner](./img/unlisted-blog.png)](/tests/blog/unlisted-post) + +### React 18 + +#8961 feat: React 18 + automatic JSX runtime + build --dev + +perf(core): use React 18 startTransition for hydration + +- batching +- automatic JSX runtime +- warning experimental suspense / lazy / startTransition +- `docusaurus build --dev`: get clear error messages in dev, notably from React + +### TypeScript + +#9317 feat(core): support TypeScript + ESM configuration + +#9258 feat: Docusaurus v3 upgrades and require TypeScript 5 + +#9050 feat: create official TypeScript base config @docusaurus/tsconfig + +### Syntax highlighting + +#9316 chore: upgrade syntax highlighting dependencies, prism-react-renderer to v2, react-live to v4 + +#8982 feat(theme-common): code block MagicComments support for TeX/LaTeX/Matlab + +#8870 feat(theme-common): code block MagicComments support for Lua/Haskell -- and WebAssembly ;; + +### Mermaid diagrams + +#9305 feat(theme-mermaid): upgrade Mermaid to v10.4 - handle async rendering + +### Other + +#9028 feat(theme): add ability to inject data attributes from query-string - possibility to create an iframe/embed variant of a page + +#9171 feat(client-redirects-plugin): support fully qualified urls and querystring/hash in destination/to url + +#8156 feat: add eslint plugin no-html-links + +- #8384 feat(eslint-plugin): new prefer-docusaurus-heading rule From 33e11d4945c5cb78db33d43bbdb8a26c2783f1bc Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Mon, 23 Oct 2023 15:41:48 +0200 Subject: [PATCH 06/41] blog archive: reverse ordering of posts --- website/blog/releases/3.0/img/unlisted-blog.png | Bin 53379 -> 0 bytes website/blog/releases/3.0/index.mdx | 16 +++++++++------- 2 files changed, 9 insertions(+), 7 deletions(-) delete mode 100644 website/blog/releases/3.0/img/unlisted-blog.png diff --git a/website/blog/releases/3.0/img/unlisted-blog.png b/website/blog/releases/3.0/img/unlisted-blog.png deleted file mode 100644 index 21b61a5af191e5e93442547d76d97272647b0df9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53379 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 J_>GbO{{pQ9%2WUV diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 4074a246b232..ba35ac1f313f 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -25,6 +25,8 @@ The simplest sites will only need to upgrade a few npm dependencies. For more co {/* truncate */} +import IframeWindow from '@site/src/components/BrowserWindow/IframeWindow'; + ## Breaking changes This section only gives you a quick glance. All the breaking changes are thoroughly documented on the [**v3 upgrade guide**](/docs/3.0.0-rc.0/migration/v3). @@ -142,9 +144,9 @@ export default sidebars; In [#8288](https://github.com/facebook/docusaurus/pull/8288) upgraded to [MDX v2](https://mdxjs.com/blog/v2/). This new version is a much better for content writers and plugin authors, and lays the ground to implement new exciting Markdown features. -This notably enables us to add a [CommonMark mode](/docs/3.0.0-rc.0/markdown-features#mdx-vs-commonmark) that should make it easier for existing documentations to adopt Docusaurus. It is currently opt-in and **experimental** ([some features will not work](https://github.com/facebook/docusaurus/issues/9092)), but the plan is to interpret `.md` files as CommonMark +This notably enables us to add a [CommonMark mode](/docs/3.0.0-rc.0/markdown-features#mdx-vs-commonmark) that should make it easier for existing documentations to adopt Docusaurus. It is currently opt-in and **experimental** and limited ([some Docusaurus features will not work](https://github.com/facebook/docusaurus/issues/9092)). In Docusaurus v3, all files are still interpreted as MDX, but we plan to interpret `.md` files as CommonMark in an upcoming major version, and recommend to use the `.mdx` extension for any file using JSX and ES modules. -We also introduced a new way to [configure Markdown globally for your site](/docs/3.0.0-rc.0/api/docusaurus-config#markdown), and plan to add more options later. +We also introduced a new way to [configure Markdown globally for your site](/docs/3.0.0-rc.0/api/docusaurus-config#markdown), and plan to add more flexible options later. ```js title="docusaurus.config.js" export default { @@ -163,7 +165,7 @@ export default { }; ``` -Docusaurus now uses the [remark-directive](https://github.com/remarkjs/remark-directive) plugin to support admonition. This also offers you the ability to implement your own Remark plugins to extend Markdown with your own [custom directives](https://talk.commonmark.org/t/generic-directives-plugins-syntax/444) such as `:textDirective`, `::leafDirective` or `:::containerDirective`. +Docusaurus now uses the [remark-directive](https://github.com/remarkjs/remark-directive) plugin to support admonition. This also offers you the ability to create your own Remark plugins to extend Markdown with your own [custom directives](https://talk.commonmark.org/t/generic-directives-plugins-syntax/444) such as `:textDirective`, `::leafDirective` or `:::containerDirective`. ### Unlisted content @@ -175,13 +177,13 @@ Unlisted content will: - be excluded from `sitemap.xml` - be excluded from SEO results thanks to `` -- be excluded from RSS feeds +- be excluded from blog RSS feeds - be excluded from Algolia DocSearch results -- be filtered from site navbar, docs sidebars, blog sidebar, blog archives, tags pages +- be filtered from site navbar items, docs sidebars, blog sidebar, blog archives, tags pages... -Unlisted content will also display a banner so that you don't forget to turn it off once your content is ready for prime time. Here's an example of an [unlisted blog post](/tests/blog/unlisted-post) +Unlisted content will also display a banner so that you don't forget to turn it off once your content is ready for prime time. Here's an example of an [unlisted blog post](/tests/blog/unlisted-post): -[![Unlisted blog post showing an unlisted warning banner](./img/unlisted-blog.png)](/tests/blog/unlisted-post) + ### React 18 From df185d782560d8d773e6931c1621c6daf3e48922 Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Mon, 23 Oct 2023 17:39:54 +0200 Subject: [PATCH 07/41] v3 blog post --- project-words.txt | 1 + website/blog/releases/3.0/index.mdx | 185 ++++++++++++++++++++++++---- website/docusaurus.config.ts | 2 + 3 files changed, 165 insertions(+), 23 deletions(-) diff --git a/project-words.txt b/project-words.txt index aec839742361..1f9e8bada8ef 100644 --- a/project-words.txt +++ b/project-words.txt @@ -199,6 +199,7 @@ metrika microdata microlink middlewares +mindmap minifier mkcert mkdir diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index ba35ac1f313f..9cfec9ee69c5 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -100,9 +100,9 @@ If you created custom [MDX plugins](/docs/markdown-features/plugins) (Remark/Reh A non-exhaustive list of new useful features coming with this new version. All the features are listed in the [**Docusaurus v3.0.0 release notes**](https://github.com/facebook/docusaurus/releases/tag/v3.0.0). -### ESM and TypeScript configs +### ESM and TypeScript configs {#esm-ts-configs} -In [#9317](https://github.com/facebook/docusaurus/pull/9317), Docusaurus v3 added support for ES Modules and TypeScript config files, including site config, docs sidebars, plugins and presets. +In [#9317](https://github.com/facebook/docusaurus/pull/9317), we added support for ES Modules and TypeScript config files, including site config, docs sidebars, plugins and presets. Here are 2 TypeScript examples, giving you a modern experience with IDE autocompletion: @@ -140,9 +140,9 @@ const sidebars: SidebarsConfig = { export default sidebars; ``` -### Markdown improvements +### Markdown -In [#8288](https://github.com/facebook/docusaurus/pull/8288) upgraded to [MDX v2](https://mdxjs.com/blog/v2/). This new version is a much better for content writers and plugin authors, and lays the ground to implement new exciting Markdown features. +In [#8288](https://github.com/facebook/docusaurus/pull/8288), we upgraded to [MDX v2](https://mdxjs.com/blog/v2/). This new version is a much better for content writers and plugin authors, and lays the ground to implement new exciting Markdown features. This notably enables us to add a [CommonMark mode](/docs/3.0.0-rc.0/markdown-features#mdx-vs-commonmark) that should make it easier for existing documentations to adopt Docusaurus. It is currently opt-in and **experimental** and limited ([some Docusaurus features will not work](https://github.com/facebook/docusaurus/issues/9092)). In Docusaurus v3, all files are still interpreted as MDX, but we plan to interpret `.md` files as CommonMark in an upcoming major version, and recommend to use the `.mdx` extension for any file using JSX and ES modules. @@ -187,41 +187,180 @@ Unlisted content will also display a banner so that you don't forget to turn it ### React 18 -#8961 feat: React 18 + automatic JSX runtime + build --dev +In [#8961](https://github.com/facebook/docusaurus/pull/8961), we upgraded to React 18. This is important, notably for the [gradual adoption of Concurrent React features](https://react.dev/blog/2022/03/29/react-v18#gradually-adopting-concurrent-features), as well as upcoming exciting features such as [build-time React Server Components](https://github.com/facebook/docusaurus/issues/9089). -perf(core): use React 18 startTransition for hydration +This new version of React should be a drop-in replacement for most Docusaurus sites. It comes with breaking changes that we handled internally in the Docusaurus codebase. If your site is using a lot of custom React code, we recommend you to take a look at the official [How to Upgrade to React 18](https://react.dev/blog/2022/03/08/react-18-upgrade-guide), notably the new [automatic batching](https://react.dev/blog/2022/03/08/react-18-upgrade-guide#automatic-batching) behavior. -- batching -- automatic JSX runtime -- warning experimental suspense / lazy / startTransition -- `docusaurus build --dev`: get clear error messages in dev, notably from React +:::danger Experimental support for React 18 features + +React 18 comes with new features: + +- `` +- `React.lazy()` +- `startTransition()` + +Their Docusaurus support is considered as **experimental**. We might have to adjust the integration in the future, leading to a different runtime behavior. + +::: + +### Automatic JSX runtime + +Docusaurus now uses the ["automatic" JSX runtime](https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html). + +It is not needed anymore to import React in JSX files that do not use any React API. + +```diff title="src/components/MyComponent.js" +- import React from 'react'; + + export default function MyComponent() { + return
Hello
; + } +``` + +### Debug builds + +It is now possible to build your static site in dev mode. + +```bash +docusaurus build --dev +``` + +:::tip Debug React-related problems + +Docusaurus will log more errors to the console, notably React 18 hydration errors through the new [`onRecoverableError callback](https://react.dev/reference/react-dom/client/hydrateRoot#parameters). + +This new build mode is particularly helpful to troubleshot React problems. Docusaurus will use the development build of React, including long, readable error messages instead of minified ones linking to the [React Error Decoder page](https://reactjs.org/docs/error-decoder.html/). + +::: ### TypeScript -#9317 feat(core): support TypeScript + ESM configuration +Docusaurus v3 now requires a minimum version of TypeScript 5.0. -#9258 feat: Docusaurus v3 upgrades and require TypeScript 5 +We also re-internalized the base recommended TypeScript config to a new official package: -#9050 feat: create official TypeScript base config @docusaurus/tsconfig +```diff title="tsconfig.json" + { +- "extends": "@tsconfig/docusaurus/tsconfig.json", ++ "extends": "@docusaurus/tsconfig", + "compilerOptions": { + "baseUrl": "." + } + } +``` -### Syntax highlighting +We also have cleaner, normalized exports for Docusaurus core type, plugin and preset options, that you can use within the brand-new [TypeScript config files](#esm-ts-configs) -#9316 chore: upgrade syntax highlighting dependencies, prism-react-renderer to v2, react-live to v4 +```ts title="docusaurus.config.ts" +import type {Config} from '@docusaurus/types'; +import type {Options, ThemeConfig} from '@docusaurus/preset-classic'; +import type {SidebarsConfig} from '@docusaurus/plugin-content-docs'; +``` + +### Code blocks + +In [#9316](https://github.com/facebook/docusaurus/pull/9316), Docusaurus improves on syntax highlighting thanks the [prism-react-renderer](https://github.com/FormidableLabs/prism-react-renderer) v2 upgrade. For example, a bash param `--save` is now colored: -#8982 feat(theme-common): code block MagicComments support for TeX/LaTeX/Matlab +```bash +npm install --save some-package +``` + +The [interactive code editor](/docs/3.0.0-rc.0/markdown-features/code-blocks#interactive-code-editor) also upgrades to [react-live](https://github.com/FormidableLabs/react-live) v4, coming with a new [sucrase](https://github.com/alangpierce/sucrase) compiler. It is faster, lighter and supports modern features, notably TypeScript type annotations. + +```js live +function Hello() { + const name: string = 'World'; + return
Hello {name}
; +} +``` + +In [#8982](https://github.com/facebook/docusaurus/pull/8982) and [#8870](https://github.com/facebook/docusaurus/pull/8870), we also added [Magic Comments](docs/3.0.0-rc.0/markdown-features/code-blocks#custom-magic-comments) support for TeX, LaTeX, Matlab, Lua, Haskell and WebAssembly. -#8870 feat(theme-common): code block MagicComments support for Lua/Haskell -- and WebAssembly ;; +```haskell title="haskell.hs" +stringLength :: String -> Int +-- highlight-next-line +stringLength [] = 0 +stringLength (x:xs) = 1 + stringLength xs +``` + +```matlab title="matlab.m" +% highlight-start +function result = times2(n) + result = n * 2; +end +% highlight-end +x = 10; +% highlight-next-line +y = times2(x); +``` ### Mermaid diagrams -#9305 feat(theme-mermaid): upgrade Mermaid to v10.4 - handle async rendering +In [#9305](https://github.com/facebook/docusaurus/pull/9305), we upgraded to Mermaid v10.4 and added support for async diagram rendering. Docusaurus is now able to render new types of diagrams. + +
+ Mindmap + +```mermaid +mindmap + root((mindmap)) + Research + Creative techniques + Strategic planning + Argument mapping + Tools + Pen and paper + Mermaid +``` + +
+ +
+ Quadrant chart + +```mermaid +quadrantChart + title Reach and engagement of campaigns + x-axis Low Reach --> High Reach + y-axis Low Engagement --> High Engagement + quadrant-1 We should expand + quadrant-2 Need to promote + quadrant-3 Re-evaluate + quadrant-4 May be improved + Campaign A: [0.3, 0.6] + Campaign B: [0.45, 0.23] + Campaign C: [0.57, 0.69] + Campaign D: [0.78, 0.34] + Campaign E: [0.40, 0.34] + Campaign F: [0.35, 0.78] +``` + +
+ +### Query-string data attributes + +In [#9028](https://github.com/facebook/docusaurus/pull/9028), we made it possible to set custom html [data attributes](https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes) though `docusaurus-data-x` query-string parameters. This makes it easier to embed a Docusaurus iframe on another site, and lets you customize the appearance of the embedded version with CSS. + +```css title="/src/css/custom.css" +html[data-navbar='false'] .navbar { + display: none; +} + +html[data-red-border] div#__docusaurus { + border: red solid thick; +} +``` -### Other + -#9028 feat(theme): add ability to inject data attributes from query-string - possibility to create an iframe/embed variant of a page +### Other features -#9171 feat(client-redirects-plugin): support fully qualified urls and querystring/hash in destination/to url +Other new features worth mentioning: -#8156 feat: add eslint plugin no-html-links +- [#9189](https://github.com/facebook/docusaurus/pull/9189): new blog `feedOptions.limit` option +- [#9071](https://github.com/facebook/docusaurus/pull/9071): add normalized SEO front matter support for the pages plugin +- [#9171](https://github.com/facebook/docusaurus/pull/9028): the client-redirects plugin now supports fully qualified urls and query-string/hash in destination url +- [#9171](https://github.com/facebook/docusaurus/pull/9171): new ESLint rule [`no-html-links`](/docs/3.0.0-rc.0/api/misc/@docusaurus/eslint-plugin/no-html-links) +- [#8384](https://github.com/facebook/docusaurus/pull/8384): new ESLint rule [`prefer-docusaurus-heading`](/docs/3.0.0-rc.0/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading) -- #8384 feat(eslint-plugin): new prefer-docusaurus-heading rule +Read [**Docusaurus v3.0.0 release notes**](https://github.com/facebook/docusaurus/releases/tag/v3.0.0) for an exhaustive list of changes. diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts index e49b834465f1..80d390572183 100644 --- a/website/docusaurus.config.ts +++ b/website/docusaurus.config.ts @@ -480,6 +480,8 @@ export default async function createConfigAsync() { additionalLanguages: [ 'java', 'latex', + 'haskell', + 'matlab', 'PHp', 'bash', 'diff', From db647aa7e607fa50c77e1a07589c8ae5552f7277 Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Mon, 23 Oct 2023 18:16:42 +0200 Subject: [PATCH 08/41] v3 blog post --- website/blog/releases/3.0/index.mdx | 74 ++++++++++++++++------------- 1 file changed, 41 insertions(+), 33 deletions(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 9cfec9ee69c5..e10c8d868efd 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -8,7 +8,7 @@ date: 2023-10-25 unlisted: true --- -Today we are extremely happy to finally **announce Docusaurus 3.0**! 🥳 +Today we are happy to **announce Docusaurus 3.0**! 🥳 This is a new **major version** of Docusaurus, coming with **new exciting features** and upgraded dependencies. @@ -86,6 +86,14 @@ Apart MDX v2, most breaking changes coming with those upgraded dependencies have - [#9310](https://github.com/facebook/docusaurus/pull/9310): remove the legacy versioned sidebar id prefix, used for sites versioned before `v2.0.0-beta.10` (December 2021) - [#7966](https://github.com/facebook/docusaurus/pull/7966): refactor docs theme components, eventually requiring to you re-swizzle them +## Highlights + +A non-exhaustive list of new useful features coming with this new version. All the features are listed in the [**Docusaurus v3.0.0 release notes**](https://github.com/facebook/docusaurus/releases/tag/v3.0.0). + +### Markdown + +In [#8288](https://github.com/facebook/docusaurus/pull/8288), we upgraded to [**MDX v2**](https://mdxjs.com/blog/v2/). This new version is a **much better for content writers and plugin authors**, and lays the ground to implement new exciting Markdown features. + :::warning MDX v2 - the main challenge The [**upgrade to MDX v2**](https://mdxjs.com/blog/v2/) is the main upgrade challenge. Some documents that compiled successfully under Docusaurus v2 might now **fail to compile** under Docusaurus v3, while others might **render differently**. @@ -96,9 +104,28 @@ If you created custom [MDX plugins](/docs/markdown-features/plugins) (Remark/Reh ::: -## Highlights +This notably enables us to add a [CommonMark mode](/docs/3.0.0-rc.0/markdown-features#mdx-vs-commonmark) that should make it easier for existing documentations to adopt Docusaurus. It is currently opt-in and **experimental** and limited ([some Docusaurus features will not work](https://github.com/facebook/docusaurus/issues/9092)). In Docusaurus v3, all files are still interpreted as MDX, but we plan to interpret `.md` files as CommonMark in an upcoming major version, and recommend to use the `.mdx` extension for any file using JSX and ES modules. -A non-exhaustive list of new useful features coming with this new version. All the features are listed in the [**Docusaurus v3.0.0 release notes**](https://github.com/facebook/docusaurus/releases/tag/v3.0.0). +We also introduced a new way to [configure Markdown globally for your site](/docs/3.0.0-rc.0/api/docusaurus-config#markdown), and plan to add more flexible options later. + +```js title="docusaurus.config.js" +export default { + markdown: { + format: 'mdx', + mermaid: true, + preprocessor: ({filePath, fileContent}) => { + return fileContent.replaceAll('{{MY_VAR}}', 'MY_VALUE'); + }, + mdx1Compat: { + comments: true, + admonitions: true, + headingIds: true, + }, + }, +}; +``` + +Docusaurus now uses the [remark-directive](https://github.com/remarkjs/remark-directive) plugin to support admonitions. This also offers you the ability to create your own Remark plugins to extend Markdown with your own [custom directives](https://talk.commonmark.org/t/generic-directives-plugins-syntax/444) such as `:textDirective`, `::leafDirective` or `:::containerDirective`. ### ESM and TypeScript configs {#esm-ts-configs} @@ -140,33 +167,6 @@ const sidebars: SidebarsConfig = { export default sidebars; ``` -### Markdown - -In [#8288](https://github.com/facebook/docusaurus/pull/8288), we upgraded to [MDX v2](https://mdxjs.com/blog/v2/). This new version is a much better for content writers and plugin authors, and lays the ground to implement new exciting Markdown features. - -This notably enables us to add a [CommonMark mode](/docs/3.0.0-rc.0/markdown-features#mdx-vs-commonmark) that should make it easier for existing documentations to adopt Docusaurus. It is currently opt-in and **experimental** and limited ([some Docusaurus features will not work](https://github.com/facebook/docusaurus/issues/9092)). In Docusaurus v3, all files are still interpreted as MDX, but we plan to interpret `.md` files as CommonMark in an upcoming major version, and recommend to use the `.mdx` extension for any file using JSX and ES modules. - -We also introduced a new way to [configure Markdown globally for your site](/docs/3.0.0-rc.0/api/docusaurus-config#markdown), and plan to add more flexible options later. - -```js title="docusaurus.config.js" -export default { - markdown: { - format: 'mdx', - mermaid: true, - preprocessor: ({filePath, fileContent}) => { - return fileContent.replaceAll('{{MY_VAR}}', 'MY_VALUE'); - }, - mdx1Compat: { - comments: true, - admonitions: true, - headingIds: true, - }, - }, -}; -``` - -Docusaurus now uses the [remark-directive](https://github.com/remarkjs/remark-directive) plugin to support admonition. This also offers you the ability to create your own Remark plugins to extend Markdown with your own [custom directives](https://talk.commonmark.org/t/generic-directives-plugins-syntax/444) such as `:textDirective`, `::leafDirective` or `:::containerDirective`. - ### Unlisted content Docusaurus already supported a `draft: true` front matter option in our 3 content plugins (docs, blog, pages), which allows you to remove some pages from your production builds. @@ -229,7 +229,7 @@ docusaurus build --dev Docusaurus will log more errors to the console, notably React 18 hydration errors through the new [`onRecoverableError callback](https://react.dev/reference/react-dom/client/hydrateRoot#parameters). -This new build mode is particularly helpful to troubleshot React problems. Docusaurus will use the development build of React, including long, readable error messages instead of minified ones linking to the [React Error Decoder page](https://reactjs.org/docs/error-decoder.html/). +This new build mode is particularly helpful to **troubleshot React problems**. Docusaurus will use the development build of React, including long, readable error messages instead of minified ones linking to the [React Error Decoder page](https://reactjs.org/docs/error-decoder.html/). ::: @@ -237,7 +237,7 @@ This new build mode is particularly helpful to troubleshot React problems. Docus Docusaurus v3 now requires a minimum version of TypeScript 5.0. -We also re-internalized the base recommended TypeScript config to a new official package: +We re-internalized the base recommended TypeScript config to a new official package: ```diff title="tsconfig.json" { @@ -259,7 +259,7 @@ import type {SidebarsConfig} from '@docusaurus/plugin-content-docs'; ### Code blocks -In [#9316](https://github.com/facebook/docusaurus/pull/9316), Docusaurus improves on syntax highlighting thanks the [prism-react-renderer](https://github.com/FormidableLabs/prism-react-renderer) v2 upgrade. For example, a bash param `--save` is now colored: +In [#9316](https://github.com/facebook/docusaurus/pull/9316), we improved on syntax highlighting thanks the [prism-react-renderer](https://github.com/FormidableLabs/prism-react-renderer) v2 upgrade. For example, a bash param `--save` is now colored: ```bash npm install --save some-package @@ -364,3 +364,11 @@ Other new features worth mentioning: - [#8384](https://github.com/facebook/docusaurus/pull/8384): new ESLint rule [`prefer-docusaurus-heading`](/docs/3.0.0-rc.0/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading) Read [**Docusaurus v3.0.0 release notes**](https://github.com/facebook/docusaurus/releases/tag/v3.0.0) for an exhaustive list of changes. + +## Conclusion + +This release comes with a few features, but more importantly **upgrades many pieces of the Docusaurus infrastructure**. + +The adoption of MDX v2 consumed a lot of our time this year, notably because we worked hard to make this important upgrade less difficult for all of you. + +Now that we've caught up with our infrastructure, we'll be back **delivering useful documentation features** very soon, in upcoming minor versions. From 5e5aa469b487ef36334adaf2d61fe63916a1e462 Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Mon, 23 Oct 2023 18:26:26 +0200 Subject: [PATCH 09/41] v3 blog post --- website/blog/releases/3.0/index.mdx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index e10c8d868efd..e666ca1bf9b5 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -10,6 +10,8 @@ unlisted: true Today we are happy to **announce Docusaurus 3.0**! 🥳 +At [**Meta Open Source**](https://opensource.fb.com/), we believe Docusaurus will help you build the **best documentation websites** with **minimal effort**, letting you **focus on what really matters**: writing the content. + This is a new **major version** of Docusaurus, coming with **new exciting features** and upgraded dependencies. We respect [**Semantic Versioning**](https://semver.org/) and this release also includes **breaking changes** that we documented thoroughly in the [**v3 upgrade guide**](/docs/3.0.0-rc.0/migration/v3). Breaking changes can be annoying, but are necessary to set the ground for a new wave of Docusaurus features that we plan to implement later. @@ -369,6 +371,8 @@ Read [**Docusaurus v3.0.0 release notes**](https://github.com/facebook/docusauru This release comes with a few features, but more importantly **upgrades many pieces of the Docusaurus infrastructure**. -The adoption of MDX v2 consumed a lot of our time this year, notably because we worked hard to make this important upgrade less difficult for all of you. +The adoption of **MDX v2** consumed a lot of our time this year, and we worked hard to make this important upgrade less difficult for all of you. Now that we've caught up with our infrastructure, we'll be back **delivering useful documentation features** very soon, in upcoming minor versions. + +We would like to thank you for using Docusaurus over the years. The documentation framework space is becoming more competitive lately, and we will do our best to ensure that Docusaurus remains a **competitive solution** that stands out for its great **flexibility**. From fc55f78a5593294621fa85f65b728d08f68fda8b Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Mon, 23 Oct 2023 18:31:14 +0200 Subject: [PATCH 10/41] v3 blog post --- website/blog/releases/3.0/index.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index e666ca1bf9b5..dc29e1cd722b 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -106,7 +106,7 @@ If you created custom [MDX plugins](/docs/markdown-features/plugins) (Remark/Reh ::: -This notably enables us to add a [CommonMark mode](/docs/3.0.0-rc.0/markdown-features#mdx-vs-commonmark) that should make it easier for existing documentations to adopt Docusaurus. It is currently opt-in and **experimental** and limited ([some Docusaurus features will not work](https://github.com/facebook/docusaurus/issues/9092)). In Docusaurus v3, all files are still interpreted as MDX, but we plan to interpret `.md` files as CommonMark in an upcoming major version, and recommend to use the `.mdx` extension for any file using JSX and ES modules. +This notably enables us to add a [CommonMark mode](/docs/3.0.0-rc.0/markdown-features#mdx-vs-commonmark) that should make it easier for existing documentations to adopt Docusaurus. It is currently opt-in and **experimental** and limited ([some Docusaurus features will not work](https://github.com/facebook/docusaurus/issues/9092)). In Docusaurus v3, all files are still interpreted as MDX, but we plan to interpret `.md` files as CommonMark in an upcoming major version, and recommend to use the `.mdx` extension for any file using JSX or ES modules. We also introduced a new way to [configure Markdown globally for your site](/docs/3.0.0-rc.0/api/docusaurus-config#markdown), and plan to add more flexible options later. @@ -191,7 +191,7 @@ Unlisted content will also display a banner so that you don't forget to turn it In [#8961](https://github.com/facebook/docusaurus/pull/8961), we upgraded to React 18. This is important, notably for the [gradual adoption of Concurrent React features](https://react.dev/blog/2022/03/29/react-v18#gradually-adopting-concurrent-features), as well as upcoming exciting features such as [build-time React Server Components](https://github.com/facebook/docusaurus/issues/9089). -This new version of React should be a drop-in replacement for most Docusaurus sites. It comes with breaking changes that we handled internally in the Docusaurus codebase. If your site is using a lot of custom React code, we recommend you to take a look at the official [How to Upgrade to React 18](https://react.dev/blog/2022/03/08/react-18-upgrade-guide), notably the new [automatic batching](https://react.dev/blog/2022/03/08/react-18-upgrade-guide#automatic-batching) behavior. +This new version of React should be a drop-in replacement for most Docusaurus sites. It comes with breaking changes that we handled internally in the Docusaurus codebase. If your site is using a lot of custom React code, we recommend you to take a look at the official article on [How to Upgrade to React 18](https://react.dev/blog/2022/03/08/react-18-upgrade-guide), notably the new [automatic batching](https://react.dev/blog/2022/03/08/react-18-upgrade-guide#automatic-batching) behavior. :::danger Experimental support for React 18 features From d8c2febba74bf3bcf73ed85c033d470107865863 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Tue, 24 Oct 2023 16:41:30 +0200 Subject: [PATCH 11/41] Update website/blog/releases/3.0/index.mdx Co-authored-by: Joshua Chen --- website/blog/releases/3.0/index.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index dc29e1cd722b..d71ec79694fd 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -20,8 +20,8 @@ We initially planned to release more frequent major versions, but this one has t The simplest sites will only need to upgrade a few npm dependencies. For more complex sites, we came up with a few strategies than can help you upgrade more confidently: -- [prepare your site](/blog/preparing-your-site-for-docusaurus-v3) ahead of time, incrementally, while staying under Docusaurus v2 -- [set up visual regression tests](/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing) to catch unexpected visual changes happening during the upgrade +- [Prepare your site](/blog/preparing-your-site-for-docusaurus-v3) ahead of time, incrementally, while staying on Docusaurus v2 +- [Set up visual regression tests](/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing) to catch unexpected visual changes happening during the upgrade ![v3.0 social-card image](./img/social-card.png) From 81e292ad72b090146c771d549f7475dbda1bc49c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Tue, 24 Oct 2023 16:41:47 +0200 Subject: [PATCH 12/41] Update website/blog/releases/3.0/index.mdx Co-authored-by: Joshua Chen --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index d71ec79694fd..6c97662a6ffc 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -39,7 +39,7 @@ Docusaurus v3 upgraded a few dependencies to new major versions, each coming wit - React v17 ➡️ v18 - MDX v1 ➡️ v2 - TypeScript v4 ➡️ v5 -- Prism-React-Renderer v1 ➡️ v2 +- prism-react-renderer v1 ➡️ v2 - React-live v2 ➡️ v4 - Mermaid v9 ➡️ v10 - import-fresh v3 ➡️ jiti v1 From 28767e055402966966c338cb440f9ea9b81f82be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Tue, 24 Oct 2023 16:41:56 +0200 Subject: [PATCH 13/41] Update website/blog/releases/3.0/index.mdx Co-authored-by: Joshua Chen --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 6c97662a6ffc..70101ed8bd31 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -40,7 +40,7 @@ Docusaurus v3 upgraded a few dependencies to new major versions, each coming wit - MDX v1 ➡️ v2 - TypeScript v4 ➡️ v5 - prism-react-renderer v1 ➡️ v2 -- React-live v2 ➡️ v4 +- react-live v2 ➡️ v4 - Mermaid v9 ➡️ v10 - import-fresh v3 ➡️ jiti v1 From 648b82b33352e20a899f23143bafece985d7bc59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Tue, 24 Oct 2023 16:42:19 +0200 Subject: [PATCH 14/41] Update website/blog/releases/3.0/index.mdx Co-authored-by: Joshua Chen --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 70101ed8bd31..4d12f6a48c3a 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -81,7 +81,7 @@ A typical `package.json` dependency upgrade looks like: } ``` -Apart MDX v2, most breaking changes coming with those upgraded dependencies have been handled internally for you: most of the time, you shouldn't have to do anything. Outside dependencies, the only functional breaking changes coming explicitly from the Docusaurus codebase are: +Apart from MDX v2, most breaking changes coming with those upgraded dependencies have been handled internally for you: most of the time, you shouldn't have to do anything. Outside of dependencies, the only functional breaking changes coming explicitly from the Docusaurus codebase are: - [#9189](https://github.com/facebook/docusaurus/pull/9189): new default blog RSS feed limit of 20 entries - [#9308](https://github.com/facebook/docusaurus/pull/9308): fix and re-introduce the `:::warning` admonition, deprecate `:::caution` From 4aaece73490de6be77df14aff6fec34cadab6a2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Tue, 24 Oct 2023 16:42:39 +0200 Subject: [PATCH 15/41] Update website/blog/releases/3.0/index.mdx Co-authored-by: Joshua Chen --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 4d12f6a48c3a..9a1a0e1aefbd 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -251,7 +251,7 @@ We re-internalized the base recommended TypeScript config to a new official pack } ``` -We also have cleaner, normalized exports for Docusaurus core type, plugin and preset options, that you can use within the brand-new [TypeScript config files](#esm-ts-configs) +We also have cleaner, normalized exports for Docusaurus core type, plugin, and preset options, which you can use within the brand-new [TypeScript config files](#esm-ts-configs): ```ts title="docusaurus.config.ts" import type {Config} from '@docusaurus/types'; From c3efb04058e89ed1de18576d8ebc89331ddc26be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Tue, 24 Oct 2023 16:42:51 +0200 Subject: [PATCH 16/41] Update website/blog/releases/3.0/index.mdx Co-authored-by: Joshua Chen --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 9a1a0e1aefbd..9d381b501ed4 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -94,7 +94,7 @@ A non-exhaustive list of new useful features coming with this new version. All t ### Markdown -In [#8288](https://github.com/facebook/docusaurus/pull/8288), we upgraded to [**MDX v2**](https://mdxjs.com/blog/v2/). This new version is a **much better for content writers and plugin authors**, and lays the ground to implement new exciting Markdown features. +In [#8288](https://github.com/facebook/docusaurus/pull/8288), we upgraded to [**MDX v2**](https://mdxjs.com/blog/v2/). This new version is **much better for content writers and plugin authors**, and lays the ground for implementing new exciting Markdown features. :::warning MDX v2 - the main challenge From e47c21192fd7b2fd54d655cdcb4b1b35692ec8ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Tue, 24 Oct 2023 16:43:09 +0200 Subject: [PATCH 17/41] Update website/blog/releases/3.0/index.mdx Co-authored-by: Joshua Chen --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 9d381b501ed4..a8109ae0bb2f 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -100,7 +100,7 @@ In [#8288](https://github.com/facebook/docusaurus/pull/8288), we upgraded to [** The [**upgrade to MDX v2**](https://mdxjs.com/blog/v2/) is the main upgrade challenge. Some documents that compiled successfully under Docusaurus v2 might now **fail to compile** under Docusaurus v3, while others might **render differently**. -**Don't be intimidated**, most problems are **easy to fix** and often related to `{` and `<` characters that you now need to escape. However, depending on the size of your site, you might need to edit many files and feel overwhelmed. For this reason we provide a command [`npx docusaurus-mdx-checker`](https://github.com/slorber/docusaurus-mdx-checker) to help you get an estimate of the work to be done, and we recommend to [prepare your site in advance](/blog/preparing-your-site-for-docusaurus-v3). +**Don't be intimidated**. Most problems are **easy to fix** and often related to `{` and `<` characters that you now need to escape. However, depending on the size of your site, you might need to edit many files and feel overwhelmed. For this reason, we provide a command [`npx docusaurus-mdx-checker`](https://github.com/slorber/docusaurus-mdx-checker) to help you get an estimate of the work to be done, and we recommend to [prepare your site in advance](/blog/preparing-your-site-for-docusaurus-v3). If you created custom [MDX plugins](/docs/markdown-features/plugins) (Remark/Rehype), the AST is slightly different, and you might need to refactor them. From 89063fbe34322286a00705f19f7010a7ffe0e331 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Tue, 24 Oct 2023 16:44:43 +0200 Subject: [PATCH 18/41] Update website/blog/releases/3.0/index.mdx Co-authored-by: Joshua Chen --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index a8109ae0bb2f..0271c38220c7 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -229,7 +229,7 @@ docusaurus build --dev :::tip Debug React-related problems -Docusaurus will log more errors to the console, notably React 18 hydration errors through the new [`onRecoverableError callback](https://react.dev/reference/react-dom/client/hydrateRoot#parameters). +Docusaurus will log more errors to the console, notably React 18 hydration errors through the new [`onRecoverableError` callback](https://react.dev/reference/react-dom/client/hydrateRoot#parameters). This new build mode is particularly helpful to **troubleshot React problems**. Docusaurus will use the development build of React, including long, readable error messages instead of minified ones linking to the [React Error Decoder page](https://reactjs.org/docs/error-decoder.html/). From 99ecd298697fe45266e06e7d120e9cbf5e670cc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Tue, 24 Oct 2023 16:45:00 +0200 Subject: [PATCH 19/41] Update website/blog/releases/3.0/index.mdx Co-authored-by: Joshua Chen --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 0271c38220c7..f984c51e027a 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -261,7 +261,7 @@ import type {SidebarsConfig} from '@docusaurus/plugin-content-docs'; ### Code blocks -In [#9316](https://github.com/facebook/docusaurus/pull/9316), we improved on syntax highlighting thanks the [prism-react-renderer](https://github.com/FormidableLabs/prism-react-renderer) v2 upgrade. For example, a bash param `--save` is now colored: +In [#9316](https://github.com/facebook/docusaurus/pull/9316), we improved on syntax highlighting thanks to the [prism-react-renderer](https://github.com/FormidableLabs/prism-react-renderer) v2 upgrade. For example, a bash param `--save` is now colored: ```bash npm install --save some-package From 826af7974318353333b8947e74612b21e0158eac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Tue, 24 Oct 2023 16:45:36 +0200 Subject: [PATCH 20/41] Update website/blog/releases/3.0/index.mdx Co-authored-by: Joshua Chen --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index f984c51e027a..875eee484d3d 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -267,7 +267,7 @@ In [#9316](https://github.com/facebook/docusaurus/pull/9316), we improved on syn npm install --save some-package ``` -The [interactive code editor](/docs/3.0.0-rc.0/markdown-features/code-blocks#interactive-code-editor) also upgrades to [react-live](https://github.com/FormidableLabs/react-live) v4, coming with a new [sucrase](https://github.com/alangpierce/sucrase) compiler. It is faster, lighter and supports modern features, notably TypeScript type annotations. +The [interactive code editor](/docs/3.0.0-rc.0/markdown-features/code-blocks#interactive-code-editor) also upgrades to [react-live](https://github.com/FormidableLabs/react-live) v4, coming with a new [sucrase](https://github.com/alangpierce/sucrase) compiler. It is faster, lighter, and supports modern features, notably TypeScript type annotations. ```js live function Hello() { From 5ee469639dc7767887ad04689f710c925209631c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Tue, 24 Oct 2023 16:45:46 +0200 Subject: [PATCH 21/41] Update website/blog/releases/3.0/index.mdx Co-authored-by: Joshua Chen --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 875eee484d3d..16f59bcf14a2 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -276,7 +276,7 @@ function Hello() { } ``` -In [#8982](https://github.com/facebook/docusaurus/pull/8982) and [#8870](https://github.com/facebook/docusaurus/pull/8870), we also added [Magic Comments](docs/3.0.0-rc.0/markdown-features/code-blocks#custom-magic-comments) support for TeX, LaTeX, Matlab, Lua, Haskell and WebAssembly. +In [#8982](https://github.com/facebook/docusaurus/pull/8982) and [#8870](https://github.com/facebook/docusaurus/pull/8870), we also added [magic comments](docs/3.0.0-rc.0/markdown-features/code-blocks#custom-magic-comments) support for TeX-like, Haskell-like, and WebAssembly comment syntax. ```haskell title="haskell.hs" stringLength :: String -> Int From d95a6de62fc08d2486771f4842f54d056ae23352 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Tue, 24 Oct 2023 16:47:55 +0200 Subject: [PATCH 22/41] Update website/blog/releases/3.0/index.mdx Co-authored-by: Joshua Chen --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 16f59bcf14a2..b43d62318d88 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -341,7 +341,7 @@ quadrantChart ### Query-string data attributes -In [#9028](https://github.com/facebook/docusaurus/pull/9028), we made it possible to set custom html [data attributes](https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes) though `docusaurus-data-x` query-string parameters. This makes it easier to embed a Docusaurus iframe on another site, and lets you customize the appearance of the embedded version with CSS. +In [#9028](https://github.com/facebook/docusaurus/pull/9028), we made it possible to set custom HTML [data attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/data-*) though `docusaurus-data-x` query-string parameters. This makes it easier to embed a Docusaurus iframe on another site, and lets you customize the appearance of the embedded version with CSS. ```css title="/src/css/custom.css" html[data-navbar='false'] .navbar { From 0c5de297f5abf7f3bbdb230832e26882479cd1a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Tue, 24 Oct 2023 16:48:52 +0200 Subject: [PATCH 23/41] Update website/blog/releases/3.0/index.mdx Co-authored-by: Joshua Chen --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index b43d62318d88..27255595b4fe 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -231,7 +231,7 @@ docusaurus build --dev Docusaurus will log more errors to the console, notably React 18 hydration errors through the new [`onRecoverableError` callback](https://react.dev/reference/react-dom/client/hydrateRoot#parameters). -This new build mode is particularly helpful to **troubleshot React problems**. Docusaurus will use the development build of React, including long, readable error messages instead of minified ones linking to the [React Error Decoder page](https://reactjs.org/docs/error-decoder.html/). +This new build mode is particularly helpful for **troubleshooting React problems**. Docusaurus will use the development build of React, thus producing detailed and readable error messages instead of minified ones linking to the [React Error Decoder page](https://reactjs.org/docs/error-decoder.html/). ::: From 2fd7568864456a67b47e44f274cf15d519603a95 Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Tue, 24 Oct 2023 17:46:58 +0200 Subject: [PATCH 24/41] Mention v2 support --- website/blog/releases/3.0/index.mdx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 27255595b4fe..a18dd041a688 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -14,7 +14,11 @@ At [**Meta Open Source**](https://opensource.fb.com/), we believe Docusaurus wil This is a new **major version** of Docusaurus, coming with **new exciting features** and upgraded dependencies. -We respect [**Semantic Versioning**](https://semver.org/) and this release also includes **breaking changes** that we documented thoroughly in the [**v3 upgrade guide**](/docs/3.0.0-rc.0/migration/v3). Breaking changes can be annoying, but are necessary to set the ground for a new wave of Docusaurus features that we plan to implement later. +We respect [**Semantic Versioning**](https://semver.org/) and this release also includes **breaking changes** that we documented thoroughly in the [**v3 upgrade guide**](/docs/3.0.0-rc.0/migration/v3). Breaking changes can be annoying, but are necessary to set the ground for a **new wave of Docusaurus features** that we plan to implement later. + +![v3.0 social-card image](./img/social-card.png) + +{/* truncate */} We initially planned to release more frequent major versions, but this one has taken longer than expected. **Upgrading to [MDX v2](https://mdxjs.com/blog/v2/) is the main challenge** to the adoption of this new version. We went the extra mile to make this upgrade as easy as possible, notably by adding [compatibility options for MDX v1](/docs/3.0.0-rc.0/api/docusaurus-config#markdown). @@ -23,9 +27,11 @@ The simplest sites will only need to upgrade a few npm dependencies. For more co - [Prepare your site](/blog/preparing-your-site-for-docusaurus-v3) ahead of time, incrementally, while staying on Docusaurus v2 - [Set up visual regression tests](/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing) to catch unexpected visual changes happening during the upgrade -![v3.0 social-card image](./img/social-card.png) +:::info About Docusaurus v2 -{/* truncate */} +According to our [release process](/community/release-process#stable-version), Docusaurus v2 has now entered **maintenance mode**. It will only receive support for major security issues for 3 months, until 31 January 2024. It is recommended to upgrade within that time frame to v3. + +::: import IframeWindow from '@site/src/components/BrowserWindow/IframeWindow'; From dddcd3e426948038265b56effc10cb5b5d39d364 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Wed, 25 Oct 2023 11:47:30 +0200 Subject: [PATCH 25/41] Update website/blog/releases/3.0/index.mdx Co-authored-by: Dmitry Vinnik --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index a18dd041a688..f91757af9d63 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -8,7 +8,7 @@ date: 2023-10-25 unlisted: true --- -Today we are happy to **announce Docusaurus 3.0**! 🥳 +Today, we are happy to **announce Docusaurus 3.0**! 🥳 At [**Meta Open Source**](https://opensource.fb.com/), we believe Docusaurus will help you build the **best documentation websites** with **minimal effort**, letting you **focus on what really matters**: writing the content. From e2b85f1cae838ff82fd6aa4aec143fbdb5678d43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Wed, 25 Oct 2023 11:47:57 +0200 Subject: [PATCH 26/41] Update website/blog/releases/3.0/index.mdx Co-authored-by: Joshua Chen --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index f91757af9d63..11e145cbf099 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -14,7 +14,7 @@ At [**Meta Open Source**](https://opensource.fb.com/), we believe Docusaurus wil This is a new **major version** of Docusaurus, coming with **new exciting features** and upgraded dependencies. -We respect [**Semantic Versioning**](https://semver.org/) and this release also includes **breaking changes** that we documented thoroughly in the [**v3 upgrade guide**](/docs/3.0.0-rc.0/migration/v3). Breaking changes can be annoying, but are necessary to set the ground for a **new wave of Docusaurus features** that we plan to implement later. +We respect [**Semantic Versioning**](https://semver.org/), so this release also includes **breaking changes** that we documented thoroughly in the [**v3 upgrade guide**](/docs/3.0.0-rc.0/migration/v3). Breaking changes can be annoying, but are necessary to set the ground for a **new wave of Docusaurus features** that we plan to implement later. ![v3.0 social-card image](./img/social-card.png) From 2d386bb191cc95b63b4419e442379ec8b20495fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Wed, 25 Oct 2023 11:48:24 +0200 Subject: [PATCH 27/41] Update website/blog/releases/3.0/index.mdx Co-authored-by: Joshua Chen --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 11e145cbf099..7812e578ea0d 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -20,7 +20,7 @@ We respect [**Semantic Versioning**](https://semver.org/), so this release also {/* truncate */} -We initially planned to release more frequent major versions, but this one has taken longer than expected. **Upgrading to [MDX v2](https://mdxjs.com/blog/v2/) is the main challenge** to the adoption of this new version. We went the extra mile to make this upgrade as easy as possible, notably by adding [compatibility options for MDX v1](/docs/3.0.0-rc.0/api/docusaurus-config#markdown). +We initially planned to release major versions more frequently, but this one has taken longer than expected. Among the breaking changes that we accrued, **upgrading to [MDX v2](https://mdxjs.com/blog/v2/)** is probably the main challenge to the adoption of this new version. We went the extra mile to make this upgrade as easy as possible, notably by adding [compatibility options for MDX v1](/docs/3.0.0-rc.0/api/docusaurus-config#markdown). The simplest sites will only need to upgrade a few npm dependencies. For more complex sites, we came up with a few strategies than can help you upgrade more confidently: From d760db36412feea7311c452849c2ee9e32a86746 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Wed, 25 Oct 2023 11:48:42 +0200 Subject: [PATCH 28/41] Update website/blog/releases/3.0/index.mdx Co-authored-by: Joshua Chen --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 7812e578ea0d..f1aa37c204ad 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -22,7 +22,7 @@ We respect [**Semantic Versioning**](https://semver.org/), so this release also We initially planned to release major versions more frequently, but this one has taken longer than expected. Among the breaking changes that we accrued, **upgrading to [MDX v2](https://mdxjs.com/blog/v2/)** is probably the main challenge to the adoption of this new version. We went the extra mile to make this upgrade as easy as possible, notably by adding [compatibility options for MDX v1](/docs/3.0.0-rc.0/api/docusaurus-config#markdown). -The simplest sites will only need to upgrade a few npm dependencies. For more complex sites, we came up with a few strategies than can help you upgrade more confidently: +The simplest sites will only need to upgrade a few npm dependencies. For more complex sites, we came up with a few strategies that can help you upgrade more confidently: - [Prepare your site](/blog/preparing-your-site-for-docusaurus-v3) ahead of time, incrementally, while staying on Docusaurus v2 - [Set up visual regression tests](/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing) to catch unexpected visual changes happening during the upgrade From f7388726c2031099b0c1757e9af54b41415b54b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Wed, 25 Oct 2023 11:48:59 +0200 Subject: [PATCH 29/41] Update website/blog/releases/3.0/index.mdx Co-authored-by: Joshua Chen --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index f1aa37c204ad..c7c249686995 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -37,7 +37,7 @@ import IframeWindow from '@site/src/components/BrowserWindow/IframeWindow'; ## Breaking changes -This section only gives you a quick glance. All the breaking changes are thoroughly documented on the [**v3 upgrade guide**](/docs/3.0.0-rc.0/migration/v3). +This section only gives you a quick glance. All the breaking changes are thoroughly documented in the [**v3 upgrade guide**](/docs/3.0.0-rc.0/migration/v3). Docusaurus v3 upgraded a few dependencies to new major versions, each coming with their own breaking changes: From 60b7e2b022349f44d3882e798777bf745e9557b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Wed, 25 Oct 2023 11:49:17 +0200 Subject: [PATCH 30/41] Update website/blog/releases/3.0/index.mdx Co-authored-by: Joshua Chen --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index c7c249686995..02841ef2ca3b 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -39,7 +39,7 @@ import IframeWindow from '@site/src/components/BrowserWindow/IframeWindow'; This section only gives you a quick glance. All the breaking changes are thoroughly documented in the [**v3 upgrade guide**](/docs/3.0.0-rc.0/migration/v3). -Docusaurus v3 upgraded a few dependencies to new major versions, each coming with their own breaking changes: +Docusaurus v3 upgraded a few dependencies to new major versions, each coming with its own breaking changes: - Node.js v16 ➡️ v18 - React v17 ➡️ v18 From 6d39057156b49e7a9993e6955b8152c3673d5d3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Wed, 25 Oct 2023 11:49:40 +0200 Subject: [PATCH 31/41] Update website/blog/releases/3.0/index.mdx Co-authored-by: Joshua Chen --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 02841ef2ca3b..89bfb38a6ed1 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -96,7 +96,7 @@ Apart from MDX v2, most breaking changes coming with those upgraded dependencies ## Highlights -A non-exhaustive list of new useful features coming with this new version. All the features are listed in the [**Docusaurus v3.0.0 release notes**](https://github.com/facebook/docusaurus/releases/tag/v3.0.0). +Below is a non-exhaustive list of new useful features coming with this new version. All the features are listed in the [**Docusaurus v3.0.0 release notes**](https://github.com/facebook/docusaurus/releases/tag/v3.0.0). ### Markdown From 82ef641d8265d8a94c372e9312cc8bdc95e0e73c Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Thu, 26 Oct 2023 17:01:09 +0200 Subject: [PATCH 32/41] review --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 89bfb38a6ed1..d97103d6e84a 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -14,7 +14,7 @@ At [**Meta Open Source**](https://opensource.fb.com/), we believe Docusaurus wil This is a new **major version** of Docusaurus, coming with **new exciting features** and upgraded dependencies. -We respect [**Semantic Versioning**](https://semver.org/), so this release also includes **breaking changes** that we documented thoroughly in the [**v3 upgrade guide**](/docs/3.0.0-rc.0/migration/v3). Breaking changes can be annoying, but are necessary to set the ground for a **new wave of Docusaurus features** that we plan to implement later. +In line with the [**Semantic Versioning**](https://semver.org/) principles, this release includes **breaking changes** we documented thoroughly in the [**v3 upgrade guide**](/docs/3.0.0-rc.0/migration/v3/). Breaking changes can be bothersome, but they are necessary to set the ground for a **new wave of Docusaurus features** we plan to implement. ![v3.0 social-card image](./img/social-card.png) From c8b71eb376c6a03d15ba28f48787a3f8c7ae82b6 Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Thu, 26 Oct 2023 17:03:39 +0200 Subject: [PATCH 33/41] review --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index d97103d6e84a..5cdf94e042ac 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -20,7 +20,7 @@ In line with the [**Semantic Versioning**](https://semver.org/) principles, this {/* truncate */} -We initially planned to release major versions more frequently, but this one has taken longer than expected. Among the breaking changes that we accrued, **upgrading to [MDX v2](https://mdxjs.com/blog/v2/)** is probably the main challenge to the adoption of this new version. We went the extra mile to make this upgrade as easy as possible, notably by adding [compatibility options for MDX v1](/docs/3.0.0-rc.0/api/docusaurus-config#markdown). +We initially planned to release more frequent major versions, but Docusaurus v3 has taken longer than expected. Among the breaking changes that we accrued, **upgrading to MDX v3** is probably the main challenge to the adoption of this new version. We went the extra mile to make this upgrade as easy as possible, notably by adding [compatibility options for MDX v1](/docs/3.0.0-rc.0/api/docusaurus-config#markdown). The simplest sites will only need to upgrade a few npm dependencies. For more complex sites, we came up with a few strategies that can help you upgrade more confidently: From c5d6be58f785b3b1fb71b459f6fe861ca4ac7ea7 Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Thu, 26 Oct 2023 17:17:56 +0200 Subject: [PATCH 34/41] mdx v2 => v3 --- website/blog/releases/3.0/index.mdx | 23 ++++++++++++++++------- website/docs/migration/v3.mdx | 2 +- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 5cdf94e042ac..bf3a574fc610 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -60,9 +60,9 @@ A typical `package.json` dependency upgrade looks like: - "@docusaurus/preset-classic": "2.4.3", + "@docusaurus/core": "3.0.0", + "@docusaurus/preset-classic": "3.0.0", - // upgrade to MDX v2 + // upgrade to MDX v3 - "@mdx-js/react": "^1.6.22", -+ "@mdx-js/react": "^2.3.0", ++ "@mdx-js/react": "^3.0.0", // upgrade to prism-react-renderer v2.0+ - "prism-react-renderer": "^1.3.5", + "prism-react-renderer": "^2.1.0", @@ -87,7 +87,7 @@ A typical `package.json` dependency upgrade looks like: } ``` -Apart from MDX v2, most breaking changes coming with those upgraded dependencies have been handled internally for you: most of the time, you shouldn't have to do anything. Outside of dependencies, the only functional breaking changes coming explicitly from the Docusaurus codebase are: +Apart from MDX v3, most breaking changes coming with those upgraded dependencies have been handled internally for you: most of the time, you shouldn't have to do anything. Outside of dependencies, the only functional breaking changes coming explicitly from the Docusaurus codebase are: - [#9189](https://github.com/facebook/docusaurus/pull/9189): new default blog RSS feed limit of 20 entries - [#9308](https://github.com/facebook/docusaurus/pull/9308): fix and re-introduce the `:::warning` admonition, deprecate `:::caution` @@ -100,11 +100,20 @@ Below is a non-exhaustive list of new useful features coming with this new versi ### Markdown -In [#8288](https://github.com/facebook/docusaurus/pull/8288), we upgraded to [**MDX v2**](https://mdxjs.com/blog/v2/). This new version is **much better for content writers and plugin authors**, and lays the ground for implementing new exciting Markdown features. +Docusaurus v3 upgraded from MDX v1 to MDX v3: -:::warning MDX v2 - the main challenge +- in [#8288](https://github.com/facebook/docusaurus/pull/8288), we upgraded to [**MDX v2**](https://mdxjs.com/blog/v2/) ([migration guide](https://mdxjs.com/migrating/v2/)) +- in [#9451](https://github.com/facebook/docusaurus/pull/9451), we upgraded to [**MDX v3**](https://mdxjs.com/blog/v3/) ([migration guide](https://mdxjs.com/migrating/v3/)) -The [**upgrade to MDX v2**](https://mdxjs.com/blog/v2/) is the main upgrade challenge. Some documents that compiled successfully under Docusaurus v2 might now **fail to compile** under Docusaurus v3, while others might **render differently**. +This new MDX version is **much better for content writers and plugin authors**, and lays the ground for implementing new exciting Markdown features. + +:::warning MDX v3 - the main challenge + +The transition from MDX v1 to MDX v3 is the **main challenge** to the adoption of Docusaurus v3. + +Some documents that compiled successfully under Docusaurus v2 might now **fail to compile** under Docusaurus v3, while others might **render differently**. + +Most breaking changes come from [MDX v2](https://mdxjs.com/blog/v2/), and [MDX v3](https://mdxjs.com/blog/v3/) is a relatively small release. The [MDX v2 migration guide](https://mdxjs.com/migrating/v2/) has a section on how to [update MDX files](https://mdxjs.com/migrating/v2/#update-mdx-files) that will be particularly relevant to us. Also make sure to read the [Troubleshooting MDX](https://mdxjs.com/docs/troubleshooting-mdx/) page that can help you interpret common MDX error messages. **Don't be intimidated**. Most problems are **easy to fix** and often related to `{` and `<` characters that you now need to escape. However, depending on the size of your site, you might need to edit many files and feel overwhelmed. For this reason, we provide a command [`npx docusaurus-mdx-checker`](https://github.com/slorber/docusaurus-mdx-checker) to help you get an estimate of the work to be done, and we recommend to [prepare your site in advance](/blog/preparing-your-site-for-docusaurus-v3). @@ -377,7 +386,7 @@ Read [**Docusaurus v3.0.0 release notes**](https://github.com/facebook/docusauru This release comes with a few features, but more importantly **upgrades many pieces of the Docusaurus infrastructure**. -The adoption of **MDX v2** consumed a lot of our time this year, and we worked hard to make this important upgrade less difficult for all of you. +The **MDX upgrade** consumed a lot of our time this year, and we worked hard to make this important upgrade less difficult for all of you. Now that we've caught up with our infrastructure, we'll be back **delivering useful documentation features** very soon, in upcoming minor versions. diff --git a/website/docs/migration/v3.mdx b/website/docs/migration/v3.mdx index 833527b5b6e4..0d80d790c68a 100644 --- a/website/docs/migration/v3.mdx +++ b/website/docs/migration/v3.mdx @@ -129,7 +129,7 @@ For large sites where a manual review of all pages is complicated, we recommend ::: -Upgrading MDX comes with all the breaking changes documented on the [MDX v2](https://mdxjs.com/blog/v2/) and [MDX v3](https://mdxjs.com/blog/v3/) release blog posts. Most breaking changes come from MDX v2. The [MDX v2 migration guide](https://mdxjs.com/migrating/v2/) has a section on how to [update MDX files](https://mdxjs.com/migrating/v2/#update-mdx-files) that will be particularly relevant to us. Also make sure to read the [Troubleshooting MDX](https://mdxjs.com/docs/troubleshooting-mdx/) page that can help you interpret common MDX error messages. +Upgrading MDX comes with all the breaking changes documented on the [MDX v2](https://mdxjs.com/blog/v2/) and [MDX v3](https://mdxjs.com/blog/v3/) release blog posts. Most breaking changes come from MDX v2, and MDX v3 is a relatively small release. The [MDX v2 migration guide](https://mdxjs.com/migrating/v2/) has a section on how to [update MDX files](https://mdxjs.com/migrating/v2/#update-mdx-files) that will be particularly relevant to us. Also make sure to read the [Troubleshooting MDX](https://mdxjs.com/docs/troubleshooting-mdx/) page that can help you interpret common MDX error messages. Make sure to also read our updated [**MDX and React**](../guides/markdown-features/markdown-features-react.mdx) documentation page. From 59abe69c5a3fa4c429a1eb9d12281b7aa36f5434 Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Thu, 26 Oct 2023 17:32:51 +0200 Subject: [PATCH 35/41] update blog post metadata --- website/blog/releases/3.0/index.mdx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index bf3a574fc610..7f80f6d590e9 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -4,8 +4,7 @@ authors: - slorber tags: [release] image: ./img/social-card.png -date: 2023-10-25 -unlisted: true +date: 2023-10-30 --- Today, we are happy to **announce Docusaurus 3.0**! 🥳 From 62a2f73f625160845ec4a36f938cb1368c7d3d57 Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Thu, 26 Oct 2023 18:21:07 +0200 Subject: [PATCH 36/41] blog post fixes --- website/blog/releases/3.0/index.mdx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 7f80f6d590e9..50edfec8270c 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -42,12 +42,13 @@ Docusaurus v3 upgraded a few dependencies to new major versions, each coming wit - Node.js v16 ➡️ v18 - React v17 ➡️ v18 -- MDX v1 ➡️ v2 +- MDX v1 ➡️ v3 - TypeScript v4 ➡️ v5 - prism-react-renderer v1 ➡️ v2 - react-live v2 ➡️ v4 - Mermaid v9 ➡️ v10 - import-fresh v3 ➡️ jiti v1 +- remark-emoji v2 ➡️ v4 A typical `package.json` dependency upgrade looks like: From 6bd32d7a48c703dadb2e808e7892c9e966826dc9 Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Thu, 26 Oct 2023 18:35:30 +0200 Subject: [PATCH 37/41] prepare v3 landing page --- website/docusaurus.config.ts | 7 +++++-- website/src/pages/index.tsx | 14 ++++++-------- website/src/pages/styles.module.css | 9 +++++---- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts index 80d390572183..9bd7288a4f7f 100644 --- a/website/docusaurus.config.ts +++ b/website/docusaurus.config.ts @@ -94,8 +94,10 @@ const isI18nStaging = process.env.I18N_STAGING === 'true'; const isVersioningDisabled = !!process.env.DISABLE_VERSIONING || isI18nStaging; +/* const TwitterSvg = ''; +*/ const defaultLocale = 'en'; @@ -473,8 +475,9 @@ export default async function createConfigAsync() { respectPrefersColorScheme: true, }, announcementBar: { - id: 'announcementBar-2', // Increment on change - content: `⭐️ If you like Docusaurus, give it a star on
GitHub and follow us on Twitter ${TwitterSvg}`, + id: 'announcementBar-3', // Increment on change + // content: `⭐️ If you like Docusaurus, give it a star on GitHub and follow us on Twitter ${TwitterSvg}`, + content: `🎉️ Docusaurus v3.0 it now out! 🥳️`, }, prism: { additionalLanguages: [ diff --git a/website/src/pages/index.tsx b/website/src/pages/index.tsx index ecd3772d379f..4549b6ddf6d8 100644 --- a/website/src/pages/index.tsx +++ b/website/src/pages/index.tsx @@ -19,12 +19,10 @@ import Tweet from '@site/src/components/Tweet'; import Tweets, {type TweetItem} from '@site/src/data/tweets'; import Quotes from '@site/src/data/quotes'; import Features, {type FeatureItem} from '@site/src/data/features'; +import Heading from '@theme/Heading'; -import ProductHuntCard from '@site/src/components/ProductHuntCard'; -import HackerNewsIcon from '@site/src/components/HackerNewsIcon'; import styles from './styles.module.css'; import 'react-lite-youtube-embed/dist/LiteYouTubeEmbed.css'; -import Heading from '@theme/Heading'; function HeroBanner() { return ( @@ -253,15 +251,14 @@ function TopBanner() {
{'🎉\xa0'} - - - {'Docusaurus\xa02.0 is\xa0out!️'} + + + {'Docusaurus\xa03.0 is\xa0out!️'} {'\xa0🥳'}
+ {/*
@@ -290,6 +287,7 @@ function TopBanner() {
+ */}
); } diff --git a/website/src/pages/styles.module.css b/website/src/pages/styles.module.css index d318799c2d7f..fd152d9c6db4 100644 --- a/website/src/pages/styles.module.css +++ b/website/src/pages/styles.module.css @@ -51,7 +51,7 @@ .topBanner { font-size: 20px; - padding: 20px; + padding: 30px 20px; max-width: 900px; margin: 0 auto; text-align: center; @@ -68,22 +68,23 @@ @media only screen and (max-width: 768px) { .topBannerTitle { - font-size: 34px; + font-size: 40px; } } .topBannerTitleText { - background: linear-gradient(45deg, #399cff, #00c775 80%); + background: linear-gradient(90deg, rgb(131 58 180 / 100%) 0%, rgb(253 29 29 / 100%) 50%, rgb(252 176 69 / 100%) 100%); background-clip: text; -webkit-text-fill-color: transparent; } .topBannerTitleText:hover { border-bottom: solid 2px; + border-color: rgb(152 0 255); } html[data-theme='dark'] .topBannerTitleText { - background: linear-gradient(45deg, #399cff, #00ff95 80%); + background: linear-gradient(90deg, rgb(152 0 255) 0%, rgb(246 41 41) 50%, rgb(255 169 8) 100%); background-clip: text; -webkit-text-fill-color: transparent; } From 18d2f1e1b8d05ec7883de1b53373ae48b61a80b7 Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Thu, 26 Oct 2023 18:44:14 +0200 Subject: [PATCH 38/41] prepare v3 landing page --- website/src/css/custom.css | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/website/src/css/custom.css b/website/src/css/custom.css index ee42cd91be91..2a0150bb23a4 100644 --- a/website/src/css/custom.css +++ b/website/src/css/custom.css @@ -154,12 +154,19 @@ html[data-theme='dark'] { } div[class^='announcementBar_'] { + font-size: 20px; + + /* --site-announcement-bar-stripe-color1: hsl( var(--site-primary-hue-saturation) 85% ); --site-announcement-bar-stripe-color2: hsl( var(--site-primary-hue-saturation) 95% ); + */ + --site-announcement-bar-stripe-color1: #e8d7ff; + --site-announcement-bar-stripe-color2: #ffe9d1; + background: repeating-linear-gradient( 35deg, var(--site-announcement-bar-stripe-color1), From ffd9a9c060a5e829febb596e9ed40fb778ac602a Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Thu, 26 Oct 2023 18:53:17 +0200 Subject: [PATCH 39/41] simplify homepage --- website/src/pages/index.tsx | 36 +++-------------------------- website/src/pages/styles.module.css | 16 ++++++++++--- 2 files changed, 16 insertions(+), 36 deletions(-) diff --git a/website/src/pages/index.tsx b/website/src/pages/index.tsx index 4549b6ddf6d8..1384d185b91c 100644 --- a/website/src/pages/index.tsx +++ b/website/src/pages/index.tsx @@ -72,32 +72,6 @@ function HeroBanner() { ); } -function MigrationAnnouncement() { - return ( -
-
- - Docusaurus v1 - - ), - migrationGuideLink: ( - - v1 to v2 migration guide - - ), - }}> - {`Coming from {docusaurusV1Link}? Check out our {migrationGuideLink}.`} - -
-
- ); -} - function TweetsSection() { const tweetColumns: TweetItem[][] = [[], [], []]; Tweets.filter((tweet) => tweet.showOnHomepage).forEach((tweet, i) => @@ -156,7 +130,7 @@ function QuotesSection() { function VideoContainer() { return ( -
+
@@ -210,10 +184,7 @@ function FeaturesContainer() { return (
- - Main features - -
+
{firstRow.map((feature, idx) => ( ))} @@ -302,10 +273,9 @@ export default function Home(): JSX.Element {
-
- +
diff --git a/website/src/pages/styles.module.css b/website/src/pages/styles.module.css index fd152d9c6db4..051294057eb3 100644 --- a/website/src/pages/styles.module.css +++ b/website/src/pages/styles.module.css @@ -6,7 +6,7 @@ */ .section { - padding: 72px 0; + padding: 40px 0; } .sectionAlt { @@ -73,7 +73,12 @@ } .topBannerTitleText { - background: linear-gradient(90deg, rgb(131 58 180 / 100%) 0%, rgb(253 29 29 / 100%) 50%, rgb(252 176 69 / 100%) 100%); + background: linear-gradient( + 90deg, + rgb(131 58 180 / 100%) 0%, + rgb(253 29 29 / 100%) 50%, + rgb(252 176 69 / 100%) 100% + ); background-clip: text; -webkit-text-fill-color: transparent; } @@ -84,7 +89,12 @@ } html[data-theme='dark'] .topBannerTitleText { - background: linear-gradient(90deg, rgb(152 0 255) 0%, rgb(246 41 41) 50%, rgb(255 169 8) 100%); + background: linear-gradient( + 90deg, + rgb(152 0 255) 0%, + rgb(246 41 41) 50%, + rgb(255 169 8) 100% + ); background-clip: text; -webkit-text-fill-color: transparent; } From c8695b7c21eadcad4645d830ee186a6d572d75cf Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Tue, 31 Oct 2023 16:43:21 +0100 Subject: [PATCH 40/41] fix hardcoded version paths --- .../index.mdx | 6 +++--- website/blog/releases/3.0/index.mdx | 18 +++++++++--------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/website/blog/2023-09-29-preparing-your-site-for-docusaurus-v3/index.mdx b/website/blog/2023-09-29-preparing-your-site-for-docusaurus-v3/index.mdx index bea9892912fc..7939fb69af15 100644 --- a/website/blog/2023-09-29-preparing-your-site-for-docusaurus-v3/index.mdx +++ b/website/blog/2023-09-29-preparing-your-site-for-docusaurus-v3/index.mdx @@ -49,7 +49,7 @@ MDX v3 is much better, but also comes with changes that probably require you to Upgrading MDX comes with all the breaking changes documented on the [MDX v2](https://mdxjs.com/blog/v2/) and [MDX v3](https://mdxjs.com/blog/v3/) release blog posts. Most breaking changes come from MDX v2. The [MDX v2 migration guide](https://mdxjs.com/migrating/v2/) has a section on how to [update MDX files](https://mdxjs.com/migrating/v2/#update-mdx-files) that will be particularly relevant to us. Also make sure to read the [Troubleshooting MDX](https://mdxjs.com/docs/troubleshooting-mdx/) page that can help you interpret common MDX error messages. -Make sure to also read our updated [**MDX and React**](/docs/3.0.0/markdown-features/react) documentation page. +Make sure to also read our updated [**MDX and React**](/docs/markdown-features/react) documentation page. :::tip Ask for help @@ -214,14 +214,14 @@ http://localhost:3000 #### Lower-case MDXComponent mapping -For users providing a [custom `MDXComponent`mapping](/docs/3.0.0/markdown-features/react#mdx-component-scope), components are now "sandboxed": +For users providing a [custom `MDXComponent`mapping](/docs/markdown-features/react#mdx-component-scope), components are now "sandboxed": - a `MDXComponent` mapping for `h1` only gets used for `# hi` but not for `

hi

` - a **lower-cased** custom element name will not be substituted by its respective `MDXComponent` component anymore :::danger visual difference -Your [`MDXComponent` component mapping](/docs/3.0.0/markdown-features/react#mdx-component-scope) might not be applied as before, and your custom components might no longer be used. +Your [`MDXComponent` component mapping](/docs/markdown-features/react#mdx-component-scope) might not be applied as before, and your custom components might no longer be used. ::: diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 50edfec8270c..7d10bd2b3254 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -13,13 +13,13 @@ At [**Meta Open Source**](https://opensource.fb.com/), we believe Docusaurus wil This is a new **major version** of Docusaurus, coming with **new exciting features** and upgraded dependencies. -In line with the [**Semantic Versioning**](https://semver.org/) principles, this release includes **breaking changes** we documented thoroughly in the [**v3 upgrade guide**](/docs/3.0.0-rc.0/migration/v3/). Breaking changes can be bothersome, but they are necessary to set the ground for a **new wave of Docusaurus features** we plan to implement. +In line with the [**Semantic Versioning**](https://semver.org/) principles, this release includes **breaking changes** we documented thoroughly in the [**v3 upgrade guide**](/docs/migration/v3/). Breaking changes can be bothersome, but they are necessary to set the ground for a **new wave of Docusaurus features** we plan to implement. ![v3.0 social-card image](./img/social-card.png) {/* truncate */} -We initially planned to release more frequent major versions, but Docusaurus v3 has taken longer than expected. Among the breaking changes that we accrued, **upgrading to MDX v3** is probably the main challenge to the adoption of this new version. We went the extra mile to make this upgrade as easy as possible, notably by adding [compatibility options for MDX v1](/docs/3.0.0-rc.0/api/docusaurus-config#markdown). +We initially planned to release more frequent major versions, but Docusaurus v3 has taken longer than expected. Among the breaking changes that we accrued, **upgrading to MDX v3** is probably the main challenge to the adoption of this new version. We went the extra mile to make this upgrade as easy as possible, notably by adding [compatibility options for MDX v1](/docs/api/docusaurus-config#markdown). The simplest sites will only need to upgrade a few npm dependencies. For more complex sites, we came up with a few strategies that can help you upgrade more confidently: @@ -36,7 +36,7 @@ import IframeWindow from '@site/src/components/BrowserWindow/IframeWindow'; ## Breaking changes -This section only gives you a quick glance. All the breaking changes are thoroughly documented in the [**v3 upgrade guide**](/docs/3.0.0-rc.0/migration/v3). +This section only gives you a quick glance. All the breaking changes are thoroughly documented in the [**v3 upgrade guide**](/docs/migration/v3). Docusaurus v3 upgraded a few dependencies to new major versions, each coming with its own breaking changes: @@ -121,9 +121,9 @@ If you created custom [MDX plugins](/docs/markdown-features/plugins) (Remark/Reh ::: -This notably enables us to add a [CommonMark mode](/docs/3.0.0-rc.0/markdown-features#mdx-vs-commonmark) that should make it easier for existing documentations to adopt Docusaurus. It is currently opt-in and **experimental** and limited ([some Docusaurus features will not work](https://github.com/facebook/docusaurus/issues/9092)). In Docusaurus v3, all files are still interpreted as MDX, but we plan to interpret `.md` files as CommonMark in an upcoming major version, and recommend to use the `.mdx` extension for any file using JSX or ES modules. +This notably enables us to add a [CommonMark mode](/docs/markdown-features#mdx-vs-commonmark) that should make it easier for existing documentations to adopt Docusaurus. It is currently opt-in and **experimental** and limited ([some Docusaurus features will not work](https://github.com/facebook/docusaurus/issues/9092)). In Docusaurus v3, all files are still interpreted as MDX, but we plan to interpret `.md` files as CommonMark in an upcoming major version, and recommend to use the `.mdx` extension for any file using JSX or ES modules. -We also introduced a new way to [configure Markdown globally for your site](/docs/3.0.0-rc.0/api/docusaurus-config#markdown), and plan to add more flexible options later. +We also introduced a new way to [configure Markdown globally for your site](/docs/api/docusaurus-config#markdown), and plan to add more flexible options later. ```js title="docusaurus.config.js" export default { @@ -282,7 +282,7 @@ In [#9316](https://github.com/facebook/docusaurus/pull/9316), we improved on syn npm install --save some-package ``` -The [interactive code editor](/docs/3.0.0-rc.0/markdown-features/code-blocks#interactive-code-editor) also upgrades to [react-live](https://github.com/FormidableLabs/react-live) v4, coming with a new [sucrase](https://github.com/alangpierce/sucrase) compiler. It is faster, lighter, and supports modern features, notably TypeScript type annotations. +The [interactive code editor](/docs/markdown-features/code-blocks#interactive-code-editor) also upgrades to [react-live](https://github.com/FormidableLabs/react-live) v4, coming with a new [sucrase](https://github.com/alangpierce/sucrase) compiler. It is faster, lighter, and supports modern features, notably TypeScript type annotations. ```js live function Hello() { @@ -291,7 +291,7 @@ function Hello() { } ``` -In [#8982](https://github.com/facebook/docusaurus/pull/8982) and [#8870](https://github.com/facebook/docusaurus/pull/8870), we also added [magic comments](docs/3.0.0-rc.0/markdown-features/code-blocks#custom-magic-comments) support for TeX-like, Haskell-like, and WebAssembly comment syntax. +In [#8982](https://github.com/facebook/docusaurus/pull/8982) and [#8870](https://github.com/facebook/docusaurus/pull/8870), we also added [magic comments](docs/markdown-features/code-blocks#custom-magic-comments) support for TeX-like, Haskell-like, and WebAssembly comment syntax. ```haskell title="haskell.hs" stringLength :: String -> Int @@ -377,8 +377,8 @@ Other new features worth mentioning: - [#9189](https://github.com/facebook/docusaurus/pull/9189): new blog `feedOptions.limit` option - [#9071](https://github.com/facebook/docusaurus/pull/9071): add normalized SEO front matter support for the pages plugin - [#9171](https://github.com/facebook/docusaurus/pull/9028): the client-redirects plugin now supports fully qualified urls and query-string/hash in destination url -- [#9171](https://github.com/facebook/docusaurus/pull/9171): new ESLint rule [`no-html-links`](/docs/3.0.0-rc.0/api/misc/@docusaurus/eslint-plugin/no-html-links) -- [#8384](https://github.com/facebook/docusaurus/pull/8384): new ESLint rule [`prefer-docusaurus-heading`](/docs/3.0.0-rc.0/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading) +- [#9171](https://github.com/facebook/docusaurus/pull/9171): new ESLint rule [`no-html-links`](/docs/api/misc/@docusaurus/eslint-plugin/no-html-links) +- [#8384](https://github.com/facebook/docusaurus/pull/8384): new ESLint rule [`prefer-docusaurus-heading`](/docs/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading) Read [**Docusaurus v3.0.0 release notes**](https://github.com/facebook/docusaurus/releases/tag/v3.0.0) for an exhaustive list of changes. From a8c749077bf1bfb2a37d0a326407d086dd0b7786 Mon Sep 17 00:00:00 2001 From: sebastienlorber Date: Tue, 31 Oct 2023 16:54:26 +0100 Subject: [PATCH 41/41] change v3 release date --- website/blog/releases/3.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/releases/3.0/index.mdx b/website/blog/releases/3.0/index.mdx index 7d10bd2b3254..13db01db308b 100644 --- a/website/blog/releases/3.0/index.mdx +++ b/website/blog/releases/3.0/index.mdx @@ -4,7 +4,7 @@ authors: - slorber tags: [release] image: ./img/social-card.png -date: 2023-10-30 +date: 2023-10-31 --- Today, we are happy to **announce Docusaurus 3.0**! 🥳