A MkDocs plugin to generate an interactive graph of your documentation.
Project description
MkDocs Network Graph Plugin
Add an interactive knowledge network graph to your Material for MkDocs documentation project
A powerful Material for MkDocs plugin that generates beautiful, interactive graph visualizations of your documentation structure and relationships.
Table of Contents
- Features
- Quick Start
- Installation
- Configuration
- Customization
- Documentation
- Contributing
- License
- Acknowledgments
Features
| Interactive Visualization | Smart Navigation | Fully Customizable | Lightweight |
|---|---|---|---|
| Interactive Graph Visualization of your documentation structure | Dual View Modes to switch between a full-site overview and local page connections | Theme Integration that seamlessly blends with Material for MkDocs | Performance Optimized with minimal impact on build times and a responsive design |
Quick Start
Get up and running in under 2 minutes:
1. Install the plugin
pip install mkdocs-network-graph-plugin
2. Enable in your mkdocs.yml
plugins:
- graph
3. Build your docs
mkdocs serve
That's it! Your documentation now includes an interactive graph visualization.
Installation
Using pip (recommended)
pip install mkdocs-network-graph-plugin
Using uv (faster)
uv pip install mkdocs-network-graph-plugin
Using pipx (isolated)
pipx install mkdocs-network-graph-plugin
Development Installation
For contributors, this is the recommended setup:
-
Clone the repository
git clone https://github.com/develmusa/mkdocs-network-graph-plugin.git cd mkdocs-network-graph-plugin
-
Set up the development environment
# Sync with the lockfile uv sync # Install required Python versions for testing uv python install 3.10 3.11 3.12 3.13 # Install in editable mode with dev dependencies uv pip install -e '.[dev]' # Install pre-commit hooks uv run pre-commit install
For more details, see the developer guide.
Requirements
- Python: 3.10+
- MkDocs: Compatible with latest versions
- Theme: Designed for Material for MkDocs (v9.0.0+)
Configuration
Basic Configuration
plugins:
- graph:
name: "title" # Use page titles for node names
debug: false # Disable debug logging
Advanced Configuration
plugins:
- graph:
name: "file_name" # Use file names instead of titles
debug: true # Enable verbose logging for troubleshooting
Configuration Options
| Option | Type | Default | Description |
|---|---|---|---|
name |
string |
"title" |
Node naming strategy: "title" or "file_name" |
debug |
boolean |
false |
Enable debug logging for development |
Customization
Customize the graph appearance using CSS variables in your extra.css:
:root {
/* Node styling */
--md-graph-node-color: #1976d2;
--md-graph-node-color--hover: #1565c0;
--md-graph-node-color--current: #ff5722;
/* Link styling */
--md-graph-link-color: #757575;
/* Text styling */
--md-graph-text-color: #212121;
}
Available CSS Variables
| Variable | Description | Default |
|---|---|---|
--md-graph-node-color |
Default node color | Theme primary |
--md-graph-node-color--hover |
Node hover color | Darker primary |
--md-graph-node-color--current |
Current page node color | Theme accent |
--md-graph-link-color |
Connection line color | Theme text (muted) |
--md-graph-text-color |
Node label text color | Theme text |
Documentation
Comprehensive documentation is available at develmusa.github.io/mkdocs-network-graph-plugin
Documentation Sections
- Getting Started - Installation and basic setup
- Why Use a Graph? - Benefits and use cases
- How it Works - Technical implementation details
- Configuration - Complete configuration reference
- Customization - Styling and theming guide
- For Developers - Contributing and development guide
Contributing
We welcome contributions! For a complete guide on how to contribute, please see the developer guide.
To get started, set up your environment by following the Development Installation instructions. From there, you can run tests and linting using nox:
# Run tests
uv run nox -s tests
# Run linting
uv run nox -s lint
Contribution Guidelines
- Bug Reports: Use the issue tracker
- Feature Requests: Open an issue with your proposal
- Pull Requests: Fork, create a feature branch, and submit a PR
- Documentation: Help improve our docs
License
This project is licensed under the MIT License - see the LICENSE file for details
Acknowledgments
- mkdocs-obsidian-interactive-graph-plugin - Thank you for the inspiration and logos for the MkDocs graph visualization
- Material for MkDocs
- D3.js
- MkDocs
Related Projects
Explore other tools with Markdown documentation graph visualization:
- mkdocs-obsidian-interactive-graph-plugin
- Digital Garden - A comprehensive digital garden solution with graph visualization
- Foam - Personal knowledge management and sharing system with graph features
Star this project if you find it useful!
Made with AI and ❤️ by develmusa
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mkdocs_network_graph_plugin-1.0.2.tar.gz.
File metadata
- Download URL: mkdocs_network_graph_plugin-1.0.2.tar.gz
- Upload date:
- Size: 15.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9810958de3bb747bae053a722d73cb753d4e6993e2392b4c27832305f5e922b0
|
|
| MD5 |
e96387f2b6ba1619cac9c487fc18a1a5
|
|
| BLAKE2b-256 |
aee26faab761d57fdaf500deab25ef5f3836033a672206be9191c5915b69ad60
|
Provenance
The following attestation bundles were made for mkdocs_network_graph_plugin-1.0.2.tar.gz:
Publisher:
ci.yaml on develmusa/mkdocs-network-graph-plugin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mkdocs_network_graph_plugin-1.0.2.tar.gz -
Subject digest:
9810958de3bb747bae053a722d73cb753d4e6993e2392b4c27832305f5e922b0 - Sigstore transparency entry: 499939575
- Sigstore integration time:
-
Permalink:
develmusa/mkdocs-network-graph-plugin@356fa77f8a9b011ae5e89cbff38c1385a310bab2 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/develmusa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yaml@356fa77f8a9b011ae5e89cbff38c1385a310bab2 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mkdocs_network_graph_plugin-1.0.2-py3-none-any.whl.
File metadata
- Download URL: mkdocs_network_graph_plugin-1.0.2-py3-none-any.whl
- Upload date:
- Size: 15.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52a31dfd5819d16681f07ffc33ccb1cf47f7e5a4ebb719924f588c5f1a32606c
|
|
| MD5 |
7b9d958cf833964a4bd4681325e05fa9
|
|
| BLAKE2b-256 |
838e6d1c83cbc051d289f61e76212d177a6102a97f669a7f605b0b594dc0f658
|
Provenance
The following attestation bundles were made for mkdocs_network_graph_plugin-1.0.2-py3-none-any.whl:
Publisher:
ci.yaml on develmusa/mkdocs-network-graph-plugin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mkdocs_network_graph_plugin-1.0.2-py3-none-any.whl -
Subject digest:
52a31dfd5819d16681f07ffc33ccb1cf47f7e5a4ebb719924f588c5f1a32606c - Sigstore transparency entry: 499939582
- Sigstore integration time:
-
Permalink:
develmusa/mkdocs-network-graph-plugin@356fa77f8a9b011ae5e89cbff38c1385a310bab2 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/develmusa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yaml@356fa77f8a9b011ae5e89cbff38c1385a310bab2 -
Trigger Event:
push
-
Statement type: