MkDocs TechDocs Core
The `mkdocs-techdocs-core` library is the core MkDocs plugin used by Backstage's TechDocs. It acts as a wrapper, bundling multiple essential MkDocs plugins and Python Markdown extensions to provide a consistent and opinionated set of features for technical documentation. As of version 1.6.1, it primarily focuses on simplifying the setup for Backstage users. Releases are typically driven by updates to underlying dependencies like `mkdocs-material` and new features for TechDocs, often leveraging Python Semantic Release.
Warnings
- breaking Direct MkDocs Material theme overrides in `mkdocs.yml` might not work as expected due to `mkdocs-techdocs-core` hardcoding certain features (e.g., `navigation.footer` enabled, `theme.palette` reset) for Backstage consistency.
- gotcha `mkdocs-techdocs-core` bundles many other MkDocs plugins (e.g., `search`, `mkdocs-monorepo-plugin`, `pymdown-extensions`). Explicitly listing these individual plugins in your `mkdocs.yml` *in addition to* `techdocs-core` can lead to 'plugin not installed' errors or conflicting behavior, as `techdocs-core` already manages their inclusion.
- gotcha The bundled `plantuml-markdown` extension in `mkdocs-techdocs-core` does not support the `svg_object` format for rendering diagrams due to security vulnerabilities (CVE-2021-32661). Using this format will result in diagrams not rendering.
- breaking The library requires Python version 3.9 or higher. Using an older Python version (e.g., 3.8 or 3.7) will lead to installation failures or runtime errors.
Install
-
pip install mkdocs-techdocs-core
Imports
- techdocs-core
plugins: - techdocs-core
Quickstart
# 1. Create a project directory (e.g., 'my-techdocs-site') # 2. Inside 'my-techdocs-site', create an 'mkdocs.yml' file: # --- # site_name: My TechDocs Project # nav: # - Home: index.md # plugins: # - techdocs-core # --- # 3. Inside 'my-techdocs-site', create a 'docs' directory. # 4. Inside 'docs', create an 'index.md' file: # --- # # Welcome to My TechDocs Project! # # This is your documentation generated with MkDocs TechDocs Core. # --- # 5. Run MkDocs serve from the 'my-techdocs-site' directory: # mkdocs serve