Migrating from Docusaurus v1 to v2 / v3+ for website

Offen
#1,026 1 Kommentar 0 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

Maintainer antworten meist innerhalb von 6 Tagen

@anupriya13 arbeitet bereits daran.

Seit 21.4.2025.

Bewertung

Dieses Issue wurde noch nicht bewertet.

Beschreibung

documentation enhancement website

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.js file 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.

Vorherrschende Sprache
JavaScript
Sterne
544
Forks
218
Ø Merge
2 Std. 53 Min.
Gemergte PRs (30 T.)
6

Entwicklungsumgebung

  • Enthält ein Dockerfile oder eine Docker-Compose-Datei
  • Hat eine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus microsoft/react-native-windows-samples

Alle Issues in microsoft/react-native-windows-samples

Ähnliche Issues

Weitere Issues zu JavaScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.