Material for MkDocs is a theme for MkDocs, a static site generator geared towards (technical) project documentation. If you're familiar with Python, you can install Material for MkDocs with
pip, the Python package manager. If not, we recommend using
with pip recommended¶
This will make sure that you don't accidentally upgrade to the next major version, which may include breaking changes that silently corrupt your site. Additionally, you can use
pip freezeto create a lockfile, so builds are reproducible at all times:
Now, the lockfile can be used for installation:
This will automatically install compatible versions of all dependencies: MkDocs, Markdown, Pygments and Python Markdown Extensions. Material for MkDocs always strives to support the latest versions, so there's no need to install those packages separately.
Tip: If you don't have prior experience with Python, we recommend reading Using Python's pip to Manage Your Projects' Dependencies, which is a really good introduction on the mechanics of Python package management and helps you troubleshoot if you run into errors.
The official Docker image is a great way to get up and running in a few minutes, as it comes with all dependencies pre-installed. Open up a terminal and pull the image with:
mkdocs executable is provided as an entry point and
serve is the default command. If you're not familiar with Docker don't worry, we have you covered in the following sections.
The following plugins are bundled with the Docker image:
How to add plugins to the Docker image?
Material for MkDocs only bundles selected plugins in order to keep the size of the official image small. If the plugin you want to use is not included, create a new
Dockerfile and extend the official Docker image:
Next, you can build the image with the following command:
The new image can be used exactly like the official image.
Apple Silicon (M1) and Raspberry Pi
The official Docker image is only available for
linux/amd64. We recommend the third-party image by @afritzler if you want to run Material for MkDocs via Docker on
armv7, as it is automatically built on every release:
Material for MkDocs can be directly used from GitHub by cloning the repository into a subfolder of your project root which might be useful if you want to use the very latest version:
The theme will reside in the folder
mkdocs-material/material. After cloning from
git, you must install all required dependencies with:
Note that improvements of existing features are sometimes released as patch releases, like for example improved rendering of content tabs, as they're not considered to be new features. ↩