A comprehensive documentation platform powered by MkDocs with advanced features for technical documentation.
MkDocForge is a powerful documentation platform built on top of MkDocs that provides enhanced features for creating beautiful, functional, and comprehensive technical documentation. It combines the simplicity of Markdown with advanced capabilities like versioned documentation, code documentation via Doxygen integration, diagrams, and a rich set of plugins to create professional documentation sites.
MkDocForge addresses common documentation challenges by providing:
- Unified Documentation: Combine API references, user guides, architecture decisions, and more in one platform
- Versioned Documentation: Track and maintain documentation across different software versions
- Code Integration: Automatically generate API documentation from source code comments
- Rich Media Support: Easily embed diagrams, images, and interactive elements
- Collaborative Workflow: Git-based workflow for documentation-as-code practices
- 🎨 Material Design Theme: Beautiful, responsive documentation with light/dark mode
- 📊 Diagram Support: PlantUML integration for architectural and flow diagrams
- 🔄 Versioned Documentation: Maintain docs for multiple software versions with Mike
- 📝 Markdown Extensions: Enhanced markdown with admonitions, tabs, code annotations
- 🧩 Plugin Ecosystem: Extensive collection of plugins for advanced functionality
- 🐳 Docker Support: Containerized environment for consistent documentation builds
- 🔍 Full-Text Search: Powerful search capabilities across documentation
- 💻 Code Documentation: Doxygen integration for automatic code documentation
- Python 3.11+
- pip, uv, or another Python package manager
# Clone the repository
git clone https://github.com/Mdevpro78/mkdocforge
cd mkdocforge
# Install dependencies using UV (recommended)
make uv_sync_docs
# Or using pip
pip install -e .[docs]
# Start the development server
make uv_mkdoc_serve
# Or using UV directly
uv run mkdocs serve
MkDocForge can be easily run using Docker:
# Build the Docker image
make docker-build
# Start the container
make docker-up
# View logs
make docker-logs
# Stop the container
make docker-down
Alternatively, you can use Docker Compose directly:
# Build and start in one command
docker compose up
# Or build and start in detached mode
docker compose up -d
Once running, access the documentation at http://localhost:8000.
.
├── docs/ # Documentation source files
│ ├── architecture/ # Architecture decision records
│ ├── blog/ # Blog posts
│ ├── examples/ # Example configurations and code
│ ├── git/ # Git workflow documentation
│ ├── glossary/ # Project terminology
│ ├── python/ # Python development guides
│ └── ... # Other documentation sections
├── .github/ # GitHub workflows and CI/CD
├── scripts/ # Utility scripts
├── Dockerfile # Docker configuration
├── mkdocs.yml # MkDocs configuration
└── pyproject.toml # Python project configuration
MkDocForge is highly configurable through the mkdocs.yml
file. See the MkDocs documentation for basic configuration and explore our examples for advanced setups.
Contributions are welcome! Please check out our Contributing Guide for guidelines on how to make contributions.
- Development Teams: Create comprehensive documentation for software projects
- Technical Writers: Leverage markdown with powerful extensions for technical content
- Open Source Projects: Provide high-quality documentation with minimal overhead
- Organizations: Maintain consistent documentation standards across projects
This project is licensed under the MIT License - see the LICENSE file for details.