Documentation Deployment Guide¶
This guide explains how to deploy and maintain the GeneForgeLang documentation website.
π Live Documentation¶
The documentation is automatically deployed to GitHub Pages at: https://fundacion-de-neurociencias.github.io/GeneForgeLang/
ποΈ Architecture¶
Our documentation system uses: - MkDocs Material: Modern documentation framework with beautiful themes - GitHub Actions: Automatic deployment on every commit - GitHub Pages: Free hosting for the documentation website
π Documentation Structure¶
docs/
βββ index.md # Homepage
βββ installation.md # Installation guide
βββ tutorial.md # Step-by-step tutorial
βββ cli.md # CLI documentation
βββ API_REFERENCE.md # API documentation
βββ WEB_API_IMPLEMENTATION_SUMMARY.md # Web platform guide
βββ ENHANCED_INFERENCE_SUMMARY.md # AI/ML features
βββ PHASE_4_PLANNING.md # Roadmap
βββ SECURITY_ADVISORY.md # Security information
βββ DOCUMENTATION_EXPORT_GUIDE.md # This guide
βββ stylesheets/
β βββ extra.css # Custom styling
βββ images/ # Documentation images
π Automatic Deployment¶
The documentation is automatically built and deployed when:
1. Changes are pushed to the main
or master
branch
2. Files in the docs/
directory are modified
3. The mkdocs.yml
configuration is updated
4. Any markdown files in the root are changed
GitHub Actions Workflow¶
The deployment is handled by .github/workflows/docs.yml
:
- Build: Installs dependencies, builds documentation with MkDocs
- Deploy: Publishes to GitHub Pages (only on main/master branch)
π οΈ Local Development¶
Prerequisites¶
Serve Locally¶
# Serve with hot reload
mkdocs serve
# Serve on specific address
mkdocs serve --dev-addr=127.0.0.1:8000
Build Locally¶
π Adding New Documentation¶
1. Create the markdown file¶
2. Update navigation¶
Edit mkdocs.yml
:
3. Test locally¶
4. Commit and push¶
π¨ Customization¶
Theme Configuration¶
Edit mkdocs.yml
to customize:
- Colors and fonts
- Navigation structure
- Features and extensions
- Social links
Custom CSS¶
Add styles to docs/stylesheets/extra.css
:
π§ Configuration Files¶
mkdocs.yml¶
Main configuration file containing: - Site metadata - Theme settings - Navigation structure - Plugin configuration - Extensions
.github/workflows/docs.yml¶
GitHub Actions workflow for: - Building documentation - Deploying to GitHub Pages - Caching dependencies
π GitHub Pages Setup¶
To enable GitHub Pages: 1. Go to repository Settings β Pages 2. Select GitHub Actions as source 3. The workflow will handle the rest automatically
π Troubleshooting¶
Documentation not updating?¶
- Check GitHub Actions tab for build errors
- Verify branch is
main
ormaster
- Ensure GitHub Pages is enabled
Local build failing?¶
- Update MkDocs Material:
pip install --upgrade mkdocs-material
- Check for syntax errors in markdown files
- Validate
mkdocs.yml
syntax
Missing pages warnings?¶
Update navigation in mkdocs.yml
or create the missing files.
π Best Practices¶
Writing Documentation¶
- Use clear, concise language
- Include code examples
- Add navigation links between related pages
- Test all code snippets
File Organization¶
- Keep related content in subdirectories
- Use descriptive filenames
- Maintain consistent formatting
Version Control¶
- Commit documentation changes with descriptive messages
- Review documentation in pull requests
- Keep documentation up-to-date with code changes
π Getting Help¶
- MkDocs Documentation: https://www.mkdocs.org/
- Material Theme: https://squidfunk.github.io/mkdocs-material/
- GitHub Pages: https://docs.github.com/en/pages
π Analytics¶
The documentation includes Google Analytics integration (configured via environment variable GOOGLE_ANALYTICS_KEY
in the deployment environment).
For questions about the documentation system, please open an issue in the repository.