Skip to main content

Overview

This doc guides you through migrating an existing Docusaurus 1 site to Docusaurus 2.

We try to make this as easy as possible, and provide a migration CLI.

Main differences​

Docusaurus 1 is a pure documentation site generator, using React as a server-side template engine, but not loading React on the browser.

Docusaurus 2, rebuilt from the ground up, generates a single-page-application, using the full power of React in the browser. It allows for more customizability but preserved the best parts of Docusaurus 1 - easy to get started, versioned docs, and i18n.

Beyond that, Docusaurus 2 is a performant static site generator and can be used to create common content-driven websites (e.g. Documentation, Blogs, Product Landing and Marketing Pages, etc) extremely quickly.

While our main focus will still be helping you get your documentations right and well, it is possible to build any kind of website using Docusaurus 2 as it is just a React application. Docusaurus can now be used to build any website, not just documentation websites.

Docusaurus 1 structure​

Your Docusaurus 1 site should have the following structure:

β”œβ”€β”€ docs
└── website
β”œβ”€β”€ blog
β”œβ”€β”€ core
β”‚ └── Footer.js
β”œβ”€β”€ package.json
β”œβ”€β”€ pages
β”œβ”€β”€ sidebars.json
β”œβ”€β”€ siteConfig.js
└── static

Docusaurus 2 structure​

After the migration, your Docusaurus 2 site could look like:

β”œβ”€β”€ docs
└── website
β”œβ”€β”€ blog
β”œβ”€β”€ src
β”‚ β”œβ”€β”€ components
β”‚ β”œβ”€β”€ css
β”‚ └── pages
β”œβ”€β”€ static
β”œβ”€β”€ package.json
β”œβ”€β”€ sidebars.json
β”œβ”€β”€ docusaurus.config.js
info

This migration does not change the /docs folder location, but Docusaurus v2 sites generally have the /docs folder inside /website

You are free to put the /docs folder anywhere you want after having migrated to v2.

Migration process​

There are multiple things to migrate to obtain a fully functional Docusaurus 2 website:

  • packages
  • CLI commands
  • site configuration
  • Markdown files
  • sidebars file
  • pages, components and CSS
  • versioned docs
  • i18n support 🚧

Automated migration process​

The migration CLI will handle many things of the migration for you.

However, some parts can't easily be automated, and you will have to fallback to the manual process.

note

We recommend running the migration CLI, and complete the missing parts thanks to the manual migration process.

Manual migration process​

Some parts of the migration can't be automated (particularly the pages), and you will have to migrate them manually.

The manual migration guide will give you all the manual steps.

Support​

For any questions, you can ask in the #migration-v1-to-v2 Discord channel.

Feel free to tag @slorber in any migration PRs if you would like us to have a look.

We also have volunteers willing to help you migrate your v1 site.

Example migration PRs​

You might want to refer to our migration PRs for Create React App and Flux as examples of how a migration for a basic Docusaurus v1 site can be done.