- using mkdocs with github pages: https://www.mkdocs.org/user-guide/deploying-your-docs/
- using custom domain: https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site
- use the Sphinx documentation framework to build the documentation website, which is hosted via Github Pages. (Details: The documentation's source is enclosed in the docs folder. Whereas the main branch only contains the basic source files, the branch gh-pages entails the build data (with folders docs/html and docs/doctrees) and is used for deployment.)
- Docstrings: format according to NumPy Style in order to display their API reference correctly using Spinx. Please refer to Pandas Docstring Guide for best practices. The length of line inside docstrings block must be limited to 80 characters to fit into Jupyter documentation popups.
- Jupyter notebooks: render using the Sphinx nblink package. (Details: When you add a new tutorial notebook, please add the tutorial file to the respective section inside docs/source/contents.rst. Further, generate the corresponding .nblink files)
- Principles for documentation structure: https://diataxis.fr/
- Great Readme: https://dbader.org/blog/write-a-great-readme-for-your-github-project