MkDocs is a fast, open-source static site generator built for project documentation. Documentation lives as plain Markdown files inside the project repository, a single mkdocs.yml file describes the site, and one command compiles the whole tree into static HTML that any web server, CDN or GitHub Pages branch can serve. There is no database, no admin panel and no runtime to keep patched — the output is plain files, which is why it has become the default way to publish developer documentation that is versioned alongside the code it describes.
.md files under a docs/ folder; mkdocs build renders them into a ready-to-serve site with navigation generated from the file treemkdocs.yml holds the site name, theme, navigation, plugins and Markdown extensions, so the entire site definition is reviewable in a pull requestmkdocs serve starts a local server on port 8000 that watches the source files and refreshes the browser on every savesearch plugin indexes the site at build time and ships a client-side search box, so search works with no server-side component at allmkdocs and readthedocs themes, and a plugin system covers versioning, redirects, minification and more; Material for MkDocs is the best-known third-party thememkdocs gh-deploy builds the site and pushes it to the gh-pages branch of the repository; the same static output can go to Netlify, Cloudflare Pages, S3 or any nginx document rootDocumentation that lives in the repository gets reviewed like code: a docs fix is a diff next to the change it explains, and the published site is rebuilt from the same commit. MkDocs keeps that workflow cheap because the whole toolchain is one Python package and one YAML file — a new project is mkdocs new, write Markdown, deploy. The result is a static site with working search that costs nothing to host and cannot be taken down by a plugin vulnerability, an unpatched PHP install or a database restore. The trade-off is that editors need git and a terminal rather than a browser: if non-technical people maintain the pages, a database-backed wiki such as BookStack or Wiki.js fits better.
MkDocs is a Python command-line tool: version 1.6.1 requires Python 3.8 or newer and installs from PyPI with pip install mkdocs. The generated site is static, so it can be hosted anywhere.
BSD 2-Clause for the project code, so it can be used, modified and redistributed commercially, including in closed-source products, as long as the copyright notice is retained. Documentation written with MkDocs belongs to whoever wrote it.