BoP uses markdown
templates in _sources
for each site published at https://bookofproofs.github.io/. The templates work similarly
to JeKyll (if you are already familiar with it).
However, we compile the markdown files into html using PYTHON scripts in the _compile
folder.
The reason why we do not use JeKyll and 're-invent' the wheel is more flexibility. We incorporate some features
improving user experience, e.g.:
- Mathjax
- JSXGraph
- Sagecell
- markdown python library
- Dynamic indices and tables of contents
- Dynamic RSS feeds
- Dynamic search with autocomplete
To contribute to the site, follow these generic steps:
- Clone the repository.
- Optional: Change the constant in the script
_compile/BopCompiler.py
toTrue
:Note: this is only necessary if you want to test hyperlinks locally.class BopCompiler: local = False
- Optional: Change the constant in the script
- Add new or amend existing markdown files.
- Run
_compile/main.py
. Before this step, you might be required to install some missing python packages using pip. - Control the locally generated files in your browser. The root file is
docs/index.html
.- If something is still not the way you want it, repeat steps 2 to 4.
Once you are ready with your editions:
- Optional (If you changed the constant in 1.i):
- Change the script
_compile/BopCompiler.py
back toFalse
. - Recompile (like in step 3) to correct local hyperlinks to remote ones again.
- Change the script
- Add to git any new files you added in the folder
_sources/
or its subfolders and(!) any new files that were auto-generated indocs/
. - Commit and push to a new branch and make a change request.
Please check out our cheat sheets