.. raw:: latex \part{Introduction} .. shields:: :github: pyTooling/pyTooling.Sphinx :pypi: pyTooling.Sphinx :codacy: d80355705a634d59835eeb01e8536cce :source-license: github:LICENSE.md :documentation-license: CC-BY-4.0 github:doc/Doc-License.rst :github-action: Pipeline.yml@main :documentation: github-pages github, src-license, ghp-doc, doc-license pypi-tag, pypi-status, pypi-python github-action, lib-status, codacy-quality, codacy-coverage, codecov-coverage -------------------------------------------------------------------------------- The pyTooling.Sphinx Documentation ################################## **pyTooling.Sphinx** adds roles and directives to `Sphinx `__: styled inline text and line breaks working in HTML and LaTeX, condensed class interfaces, dependency tables generated from requirements files and the package index, badges, and schema graphs. Other packages build on it: `pyTooling.GitHub `__ contributes the domain ``gha`` for GitHub Actions workflows, enabled as the extension ``pyTooling.GitHub.Sphinx``. .. attention:: pyTooling.Sphinx requires **Python 3.12 or newer**, because it requires Sphinx 9.1 and Sphinx 9.1 does. The extension is enabled in :file:`conf.py`: .. code-block:: Python # doc/conf.py extensions = [ ..., "pyTooling.Sphinx", ] It links its stylesheet into every HTML page, appends its substitutions to ``rst_prolog``, and sets up :mod:`sphinx.ext.graphviz` for the schema graphs. .. _FEATURES: Roles and Directives ******************** .. rubric:: Roles :ref:`Style roles ` |rarr| ``:red:``, ``:underline:``, ``:deletion:`` and more: CSS classes on inline text, with the stylesheet giving them their meaning. :ref:`Inline Python code ` |rarr| ``:pycode:``, syntax-highlighted inline code. :ref:`Line break and horizontal rule ` |rarr| ``|br|`` and ``|hr|``, in HTML and LaTeX. .. rubric:: Directives :ref:`condensed-class ` |rarr| A class' public interface as one code block, parsed from its source. :ref:`dependency-table ` |rarr| A project's dependencies with versions and licenses, from its requirements files and the package index. :ref:`jsonschema-graph ` |rarr| Planned: a JSON schema as a Graphviz graph. :ref:`xmlschema-graph ` |rarr| An XML schema as a Graphviz graph, drawn from the schema file. :ref:`shields ` |rarr| A project's badges from shields.io, in rows. .. _CONSUMERS: Consumers ********* This layer is used by: * `pyTooling.GitHub `__ - its Sphinx domain ``gha`` builds on this extension, and its documentation uses it. * 🚧 `pyTooling `__ - its documentation, which still uses pyTooling's own copy of this extension. .. _CONTRIBUTORS: Contributors ************ * :gh:`Patrick Lehmann ` (Maintainer) * `and more... `__ .. _LICENSE: License ******* .. only:: html This Python package (source code) is licensed under `Apache License 2.0 `__. |br| The accompanying documentation is licensed under `Creative Commons - Attribution 4.0 (CC-BY 4.0) `__. .. only:: latex This Python package (source code) is licensed under **Apache License 2.0**. |br| The accompanying documentation is licensed under **Creative Commons - Attribution 4.0 (CC-BY 4.0)**. .. toctree:: :hidden: Subnamespace of pyTooling ➚ .. toctree:: :caption: Introduction :hidden: News Installation Dependency CompetingSolutions .. raw:: latex \part{Main Documentation} .. toctree:: :caption: Roles :hidden: Roles/Style Roles/PythonCode Roles/Breaks .. toctree:: :caption: Directives :hidden: Directives/CondensedClass Directives/DependencyTable Directives/JSONSchemaGraph Directives/XMLSchemaGraph Directives/Shields .. raw:: latex \part{References and Reports} .. toctree:: :caption: References and Reports :hidden: Python Class Reference unittests/index coverage/index CodeCoverage Doc. Coverage Report Static Type Check Report ➚ .. raw:: latex \part{Appendix} .. toctree:: :caption: Appendix :hidden: License Doc-License Glossary genindex Python Module Index TODO