Claude-skill-registry-data mkdocs-generation
Generate MkDocs documentation sites with Material theme, mkdocstrings for API docs, and versioning. Use when setting up or extending project documentation.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry-data
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry-data "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/mkdocs-generation" ~/.claude/skills/majiayu000-claude-skill-registry-data-mkdocs-generation && rm -rf "$T"
manifest:
data/mkdocs-generation/SKILL.mdsource content
MkDocs Documentation Generation
Generate professional documentation sites using MkDocs Material theme with automatic API reference generation.
Stack
- MkDocs: Static site generator for project documentation
- Material Theme: Modern, responsive theme with navigation features
- mkdocstrings: Auto-generate API docs from Python docstrings
- mike: Version management for documentation
Dependencies
Add to
pyproject.toml (optional extras group):
[project.optional-dependencies] docs = [ "mkdocs>=1.5", "mkdocs-material>=9.4", "mkdocstrings[python]>=0.24", "mike>=2.0", ]
Or
requirements.txt:
mkdocs>=1.5 mkdocs-material>=9.4 mkdocstrings[python]>=0.24 mike>=2.0
Directory Structure
Simple (flat):
docs/ ├── index.md # Home/overview ├── getting-started.md # Installation and quickstart ├── configuration.md # Config options └── tools.md # Feature reference
Complex (nested):
docs/ ├── index.md ├── compatibility.md ├── guide/ │ ├── getting-started.md │ ├── cli.md │ └── advanced.md └── api/ ├── panel.md # ::: module.Class └── entities/ ├── area.md └── zone.md
mkdocs.yml Configuration
See
templates/mkdocs.yml for the full configuration template.
Key sections:
- Site metadata: name, description, URLs
- Versioning: mike provider for multi-version docs
- Theme: Material with navigation features
- Plugins: search + mkdocstrings for API docs
- Navigation: Explicit nav structure
API Reference with mkdocstrings
Create minimal markdown files that reference Python modules:
# Panel API ::: mypackage.panel.Panel ::: mypackage.panel.PanelSync
mkdocstrings auto-generates documentation from docstrings. Configure in
mkdocs.yml:
- Use Google-style docstringsdocstring_style: google
- Hide source codeshow_source: false
- Combinemerge_init_into_class: true
with class docs__init__
- Exclude private membersfilters: ["!^_"]
Commands
# Serve locally with hot-reload mkdocs serve # Build static site mkdocs build # Deploy to GitHub Pages mkdocs gh-deploy # Version management (mike) mike deploy --push --update-aliases 0.1.0 latest mike set-default --push latest
Writing Guidelines
- index.md: Brief overview, key features as bullet list, installation snippet, "Where to Next" links
- getting-started.md: Prerequisites, step-by-step setup, minimal working example
- API docs: Let mkdocstrings generate from docstrings; add brief intro if needed
- Guides: Task-oriented, include code examples, link to related API docs
Templates
- Configuration filetemplates/mkdocs.yml
- Home pagetemplates/index.md
- Quickstart guidetemplates/getting-started.md
- API doc page using mkdocstringstemplates/api-reference.md