Tech stack for this website

This site is static content, written in reStructured Text, compiled by Sphinx into HTML pages that are stored on GitHub.io CDN content delivery network.

Here is the directory structure

Here is the directory structure.:

vscode ➜ /workspaces/coding-to-music.github.io (master) $ tree -L 3
.
├── README.md                   # this is the readme when visiting the repo
├── binder                      # binder is like vscode in the cloud, view pull requests etc
│   └── environment.yml         # configuration file for binder
├── docs                        # docs is the main home for running the make file
│   ├── Makefile                # make html   or   make PDF   or   make clean
│   ├── build                   # generated output that can be served
│   │   ├── doctrees            # generated doctrees stored here
│   │   └── html                # generated HTML stored here and images, downloads
│   ├── examples                # used when testing image gallery
│   │   ├── README.txt
│   │   ├── test1
│   │   └── test2
│   ├── source                  # source is all the rst files (index.rst and site content)
│   │   ├── Help-about          # About this site
│   │   ├── How-you-can-help    # How you can get involved
│   │   ├── License             # Open source license
│   │   ├── Sandbox             # stuff I am working on
│   │   ├── __pycache__         # generated temporary cache
│   │   ├── _ext                # extensions
│   │   ├── _extensions         # extensions
│   │   ├── _html
│   │   ├── _images             # relatively unchanging assets (in build this is all generated images)
│   │   ├── _static             # relatively unchanging assets that get copied to build such as custom.css
│   │   ├── assets              # all the images
│   │   ├── auto_examples       # used when testing image gallery
│   │   ├── bareos              # excellent well-made docs examples
│   │   ├── conf.py             # all the important settings this is a executed program actually
│   │   ├── css                 # overrides go here
│   │   ├── dcma                # DCMA takedown policy
│   │   ├── examples            # used when testing image gallery
│   │   ├── generated           # used when testing image gallery
│   │   ├── index.rst           # landing page of the site
│   │   ├── myGuides            # my documentation of how to do things
│   │   ├── requirements.txt    # all the needed extensions`
│   │   ├── static              # relatively unchanging assets
│   │   ├── test_py_module      # sandbox item
│   │   └── topics              # main location of content

requirements.txt is all the software that must be installed via pip (automatically)

To manually install the required python extensions referenced by requirements.txt

pip install -r requirements.txt

here is the current requirements.txt via a literalinclude directive with some random lines emphasized

https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-literalinclude

.. literalinclude:: /requirements.txt.inc
    :language: ruby
    :emphasize-lines: 12,15-18
    :linenos:
 1sphinx>=1.8.3     
 2docutils>=0.16.0
 3
 4# Themes and visual 
 5sphinx_rtd_theme   
 6readthedocs-sphinx-ext   
 7# sphinx_material
 8
 9# Tab UI elements
10sphinx-panels   
11sphinx-tabs   
12
13# visual diagrams etc 
14sphinxcontrib-actdiag   
15sphinxcontrib-blockdiag   
16sphinxcontrib-contentui   
17sphinxcontrib-seqdiag   
18sphinxcontrib-nwdiag   
19sphinxcontrib-plantuml   
20sphinx-prompt   
21
22# Remote files but Include like a normal literalinclude
23sphinxext-remoteliteralinclude
24
25# usage
26# .. rli:: https://example.com/example.java
27#    :language: java
28#    :lines: 10-29
29#    :linenos:
30#    :lineno-start: 10
31
32# link checking
33sphinxext-linkcheckdiff==0.1.0; python_version >= "3.6"
34
35# Music notation that makes sound
36#sphinxnotes-lilypond   
37
38#sphinx-Timeline   
39
40# helpful things
41sphinx-copybutton   
42sphinx-Hoverxref   
43sphinx_issues   
44
45# images
46sphinx-gallery   
47sphinxcontrib-images   
48
49# git 
50sphinx-gitstamp   
51
52# page not found
53sphinx-notfound-page   
54
55# Redirects
56#sphinx-Redirects   
57#sphinxext.rediraffe   
58
59# sitemap 
60sphinx-Sitemap   
61
62# templates
63sphinx-Jinja   
64
65# Twitter
66#python-twitter   

DNS and Domain configuration and setup

Three items noted in the documentation https://docs.readthedocs.io/en/stable/custom_domains.html

  1. We don’t currently support pointing subdomains or root domains to a project using A records. DNS A records require a static IP address and our IPs may change without notice.

  2. For a subdomain like docs.example.com, add a CNAME record in your DNS that points the domain to readthedocs.io.

  3. For a root domain like example.com use an ANAME or ALIAS record pointing to readthedocs.io

