Migrating from Docusaurus v1 to v2 / v3+ for website
@anupriya13 已经在做这个了。
开始于 2025年4月21日。
评估
这个 Issue 还没有评估数据。
描述
Check latest updates from Docusaurus here: https://docusaurus.io/docs
Refer https://github.com/facebook/react-native-website/blob/main/website/docusaurus.config.ts
https://docusaurus.io/docs/migration
🔁 Step-by-Step Migration from Docusaurus v1 → v2
1. 📦 Install Docusaurus v2
bashCopyEditnpm install --save @docusaurus/core@latest @docusaurus/preset-classic@latest
Or if using Yarn:
bashCopyEdityarn add @docusaurus/core@latest @docusaurus/preset-classic@latest
2. 📁 Rename siteConfig.js to docusaurus.config.js
Then start adapting its contents. For example:
v1:
jsCopyEditconst siteConfig = {
title: 'My Site',
tagline: 'The tagline',
...
};
v2:
jsCopyEditmodule.exports = {
title: 'My Site',
tagline: 'The tagline',
url: 'https://yoursite.com',
baseUrl: '/',
...
}
More about docusaurus.config.js:
👉 v2 config reference
3. 🧹 Remove pages/ and use /src/pages
Docusaurus v2 uses src/pages for your custom React pages.
You can convert Markdown docs to use the docs/ folder and React pages into src/pages.
4. 📑 Move docs/, update sidebar
-
Keep your Markdown files under
/docs. -
Create a
sidebars.jsfile for navigation:
jsCopyEditmodule.exports = {
docs: [
{
type: 'category',
label: 'Getting Started',
items: ['intro', 'installation'],
},
],
};
5. 🎨 Update custom styling
-
Put custom CSS into
src/css/custom.css. -
Add it to your config:
jsCopyEdittheme: {
customCss: require.resolve('./src/css/custom.css'),
},
6. ✨ Use Presets
In docusaurus.config.js, use the @docusaurus/preset-classic preset to enable docs/blog/theme:
jsCopyEditpresets: [
[
'@docusaurus/preset-classic',
{
docs: {
sidebarPath: require.resolve('./sidebars.js'),
editUrl: 'https://github.com/your-org/repo/edit/main/docs/',
},
theme: {
customCss: require.resolve('./src/css/custom.css'),
},
},
],
],
7. 🖼 Update Images and Assets
Move static assets like logos, favicons, etc. into /static.
bashCopyEdit/static/img/...
Access them in code like /img/logo.svg.
8. 🧪 Test Locally
bashCopyEditnpx docusaurus start
This runs your site at http://localhost:3000
🧰 Optional: Use Migration Tool
There's a v1 to v2 migration tool to help convert common config:
bashCopyEditnpx @docusaurus/migrate
Run it inside your existing Docusaurus v1 project.
✅ Summary Checklist
Task Done?
| Task | Done? |
|---|---|
| Install v2 packages | 🔜 |
| Rename siteConfig.js | 🔜 |
| Setup docs, src/pages | 🔜 |
| Create sidebars.js | 🔜 |
| Move assets to /static | 🔜 |
| Update styling | 🔜 |
| Run site locally | 🔜 |
To migrate your Docusaurus site to version 3.7, follow these steps:
📦 1. Upgrade Dependencies
Update your Docusaurus packages to the latest versions:
npm install @docusaurus/core@latest @docusaurus/preset-classic@latest
yarn add @docusaurus/core@latest @docusaurus/preset-classic@latest
🔄 2. Review Breaking Changes
Docusaurus v3 introduces updates, especially related to MDX. Review the migration guide to understand necessary changes:
Docusaurus v3 Migration Guide
docusaurus.io
🚀 3. Leverage New Features in v3.7
Docusaurus v3.7 includes several enhancements:
docusaurus.io
React 19 Support.
Rspack Incremental Builds: Improved build performance with Rspack incremental builds enabled by default.
Enhanced Blog Plugin: Support for additional author social icons like Bluesky, Mastodon, Threads, Twitch, YouTube, and Instagram.
New SVGR Plugin: Facilitates importing SVGs as React components.
For a comprehensive list of changes, refer to the v3.7.0 changelog.
docusaurus.io
🧪 4. Test Your Site
After upgrading, run your site locally to ensure everything works as expected:
npm run start
Address any issues that arise during testing.
- 主要语言
- C#
- 星标
- 544
- 派生
- 218
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 没有贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
microsoft/react-native-windows-samples 的其他 Issue
-
bug documentation Needs: Triage :mag:
难度 2/5 1-3 小时 新手友好度 78/100
-
bug documentation Needs: Triage :mag:
难度 2/5 1-3 小时 新手友好度 72/100
-
Document node 18 dependecies可能已有人在做 @Danielweng0902 于 120 天前认领。 未关闭documentation enhancement good first issue good first issue: easy
难度 1/5 1 小时以内 新手友好度 82/100
microsoft/react-native-windows-samples#861 · 2 条评论 ·
-
Update the sample projects to be compatible with react-native-windows 0.82.0-preview.8可能重新可做 @iamAbhi-916 于 257 天前认领,目前没有进行中的 PR。 未关闭enhancement Workstream: Gallery and Samples
microsoft/react-native-windows-samples#1141 · 已指派 1 人 ·
-
Update CI pipeline to windows-latest when main has changes ready可能重新可做 @vineethkuttan 于 344 天前认领,目前没有进行中的 PR。 未关闭bug
microsoft/react-native-windows-samples#1099 · 已指派 1 人 ·
查看 microsoft/react-native-windows-samples 的全部 Issue
相似的 Issue
-
7.0
难度 2/5 1-3 小时 新手友好度 72/100
unoplatform/uno.extensions#3253 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 62/100
Sector-Vestige/Sector-Vestige#476 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 75/100
PowerShell/platyPS#868 ·
-
S: Untriaged
难度 2/5 1-3 小时 新手友好度 62/100
Trauma-Station/Trauma-Station#5058 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 2 天内回复