# HG changeset patch # User Franz Glasner # Date 1778963233 -7200 # Node ID 16f0404345983d4a0fed382059f0bacb863eef50 # Parent 8151ac02f71df61d8c214c48e5da1fc3b323d0ee Move IAMCustomSubstitutions from function level to module level diff -r 8151ac02f71d -r 16f040434598 docs/conf.py --- a/docs/conf.py Sat May 16 21:58:06 2026 +0200 +++ b/docs/conf.py Sat May 16 22:27:13 2026 +0200 @@ -255,6 +255,34 @@ autoclass_content = 'both' +class IAMCustomSubstitutions(sphinx.transforms.SphinxTransform): + + """Implement custom variable substitutions""" + + 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 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)) + + def setup(app): logger = sphinx.util.logging.getLogger("conf-setup") logger.info("Release: %s", release) @@ -267,30 +295,5 @@ # app.add_config_value('release_date', '', 'env') app.add_config_value('release_rev', '', 'env') - - 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 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)) - + # Custom variable substitution app.add_transform(IAMCustomSubstitutions)