Editing this site
We use Material for MkDocs to generate beautiful documentation without worrying about the intricacies of modern web development. The content is written with Markdown which has a low learning curve for anyone not already familiar with it.
The site is hosted with GitHub Pages.
Environment Setup
These steps only need to be performed once.
-
Clone the racecar repository.
git clone https://github.com/macformula/racecar.git -
Create a Python virtual environment.
This step is optional but recommended.
cd racecar/docs python -m venv .venvActivate the virtual environment.
.venv\Scripts\activatesource .venv/bin/activate -
Install the documentation dependencies.
pip install -r requirements.txt
Editing and Viewing the Site
Follow these steps each time you want to edit the site.
This section assumes that you have already activated your virtual environment, if applicable.
-
Launch an
mkdocsserver to locally host the site.$ cd racecar/docs $ mkdocs serve ... INFO - [22:01:58] Serving on http://127.0.0.1:8000/ -
Open the listed URL in your web browser.
In this example, open http://127.0.0.1:8000/ in a browser.
-
Edit the contents of the
docs/folder. Your locally hosted site will update whenever you edit and save a relevant file.Markdown References
Generic Markdown https://www.markdownguide.org/cheat-sheet/
Material for MkDocs https://squidfunk.github.io/mkdocs-material/reference/
Publishing Changes
When you are satisfied with your changes, commit and make a pull request.
A Github action will automatically re-build the website when the PR is merged into main. The build artefacts are pushed to the ghpages branch of the repository from which the website is hosted. The website will update within a few minutes.
The action is specified in racecar/.github/workflows/deploy-ghpages.yml and was copied from https://squidfunk.github.io/mkdocs-material/publishing-your-site/.
The ghpages branch
The action force-pushes build artefacts to the ghpages branch, so any changes made on this branch will be overwritten. Edit the contents of racecar/docs to modify the site.