../_images/custom-domain-support-documentation.png

Fig. 120 ReadTheDocs Custom Domain support documentation

ReadTheDocs Custom Domain support documentation

../_images/domain-details-data-entry.png

Fig. 121 ReadTheDocs Domain Settings

ReadTheDocs Domain Settings

../_images/Unable-to-add-readthedocs.io.png

Fig. 122 GoDaddy.com - Unable to add readthedocs.io as an A record

GoDaddy.com - Unable to add readthedocs.io as an A record

To add content

To add content:

Sphinx Extensions Used for this website, using intersphinx

Example of intersphinx mapping, as set in conf.py:

intersphinx_mapping = {
    'numpy': ('https://docs.scipy.org/doc/numpy/', None),
    'python': ('https://docs.python.org/3/', None),
    'pydagogue': ('https://matthew-brett.github.io/pydagogue/', None),
    'matplotlib': ('https://matplotlib.org/', None),
    'scipy': ('https://docs.scipy.org/doc/scipy/reference/', None),
    'pandas': ('https://pandas.pydata.org/pandas-docs/stable/', None),
    'sphinx': ('https://sphinx.readthedocs.io/', None),
    'docutils': ('https://docutils.readthedocs.io/', None),
    'requests': ('https://requests.readthedocs.io/en/master', None),
    'sphinx_rtd_theme': ('https://sphinx_rtd_theme.readthedocs.io/', None),
    'readthedocs-sphinx-ext': ('https://readthedocs-sphinx-ext.readthedocs.io/', None),
    'sphinx_material': ('https://sphinx_material.readthedocs.io/', None),
    'sphinx-panels': ('https://sphinx-panels.readthedocs.io/', None),
    'sphinx-tabs': ('https://sphinx-tabs.readthedocs.io/', None),
    'sphinxcontrib-actdiag': ('https://sphinxcontrib-actdiag.readthedocs.io/', None),
    'sphinxcontrib-blockdiag': ('https://sphinxcontrib-blockdiag.readthedocs.io/', None),
    'sphinxcontrib-contentui': ('https://sphinxcontrib-contentui.readthedocs.io/', None),
    'sphinxcontrib-seqdiag': ('https://sphinxcontrib-seqdiag.readthedocs.io/', None),
    'sphinxcontrib-nwdiag': ('https://sphinxcontrib-nwdiag.readthedocs.io/', None),
    'sphinxcontrib-plantuml': ('https://sphinxcontrib-plantuml.readthedocs.io/', None),
    'sphinx-prompt': ('https://sphinx-prompt.readthedocs.io/', None),
    'sphinxext-remoteliteralinclude': ('https://sphinxext-remoteliteralinclude.readthedocs.io/', None),
    'sphinxext-linkcheckdiff': ('https://sphinxext-linkcheckdiff.readthedocs.io/', None),
    'sphinxnotes-lilypond': ('https://pandas.readthedocs.io/', None),
    'sphinx-Timeline': ('https://sphinx-Timeline.readthedocs.io/', None),
    'sphinx-copybutton': ('https://sphinx-copybutton.readthedocs.io/', None),
    'sphinx-Hoverxref': ('https://sphinx-Hoverxref.readthedocs.io/', None),
    'sphinx_issues': ('https://sphinx_issues.readthedocs.io/', None),
    'sphinx-gallery': ('https://sphinx-gallery.readthedocs.io/', None),
    'sphinxcontrib-images': ('https://sphinxcontrib-images.readthedocs.io/', None),
    'sphinx-gitstamp': ('https://sphinx-gitstamp.readthedocs.io/', None),
    'sphinx-notfound-page': ('https://sphinx-notfound-page.readthedocs.io/', None),
    'sphinxext.rediraffe': ('https://sphinxext.rediraffe.readthedocs.io/', None),
    'sphinx-Sitemap': ('https://github.com/jdillard/sphinx-sitemap', None),
    'sphinx-Jinja': ('https://jinja.palletsprojects.com/en/3.0.x/', None),
}

requests numpy python pydagogue matplotlib scipy pandas sphinx docutils sphinx_rtd_theme readthedocs-sphinx-ext sphinx_material sphinx-panels

Last change: Tue, 03 Aug 2021 10:25 PM UTC