Setup

To get started with the project download it from the source code section and extract it. You can optionally run wheel.sh --clean-all to remove all of wheel’s documentation for new projects. Don’t forget to edit index.rst and conf.py to remove wheel specific stuff.

wget https://fossil.xyzzyapps.link/wheel/tarball/trunk/download.tar.gz
tar zxvf download.tar.gz
mv download <project-name>
cd <project-name>
fish wheel.sh --clean-all

Install additional Utilities

brew install entr
brew install fish
brew install safe-rm

Todo

  • Linux Setup

Python and Sphinx Setup

You need to setup virtualenv, pip and python3 for your operating system. Please read the official docs for that. Although this codebase uses sphinx, mainly for the theme nothing is stopping you from using any other format.

Installing requirements

virtualenv env
source env/bin/activate.fish
pip install -r requirements.txt
alabaster==0.7.12
attrs==21.2.0
Babel==2.9.1
beautifulsoup4==4.9.3
certifi==2021.5.30
chardet==4.0.0
click==8.0.1
cogapp==3.0.0
docutils==0.16
idna==2.10
imagesize==1.2.0
importlib-metadata==4.11.1
Jinja2==3.0.1
markdown-it-py==1.1.0
MarkupSafe==2.0.1
mdit-py-plugins==0.2.8
myst-parser==0.15.1
packaging==20.9
prompt-toolkit==1.0.14
pydata-sphinx-theme==0.6.3
Pygments==2.9.0
PyInquirer==1.0.3
pyparsing==2.4.7
pytz==2021.1
PyYAML==5.4.1
regex==2022.3.15
requests==2.25.1
six==1.16.0
snowballstemmer==2.1.0
soupsieve==2.2.1
Sphinx==3.5.4
sphinx-book-theme==0.1.0
sphinxcontrib-applehelp==1.0.2
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==2.0.0
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.5
typing_extensions==4.1.1
urllib3==1.26.6
wcwidth==0.2.5
zipp==3.7.0

Sphinx Config

Support

  1. Markdown

  2. Analytics

  3. Custom CSS

  4. Todo

  5. Custom Footer

  6. MyBook Sphinx theme

The custom CSS has code for hiding syntax errors while highlighting cog related syntax.

project = 'Wheel'
copyright = '(c) Xyzzy Apps, 2021'
author = 'Xyzzy Apps'
master_doc = "index"
todo_include_todos = True

extensions = ['myst_parser', 'sphinx.ext.todo']
source_suffix = ['.rst', '.md']
templates_path = ['_templates']
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']

html_theme = 'sphinx_book_theme'
html_title = "Wheel"

html_theme_options = {
    "use_fullscreen_button": True,
    "single_page": False,
    "use_download_button": False,
    "home_page_in_toc": False,
    "extra_navbar": """
<a target="_blank" href="/">Xyzzy Apps Home</a><br>
<p class='custom-nav-footer'>(c) Xyzzy Apps, 2021</p>
"""
}

html_sidebars = {
   "**": ["sidebar-logo.html", "sbt-sidebar-nav.html", "sbt-sidebar-footer.html"]
}

html_show_sphinx = False
html_show_sourcelink = False

html_static_path = ['_static']
html_js_files = ['analytics.js']
html_css_files = ["custom.css"]