-
Bookstack
- About: CMS
- Bookstack Home Page:
- GitHub Repo
- About: More like wiki media in Markdown.
- Tech Stack: MySQL/PHP/Laravel-based
- Pros: Open source, self-hosted, robust, markdown editor
- Cons: no git sync integration,
-
Grav
- About: CMS
- Grav Home Page
- GitHub Repo
- Tech stack: PHP-based
- Pros: Open source, self-hosted, flat-file based, markdown editor, git sync might be possible with efforts
-
GitBook
- About: CMS
- Gitbook Homep Page
- Pros: Git Sync, Markdown supported
- Cons: Commercial, not self-hosted, subscription-based
-
Notable
- About: Desktop note-taking app
- Notable Home Page
- GitHub Repo
- Pros: Desktop app, self git sync, Markdown-based, self-hosted
- Cons: Earlier versions open source, web support in dev
-
Sphinx
- About: Documentation generator
- Sphinx Home Page
- Github Repo
- Tech stack: Python-based
- Pros: Documentation generator, open-source, self git sync, supports Markdown, popular among Python and ReadTheDoc community, can be installed as python package.
Summary: For now go with Sphinx with self-hosting. For the future, move to more robust CMS like Bookstack.
- If not already installed, install
sphinxusing Python package installerpipusing the following command:
pip install -U sphinx
- If not already installed, install
sphinx-autobuild
pip install sphinx sphinx-autobuild
- We are going to use ReadTheDocs theme for the html file. Install the theme using the following command. Read here for details.
pip install sphinx_rtd_theme
- We are going to use
myst-parserto generate html documentation from Markdown. See here for details. Install it using:
pip install myst-parser
-
Initialize the documentation configuration from the top level directory using
sphinx-autobuild. -
Add these at the end of the existing conf.py file to connect to the Markdown parser and ReadTheDocs theme installed:
extensions = ["myst_parser", "sphinx_rtd_theme"]
source_suffix = ['.rst', '.md']
html_theme = "sphinx_rtd_theme"
- Generate the html documentation:
make html.