Skip to content
/ mkdocforge Public template

Ready To Use MkDocs Documentation Platform with Advanced Features

License

Notifications You must be signed in to change notification settings

Mdevpro78/mkdocforge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MkDocForge

Project Status: Active Python Version Documentation License

A comprehensive documentation platform powered by MkDocs with advanced features for technical documentation.

📚 Overview

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.

🎯 Purpose

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

✨ Key Features

  • 🎨 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

🚀 Getting Started

Prerequisites

  • Python 3.11+
  • pip, uv, or another Python package manager

Quick Installation

# 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]

Running Locally

# Start the development server
make uv_mkdoc_serve

# Or using UV directly
uv run mkdocs serve

Using Docker

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.

📁 Project Structure

.
├── 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

🔧 Configuration

MkDocForge is highly configurable through the mkdocs.yml file. See the MkDocs documentation for basic configuration and explore our examples for advanced setups.

🤝 Contributing

Contributions are welcome! Please check out our Contributing Guide for guidelines on how to make contributions.

👥 Target Audience

  • 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

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🔗 Links