MkDocs is a static site generator that builds modern webpages based on your Markdown documents and a simple YAML file.
Here is the website which is generated by MkDocs in this post:
https://awesome-python.com/
https://github.com/vinta/awesome-python
Installation
$ pip install mkdocs
Configuration
in mkdocs.yml
site_name: Awesome Python
site_url: https://awesome-python.com
site_description: A curated list of awesome Python frameworks, libraries and software
site_author: Vinta Chen
repo_name: vinta/awesome-python
repo_url: https://github.com/vinta/awesome-python
theme:
name: material
palette:
primary: red
accent: pink
extra:
social:
- type: github
link: https://github.com/vinta
- type: twitter
link: https://twitter.com/vinta
- type: linkedin
link: https://www.linkedin.com/in/vinta
google_analytics:
- UA-510626-7
- auto
extra_css:
- css/extra.css
nav:
- "Life is short, you need Python.": "index.md"
There are more themes:
- https://squidfunk.github.io/mkdocs-material/getting-started/
- https://mkdocs.github.io/mkdocs-bootswatch/
in Makefile
site_install:
pip install -r requirements.txt
site_link:
ln -sf $(CURDIR)/README.md $(CURDIR)/docs/index.md
site_preview: site_link
mkdocs serve
site_build: site_link
mkdocs build
site_deploy: site_link
mkdocs gh-deploy --clean
Custom Domain for GitHub Pages
in docs/CNAME
awesome-python.com
After deploying your GitHub Page, just pointing your domain to following IPs with DNS A records:
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
ref:
https://help.github.com/articles/setting-up-an-apex-domain/#configuring-a-records-with-your-dns-provider
https://help.github.com/articles/troubleshooting-custom-domains/#https-errors
Automatic Deployment Via Travis CI
You need to
language: python
python:
- "3.6"
script:
- cp README.md docs/index.md
- mkdocs build
deploy:
provider: pages
local-dir: site
skip-cleanup: true
keep-history: true
github-token: $GITHUB_TOKEN
on:
branch: master