Easily Going Beyond MarkDown with Material for MkDocs
- Track: Tool the docs devroom
- Room: K.4.601
- Day: Saturday
- Start: 16:15
- End: 16:40
- Video only: k4601
- Chat: Join the conversation!
I first used Material for MkDocs in April 2020, and it quickly became clear to me that this would become my tool of choice for all technical documentation I'm involved in.
Since then, I have been involved in using Material for MkDocs for both creating new and revamping existing documentation sites, in collaboration with others:
- the EasyBuild documentation at docs.easybuild.io;
- the EasyBuild tutorial at tutorial.easybuild.io;
- the HPC-UGent documentation at docs.hpc.ugent.be;
- the documentation of the EESSI project at eessi.io/docs;
- an introductory tutorial to CernVM-FS at cvmfs-contrib.github.io/cvmfs-tutorial-2021;
In this talk I want to try and convince you that you should be using Material for MkDocs too. I will present a high-level overview of the project, highlight the features that got me hooked, and share my personal experience with using it to produce technical documentation.
To demonstrate how easy it is to get started with Material for MkDocs from scratch, I will build a small documentation website step-by-step live during the talk to showcase some of its features. Material for MkDocs makes writing documentation easy and rewarding, and significantly lowers the bar to produce good looking yet practical technical documentation for free and open source software projects.
It features a broad set of features, including (but not limited to):
- documentation written in MarkDown;
- easy installation (via
pip
) and configuration (viamkdocs.yml
); - code blocks with syntax highlighting;
- support for dark/light mode;
- fast and powerful search;
- eye-popping customisable notes/warnings/tips via admonitions;
- content tabs;
- support for icons and emoji;
- integration with GitHub Pages and GitLab Pages for easy publishing;
- integration with
Mermaid.js
for creating diagrams; - integration with MathJax and KaTeX for displaying mathematical formulas;
- built-in support for integrating a blog into your documentation;
Material for MkDocs is open source first (MIT-licensed), and follows the sponsorware release strategy (see Insiders). This means that new features are first exclusively released to sponsors and later become part of the free community edition when specific funding goals are met, which helps making the project sustainable.
It is used by plethora of FOSS projects & beyond, like:
- arXiv, the open-access paper preprint repository: info.arxiv.org;
- AutoGPT, a semi-autonomous agent powered by LLMs: docs.agpt.co;
- CentOS, the Linux distribution: docs.infra.centos.org;
- FastAPI, the Python web framework for building APIs: fastapi.tiangolo.com;
- LUMI, Europe's fastest supercomputer: docs.lumi-supercomputer.eu;
- Open Source at Siemens: opensource.siemens.com;
- PyPI, the Python Package Index: docs.pypi.org;
Speakers
Kenneth Hoste | |
Martin Donath |