Mermaid JS Integration
Docusaurus provides a built-in theme for Mermaid.js, allowing you to create diagrams and visualizations directly in your documentation using text.
1. Installation
To enable Mermaid support, you must install the official theme package. Since we are using Docker, we run this command inside the container:
sudo docker exec docusaurus npm install @docusaurus/theme-mermaid
2. Configuration
After installing the package, update your docusaurus.config.js to enable the plugin and configured theme.
Step 1: Enable Mermaid Markdown
Add the markdown object to your configuration:
module.exports = {
// ... other configs
markdown: {
mermaid: true, // Enables mermaid parsing
},
// ...
};
Step 2: Add the Mermaid Theme
Add the theme to the themes array:
module.exports = {
// ...
themes: ['@docusaurus/theme-mermaid'],
// ...
};
3. Usage
You can now create diagrams using the mermaid code block identifier.
Basic Flowchart Example
```mermaid
graph TD;
A[Start] --> B{Is it working?};
B -- Yes --> C[Celebrate];
B -- No --> D[Debug];
D --> B;
```
Result
4. Troubleshooting
502 Bad Gateway after Restart
If you receive a 502 error after restarting Docusaurus to apply these changes:
- Wait for Build: Mermaid increases build time. Check logs:
sudo docker logs -f docusaurus
- Stale DNS Cache: If Docusaurus is healthy but the site is still 502, restart the Cloudflare Tunnel to refresh the connection:
sudo docker restart cloudflared
Mermaid not rendering
Ensure you have both markdown: { mermaid: true } and themes: ['@docusaurus/theme-mermaid'] in your config. One without the other will cause rendering issues or build failures.