VitePress to Docusaurus Migration Guide
This guide documents the migration from VitePress to Docusaurus for the MCP ADR Analysis Server documentation.
๐ฏ Migration Overviewโ
From: VitePress v1.0.0
To: Docusaurus v3.1.0
Reason: Better React ecosystem integration, enhanced plugin system, superior MDX support, and more robust documentation features
๐ What Changedโ
1. Configuration Filesโ
Removed (VitePress)โ
.vitepress/config.js
- VitePress configuration.vitepress/dist/
- VitePress build output
Added (Docusaurus)โ
docusaurus.config.js
- Main Docusaurus configurationsidebars.js
- Sidebar navigation configurationsrc/css/custom.css
- Custom stylingstatic/img/
- Static assets directorybuild/
- Docusaurus build output (gitignored).docusaurus/
- Docusaurus cache (gitignored)
2. Package Dependenciesโ
Removedโ
{
"vitepress": "^1.0.0",
"vitepress-plugin-mermaid": "^2.0.17"
}
Addedโ
{
"@docusaurus/core": "^3.1.0",
"@docusaurus/preset-classic": "^3.1.0",
"@docusaurus/theme-mermaid": "^3.1.0",
"@mdx-js/react": "^3.0.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"
}
3. Scripts Updatedโ
Old (VitePress) | New (Docusaurus) | Description |
---|---|---|
npm run dev | npm run start or npm run dev | Start development server |
npm run build | npm run build | Build for production |
npm run preview | npm run serve | Preview production build |
N/A | npm run clear | Clear cache |
N/A | npm run deploy | Deploy to GitHub Pages |
4. Directory Structureโ
docs/
โโโ docusaurus.config.js # Main config (was .vitepress/config.js)
โโโ sidebars.js # Sidebar config (new)
โโโ src/
โ โโโ css/
โ โโโ custom.css # Custom styles (new)
โโโ static/
โ โโโ img/ # Static assets (was public/)
โโโ tutorials/ # Same structure
โโโ how-to-guides/ # Same structure
โโโ reference/ # Same structure
โโโ explanation/ # Same structure
โโโ ide-rules/ # Same structure
โโโ build/ # Build output (was .vitepress/dist)
๐ Migration Stepsโ
Step 1: Install Dependenciesโ
cd docs
npm install
This will install all Docusaurus dependencies specified in the updated package.json
.
Step 2: Copy Assetsโ
If you have custom images or assets in public/
, move them to static/img/
:
# If you have a public directory
cp -r public/* static/img/
Step 3: Update Markdown Files (if needed)โ
Most markdown files work as-is, but you may need to update:
-
Front matter - Docusaurus uses slightly different front matter:
---
id: my-doc
title: My Document
sidebar_label: My Doc
sidebar_position: 1
--- -
Internal links - Should work the same, but verify:
[Link to tutorial](/tutorials/01-first-steps)
-
Mermaid diagrams - Already configured with
@docusaurus/theme-mermaid
Step 4: Test Locallyโ
cd docs
npm run start
Visit http://localhost:3000/mcp-adr-analysis-server/
to preview.
Step 5: Build for Productionโ
npm run build
This creates an optimized production build in the build/
directory.
Step 6: Deployโ
The GitHub Actions workflow (.github/workflows/deploy-docusaurus.yml
) will automatically deploy to GitHub Pages when you push to main
.
๐ง Configuration Detailsโ
Docusaurus Config (docusaurus.config.js
)โ
Key configurations:
- Base URL:
/mcp-adr-analysis-server/
(for GitHub Pages) - Organization:
tosin2013
- Project:
mcp-adr-analysis-server
- Mermaid: Enabled via
@docusaurus/theme-mermaid
- Search: Configured for Algolia (requires setup)
Sidebars Config (sidebars.js
)โ
Multiple sidebars for different sections:
mainSidebar
- Complete documentation treetutorialsSidebar
- Tutorials onlyhowToSidebar
- How-to guides onlyreferenceSidebar
- Reference docs onlyexplanationSidebar
- Explanation content only
๐จ Customizationโ
Theme Colorsโ
Edit src/css/custom.css
to customize:
:root {
--ifm-color-primary: #646cff;
/* ... other colors */
}
Logo and Faviconโ
Place files in static/img/
:
static/img/logo.png
- Site logostatic/img/favicon.ico
- Faviconstatic/img/og-image.png
- Social media preview
๐ Feature Comparisonโ
Feature | VitePress | Docusaurus | Notes |
---|---|---|---|
Mermaid Diagrams | โ Plugin | โ Built-in theme | Better integration in Docusaurus |
Search | โ Local | โ Algolia/Local | More options in Docusaurus |
MDX Support | โ ๏ธ Limited | โ Full | React components in docs |
Versioning | โ | โ | Built-in version management |
i18n | โ ๏ธ Basic | โ Advanced | Better internationalization |
Plugin System | โ ๏ธ Limited | โ Extensive | Rich plugin ecosystem |
React Integration | โ | โ | Full React component support |
๐ Troubleshootingโ
Build Errorsโ
- Module not found errors: Run
npm install
in thedocs/
directory - Port already in use: Change port with
npm run start -- --port 3001
- Cache issues: Run
npm run clear
to clear Docusaurus cache
Broken Linksโ
Docusaurus has stricter link checking. Update broken links in:
- Internal links: Use relative paths from docs root
- External links: Ensure they're valid URLs
Styling Issuesโ
- Check
src/css/custom.css
for custom styles - Use browser DevTools to inspect and debug
- Refer to Infima CSS framework docs
๐ Resourcesโ
โ Post-Migration Checklistโ
- Install dependencies (
npm install
) - Copy assets to
static/img/
- Test locally (
npm run start
) - Verify all pages load correctly
- Check internal links work
- Test Mermaid diagrams render
- Build for production (
npm run build
) - Deploy to GitHub Pages
- Update repository settings for GitHub Pages
- Verify deployed site works
- Update README with new documentation links
- Archive or remove VitePress files
๐ Benefits of Docusaurusโ
- Better React Integration: Full MDX support for React components
- Versioning: Built-in documentation versioning
- Plugin Ecosystem: Rich plugin system for extended functionality
- Better Search: Multiple search options including Algolia
- Active Community: Large, active community and regular updates
- Performance: Optimized for production with code splitting
- Accessibility: Better a11y support out of the box
- Customization: More flexible theming and customization options
๐ Notesโ
- The migration preserves all existing documentation structure
- All Diataxis framework organization remains intact
- Mermaid diagrams continue to work seamlessly
- GitHub Pages deployment is automated via GitHub Actions
- Search functionality can be enhanced with Algolia (requires API key setup)
Migration Date: 2025-10-04
Migrated By: Sophia (AI Assistant)
Status: โ
Complete