Repository navigation
DOCUSAURUS_DEPLOYMENT
github-actions[bot] edited this page Oct 16, 2025
·
1 revision
This guide explains how to deploy the Docusaurus documentation site to GitHub Pages.
- Go to your repository on GitHub:
https://github.com/Alteriom/painlessMesh - Click Settings tab
- Scroll down to Pages section
- Under Source, select GitHub Actions
- Save the changes
# Add all changes
git add .
# Commit the Docusaurus setup
git commit -m "feat: Add Docusaurus documentation site
- Replace basic HTML generation with modern Docusaurus
- Add GitHub Actions workflow for automated deployment
- Include Alteriom package documentation
- Integrate Doxygen API docs with user guides
- Enable responsive design and built-in search
Closes: Documentation modernization initiative"
# Push to trigger deployment
git push origin main- Go to Actions tab in your repository
- Watch the Documentation workflow run
- When complete, your site will be available at:
-
URL:
https://alteriom.github.io/painlessMesh/
-
URL:
cd website
npm startVisit: http://localhost:3000/painlessMesh/
cd website
npm run buildcd website
npm run servewebsite/
├── docs/ # Main documentation
│ ├── intro.md # Homepage content
│ ├── getting-started/ # Installation & quickstart
│ ├── api/ # API reference
│ ├── alteriom/ # Alteriom extensions
│ ├── tutorials/ # Usage examples
│ ├── architecture/ # Technical details
│ ├── advanced/ # Advanced topics
│ └── troubleshooting/ # Help & FAQ
├── static/ # Static assets
│ └── api/ # Doxygen API docs (auto-generated)
├── docusaurus.config.ts # Main configuration
└── sidebars.ts # Navigation structure
The GitHub Actions workflow:
- Checkout repository code
- Setup Node.js for Docusaurus
- Install Doxygen for API documentation
- Generate API docs using existing Doxygen config
- Install dependencies for Docusaurus
- Integrate Doxygen output with Docusaurus
- Build site for production
- Deploy to GitHub Pages
| Feature | Old System | New Docusaurus |
|---|---|---|
| Search | ❌ None | ✅ Built-in Algolia search |
| Mobile | ❌ Poor responsive | ✅ Perfect mobile experience |
| Navigation | ❌ Manual links | ✅ Auto-generated sidebar |
| Performance | ❌ Slow page loads | ✅ Single-page app speed |
| Maintenance | ❌ Manual HTML generation | ✅ Pure Markdown workflow |
| Link validation | ❌ Broken links undetected | ✅ Automatic validation |
| Versioning | ❌ Not supported | ✅ Multiple library versions |
| API integration | ❌ Separate Doxygen site | ✅ Seamless integration |
- Create
.mdfiles in appropriatedocs/subdirectory - Update
sidebars.tsto include in navigation - Commit and push - automatic deployment
Edit docusaurus.config.ts:
-
title: Site title -
tagline: Site description -
favicon: Icon file -
themeConfig.navbar: Navigation menu -
themeConfig.footer: Footer content
Edit src/css/custom.css for custom styles and branding.
- Check Actions tab for error details
- Verify all referenced files exist in sidebars
- Ensure Markdown syntax is valid
- Verify GitHub Pages is set to GitHub Actions
- Check repository permissions
- Ensure workflow has Pages write permission
- Use relative paths:
../other-page - Verify file extensions:
.mdfiles become.html - Check sidebar configuration matches file structure
For issues with:
- Docusaurus: See Docusaurus docs
- GitHub Actions: Check workflow logs in Actions tab
- Content: Create issues in repository
- Enable search: Configure Algolia search index
- Add analytics: Integrate Google Analytics
- Custom domain: Set up custom domain if desired
-
Content migration: Move remaining docs from
/docsfolder