Mercurial > hgrepos > Python > libs > ConfigMix
changeset 783:8151ac02f71d default tip
Move all the transforms (|xxx| replacements) from rst_prolog/_epilog to the already existing transform
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Sat, 16 May 2026 21:58:06 +0200 |
| parents | 36d9f5164046 |
| children | |
| files | docs/conf.py |
| diffstat | 1 files changed, 24 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/docs/conf.py Sat May 16 15:01:02 2026 +0200 +++ b/docs/conf.py Sat May 16 21:58:06 2026 +0200 @@ -16,6 +16,9 @@ import os import sys +import sphinx.util.logging +import sphinx.transforms + sys.path.insert(0, os.path.dirname(os.path.abspath('.'))) import configmix @@ -122,17 +125,6 @@ # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' -rst_prolog = """ -.. |release_date| replace:: %s -.. |release_rev| replace:: %s -""" % (release_date, release_rev) -if define_rest_keywords: - rst_prolog += """\ -.. |VCSJustDate| replace:: %s -.. |VCSRevision| replace:: %s -.. |VCSHGRevision| replace:: %s -""" % (release_date, release_rev, release_rev) - # -- Options for HTML output ------------------------------------------------- @@ -264,6 +256,11 @@ def setup(app): + logger = sphinx.util.logging.getLogger("conf-setup") + logger.info("Release: %s", release) + logger.info("Release Date: %s", release_date) + logger.info("Release Rev: %s", release_rev) + # # Custom release_date variable with a custom substitution |release_date| # and |release_rev|'. @@ -271,17 +268,29 @@ app.add_config_value('release_date', '', 'env') app.add_config_value('release_rev', '', 'env') - import sphinx.transforms - class IAMCustomSubstitutions(sphinx.transforms.SphinxTransform): default_priority = sphinx.transforms.DefaultSubstitutions.default_priority + + SUBSTITUTIONS = { + "release_date": release_date, + "release_rev": release_rev + } + if define_rest_keywords: + SUBSTITUTIONS.update( + {"VCSJustDate": release_date, + "VCSRevision": release_rev, + "VCSHGRevision": release_rev}) + def apply(self): from docutils import nodes for ref in self.document.traverse(nodes.substitution_reference): refname = ref['refname'] - if refname in ('release_date' 'release_rev'): - stext = self.config[refname] + if refname in self.SUBSTITUTIONS: + stext = self.SUBSTITUTIONS[refname] ref.replace_self(nodes.Text(stext, stext)) + #if refname in ('release_date' 'release_rev'): + # stext = self.config[refname] + # ref.replace_self(nodes.Text(stext, stext)) app.add_transform(IAMCustomSubstitutions)
