A template, live demo and tutorial for how to setup a MkDocs docs site on GitHub Pages
A low-code content-focussed way to setup and host a markdown-based documentation site, with a professional look. Built with MkDocs - a Python package.
This project uses the Read the Docs theme, as shown above. It comes with MkDocs so you don't need to add to your dependencies. But you can switch to the MkDocs default or install and configure another theme.
- A markdown-based docs site which is easy to edit - see the content in the docs directory.
- Easy to configure - see the short mkdocs.yml file.
- Use the configured theme or switch to another - no need to write HTML and CSS yourself.
- Each theme comes with a navbar and you write YAML - Jekyll themes on GH Pages need you to write your own HTML often and each theme handles navbar its own way (sometimes not at all).
- Uses a deploy pipeline on GH Actions to deploy a GH Pages site - the action actually runs GH Pages deploy command.
- The static site output is SEO-friendly.
- Built on Python but you don't need to write any Python code.
This project has a site deployed to GitHub Pages.
Purposes of the site:
- A live demo.
- Content for a beginner-friendly tutorial on how to setup, run, deploy and customize a MkDocs project like this one.
This repo also doubles as a template to create a new project from. Click the button at the top.
Change the content and theme to suit your needs, based on the tutorial site or the MkDocs site.
To isolate the MkDocs flow from the rest of your code, you can put the configs and the docs folder of content inside the docs directory. That means you end up having docs/docs, which is okay. Just make sure you select the /docs directory when setting up GH Pages.
- Homepage: mkdocs.org
- Repo:
- PyPI package: mkdocs
If you're new to MkDocs, look at the tutorial added on this project's site, otherwise go to the MkDocs homepage for documentation.
This project provides a way to write your docs in markdown and build a professional-looking docs site on top of it, without having to write HTML or CSS code and using a selection of themes. While MkDocs CLI has functionality to deploy from a local command-line, this project makes deploying effortless by using GitHub Actions to build and deploy the site to a gh-pages branch and GitHub Pages to serve the site.
Compared with Jekyll and Docsify, I found the MkDocs code is much lighter to setup and changing themes is much easier than Jekyll. Also you get the benefits SEO which Docsify doesn't have. And it includes a search bar using JS.
Submit an issue.
Or submit a code change:
- Fork this project.
- Set up the project locally - follow the instructions on the live tutorial or in the TL;DR page of the local docs.
- Make any changes you want. Be sure to keep a copy of the original license in the repo.
- e.g.
cp LICENSE LICENSE-source
- e.g.
- Create a Pull Request.
Released under MIT by @MichaelCurrin.
