Skip to content

Commit e5863a3

Browse files
authored
Update documentation configuration (#96)
This PR: - updates the Sphinx build configuration - adds the `-W` flag to the documentation build workflow, so that we get alerted about Sphinx warnings - updates the main doc page to clarify supported Python versions
1 parent 53378c3 commit e5863a3

5 files changed

Lines changed: 77 additions & 313 deletions

File tree

.github/workflows/documentation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ jobs:
1515
cache-dependency-path: 'docs/requirements.txt'
1616
- run: python -m pip install -r docs/requirements.txt
1717
- run: python -m pip install .
18-
- run: python -m sphinx -b html -d docs/build/doctrees docs/source docs/build/html
18+
- run: python -m sphinx -W -b html -d docs/build/doctrees docs/source docs/build/html

docs/source/conf.py

Lines changed: 10 additions & 247 deletions
Original file line numberDiff line numberDiff line change
@@ -1,261 +1,24 @@
1-
# refcycle documentation build configuration file, created by
2-
# sphinx-quickstart on Sun Dec 15 10:25:17 2013.
3-
#
4-
# This file is execfile()d with the current directory set to its
5-
# containing dir.
6-
#
7-
# Note that not all possible configuration values are present in this
8-
# autogenerated file.
9-
#
10-
# All configuration values have a default; values that are commented out
11-
# serve to show the default.
1+
# Configuration file for the Sphinx documentation builder.
122

133
import importlib.metadata
14-
import os
15-
import sys
164

17-
# If extensions (or modules to document with autodoc) are in another directory,
18-
# add these directories to sys.path here. If the directory is relative to the
19-
# documentation root, use os.path.abspath to make it absolute, like shown here.
20-
package_dir = os.path.abspath(os.path.join(os.path.pardir, os.path.pardir))
21-
sys.path.insert(0, package_dir)
22-
23-
# -- General configuration ------------------------------------------------
24-
25-
# If your documentation needs a minimal Sphinx version, state it here.
26-
# needs_sphinx = '1.0'
5+
project = "refcycle"
6+
copyright = "2013-2023 Mark Dickinson"
7+
author = "Mark Dickinson"
8+
release = importlib.metadata.version("refcycle")
279

28-
# Add any Sphinx extension module names here, as strings. They can be
29-
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
30-
# ones.
10+
# -- General configuration ---------------------------------------------------
3111
extensions = [
3212
"sphinx.ext.autodoc",
3313
"sphinx.ext.doctest",
3414
"sphinx.ext.intersphinx",
3515
"sphinx.ext.viewcode",
3616
]
37-
38-
# Add any paths that contain templates here, relative to this directory.
39-
templates_path = ["_templates"]
40-
41-
# The suffix of source filenames.
42-
source_suffix = ".rst"
43-
44-
# The encoding of source files.
45-
# source_encoding = 'utf-8-sig'
46-
47-
# The master toctree document.
48-
master_doc = "index"
49-
50-
# General information about the project.
51-
project = "refcycle"
52-
copyright = "2013-2023 Mark Dickinson"
53-
54-
# The version info for the project you're documenting, acts as replacement for
55-
# |version| and |release|, also used in various other places throughout the
56-
# built documents.
57-
#
58-
# The short X.Y version.
59-
version = ".".join(importlib.metadata.version("refcycle").split(".")[:2])
60-
61-
# The full version, including patchlevel and alpha/beta/rc tags.
62-
release = importlib.metadata.version("refcycle")
63-
64-
# The language for content autogenerated by Sphinx. Refer to documentation
65-
# for a list of supported languages.
66-
# language = None
67-
68-
# There are two options for replacing |today|: either, you set today to some
69-
# non-false value, then it is used:
70-
# today = ''
71-
# Else, today_fmt is used as the format for a strftime call.
72-
# today_fmt = '%B %d, %Y'
73-
74-
# List of patterns, relative to source directory, that match files and
75-
# directories to ignore when looking for source files.
76-
exclude_patterns = []
77-
78-
# The reST default role (used for this markup: `text`) to use for all
79-
# documents.
80-
# default_role = None
81-
82-
# If true, '()' will be appended to :func: etc. cross-reference text.
8317
add_function_parentheses = False
18+
nitpicky = True
8419

85-
# If true, the current module name will be prepended to all description
86-
# unit titles (such as .. function::).
87-
# add_module_names = True
88-
89-
# If true, sectionauthor and moduleauthor directives will be shown in the
90-
# output. They are ignored by default.
91-
# show_authors = False
92-
93-
# The name of the Pygments (syntax highlighting) style to use.
94-
pygments_style = "sphinx"
95-
96-
# A list of ignored prefixes for module index sorting.
97-
# modindex_common_prefix = []
98-
99-
# If true, keep warnings as "system message" paragraphs in the built documents.
100-
# keep_warnings = False
101-
102-
103-
# -- Options for HTML output ----------------------------------------------
104-
105-
# The theme to use for HTML and HTML Help pages. See the documentation for
106-
# a list of builtin themes.
107-
html_theme = "default"
108-
109-
# Theme options are theme-specific and customize the look and feel of a theme
110-
# further. For a list of options available for each theme, see the
111-
# documentation.
112-
# html_theme_options = {}
113-
114-
# Add any paths that contain custom themes here, relative to this directory.
115-
# html_theme_path = []
116-
117-
# The name for this set of Sphinx documents. If None, it defaults to
118-
# "<project> v<release> documentation".
119-
# html_title = None
120-
121-
# A shorter title for the navigation bar. Default is the same as html_title.
122-
# html_short_title = None
123-
124-
# The name of an image file (relative to this directory) to place at the top
125-
# of the sidebar.
126-
# html_logo = None
127-
128-
# The name of an image file (within the static path) to use as favicon of the
129-
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
130-
# pixels large.
131-
# html_favicon = None
132-
133-
# Add any paths that contain custom static files (such as style sheets) here,
134-
# relative to this directory. They are copied after the builtin static files,
135-
# so a file named "default.css" will overwrite the builtin "default.css".
136-
html_static_path = []
137-
138-
# Add any extra paths that contain custom files (such as robots.txt or
139-
# .htaccess) here, relative to this directory. These files are copied
140-
# directly to the root of the documentation.
141-
# html_extra_path = []
142-
143-
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
144-
# using the given strftime format.
145-
# html_last_updated_fmt = '%b %d, %Y'
146-
147-
# If true, SmartyPants will be used to convert quotes and dashes to
148-
# typographically correct entities.
149-
# html_use_smartypants = True
150-
151-
# Custom sidebar templates, maps document names to template names.
152-
# html_sidebars = {}
153-
154-
# Additional templates that should be rendered to pages, maps page names to
155-
# template names.
156-
# html_additional_pages = {}
157-
158-
# If false, no module index is generated.
159-
# html_domain_indices = True
160-
161-
# If false, no index is generated.
162-
# html_use_index = True
163-
164-
# If true, the index is split into individual pages for each letter.
165-
# html_split_index = False
166-
167-
# If true, links to the reST sources are added to the pages.
168-
# html_show_sourcelink = True
169-
170-
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
171-
# html_show_sphinx = True
172-
173-
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
174-
# html_show_copyright = True
175-
176-
# If true, an OpenSearch description file will be output, and all pages will
177-
# contain a <link> tag referring to it. The value of this option must be the
178-
# base URL from which the finished HTML is served.
179-
# html_use_opensearch = ''
180-
181-
# This is the file name suffix for HTML files (e.g. ".xhtml").
182-
# html_file_suffix = None
183-
184-
# Output file base name for HTML help builder.
185-
htmlhelp_basename = "refcycledoc"
186-
187-
188-
# -- Options for LaTeX output ---------------------------------------------
189-
190-
latex_elements = {}
191-
192-
# Grouping the document tree into LaTeX files. List of tuples
193-
# (source start file, target name, title,
194-
# author, documentclass [howto, manual, or own class]).
195-
latex_documents = [
196-
("index", "refcycle.tex", "refcycle Documentation", "Mark Dickinson", "manual"),
197-
]
198-
199-
# The name of an image file (relative to this directory) to place at the top of
200-
# the title page.
201-
# latex_logo = None
202-
203-
# For "manual" documents, if this is true, then toplevel headings are parts,
204-
# not chapters.
205-
# latex_use_parts = False
206-
207-
# If true, show page references after internal links.
208-
# latex_show_pagerefs = False
209-
210-
# If true, show URL addresses after external links.
211-
# latex_show_urls = False
212-
213-
# Documents to append as an appendix to all manuals.
214-
# latex_appendices = []
215-
216-
# If false, no module index is generated.
217-
# latex_domain_indices = True
218-
219-
220-
# -- Options for manual page output ---------------------------------------
221-
222-
# One entry per manual page. List of tuples
223-
# (source start file, name, description, authors, manual section).
224-
man_pages = [("index", "refcycle", "refcycle Documentation", ["Mark Dickinson"], 1)]
225-
226-
# If true, show URL addresses after external links.
227-
# man_show_urls = False
228-
229-
230-
# -- Options for Texinfo output -------------------------------------------
231-
232-
# Grouping the document tree into Texinfo files. List of tuples
233-
# (source start file, target name, title, author,
234-
# dir menu entry, description, category)
235-
texinfo_documents = [
236-
(
237-
"index",
238-
"refcycle",
239-
"refcycle Documentation",
240-
"Mark Dickinson",
241-
"refcycle",
242-
"One line description of project.",
243-
"Miscellaneous",
244-
),
245-
]
246-
247-
# Documents to append as an appendix to all manuals.
248-
# texinfo_appendices = []
249-
250-
# If false, no module index is generated.
251-
# texinfo_domain_indices = True
252-
253-
# How to display URL addresses: 'footnote', 'no', or 'inline'.
254-
# texinfo_show_urls = 'footnote'
255-
256-
# If true, do not generate a @detailmenu in the "Top" node's menu.
257-
# texinfo_no_detailmenu = False
258-
20+
# -- Options for HTML output -------------------------------------------------
21+
html_theme = "alabaster"
25922

260-
# Example configuration for intersphinx: refer to the Python standard library.
23+
# -- Intersphinx configuration -----------------------------------------------
26124
intersphinx_mapping = {"python": ("http://docs.python.org/3/", None)}

docs/source/images/example.pdf

6.66 KB
Binary file not shown.

0 commit comments

Comments
 (0)