quilla/docs
Natalia Maximo a2f248d190
new: implemented exclusion XPath feature and added cookbook (#56)
2021-07-30 15:13:07 +00:00
..
source new: added blob storage plugin (#44) 2021-07-21 16:52:33 +00:00
Makefile new: initial migration from ADO 2021-06-28 17:13:58 -04:00
README.md new: initial migration from ADO 2021-06-28 17:13:58 -04:00
conf.py chg: added doc generation pipeline (#17) 2021-07-07 14:33:29 +00:00
context_expressions.md new: initial migration from ADO 2021-06-28 17:13:58 -04:00
cookbook.md new: implemented exclusion XPath feature and added cookbook (#56) 2021-07-30 15:13:07 +00:00
features.md new: initial migration from ADO 2021-06-28 17:13:58 -04:00
hooks.rst chg: reorganized hookspecs (#19) 2021-07-06 16:38:21 -04:00
how_it_works.md new: initial migration from ADO 2021-06-28 17:13:58 -04:00
index.rst new: implemented exclusion XPath feature and added cookbook (#56) 2021-07-30 15:13:07 +00:00
install.md chg: added doc generation pipeline (#17) 2021-07-07 14:33:29 +00:00
intro.md new: initial migration from ADO 2021-06-28 17:13:58 -04:00
make.bat new: initial migration from ADO 2021-06-28 17:13:58 -04:00
makefile_vars.md new: initial migration from ADO 2021-06-28 17:13:58 -04:00
plugins.md chg: added doc generation pipeline (#17) 2021-07-07 14:33:29 +00:00
preface.md chg: added doc generation pipeline (#17) 2021-07-07 14:33:29 +00:00
quilla_pytest.md new: added pytest-quilla documentation (#11) 2021-06-29 20:34:44 +00:00
usage.rst chg: document parser only after plugins run (#26) 2021-07-08 12:58:54 -04:00
validation_files.md new: implemented exclusion XPath feature and added cookbook (#56) 2021-07-30 15:13:07 +00:00
visual_parity.md new: implemented exclusion XPath feature and added cookbook (#56) 2021-07-30 15:13:07 +00:00

README.md

Documentation

Style

The Quilla module is extensively documented using the Google Docstring style (see example here), and uses Sphinx to generate the documentation.

Dependencies

The following Python packages are used to create all the documentation for this project

Package Usage
Sphinx Generating docs
sphinx-rtd-theme HTML Doocumentation style theme
sphinx_autodoc_typehints Detecting type hints
myst_parser Integrating markdown docs used in the repo into generated documentation
sphinx_argparse_cli Documenting the CLI usage

 

Building the Docs

Building from the package directory

The preferred method for building documentation is to use the make commands provided in the root package directory.

Using environment variables or the command-line, you can further customize these options. The following table describes the variables you can use to customize the documentation process.

Variable Name Use Default Values
DOC_TARGETS A space-separated list of values specifying what targets to build html man
DOCS_BUILD_DIR A directory (relative to the docs directory) in which to build the make targets _build

For more information on customizing make targets, check out the makefile vars documentation

Building from the docs/ directory

All of the above packages are available through pip and can be installed with pip install sphinx sphinx-rtd-theme sphinx_autodoc_typehints myst_parser. They are also specified in the setup.py file, and can therefore be installed with pip install .[docs]

To generate the docs, run make help to see what targets are available. In general, these are common targets:

  • make html
  • make man
  • make latex
  • make latexpdf

Note: Even though the latexpdf target will produce a PDF document, you need the required tex packages installed to generate it, and those are not provided with sphinx. Installing apt packages such as tex-common, texlive-full, etc. may help, but installation of the specific packages is out of scope for this documentation and should be handled by the end user.