Project setup
Environment
# setup working environment
# it might be useful to use one common
# environment for all projects
$ python3 -m venv .venv
$ source .venv/bin/activate
$ pip install sphinx sphinx sphinx-rtd-theme sphinx-tags sphinx-toolbox
$ sphinx-quickstart
Settings
source/conf.py
extensions =
"sphinx.ext.todo",
"sphinx_tags",
"sphinx_rtd_theme",
"sphinx_toolbox.collapse",
"volca_patch", # if installed in source/_ext
"chordlyrics" # if installed in source/_ext
]
html_theme = 'sphinx_rtd_theme'
html_static_path = ['_static']
tags_create_tags = True
todo_include_todos = True
html_theme_options = {
'collapse_navigation': False,
'sticky_navigation': True,
'navigation_depth': 4,
'titles_only': False,
}
def setup(app):
app.add_css_file("chords.css") # will include source/static/chords.css
Todo
Explain custom directives
Workflow
$ make html
$ pip install sphinx-autobuild
$ sphinx-autobuild source build