comparison docs/conf.py @ 784:16f040434598

Move IAMCustomSubstitutions from function level to module level
author Franz Glasner <fzglas.hg@dom66.de>
date Sat, 16 May 2026 22:27:13 +0200
parents 8151ac02f71d
children 8ab718cbec22
comparison
equal deleted inserted replaced
783:8151ac02f71d 784:16f040434598
253 253
254 autodoc_member_order = 'bysource' 254 autodoc_member_order = 'bysource'
255 autoclass_content = 'both' 255 autoclass_content = 'both'
256 256
257 257
258 class IAMCustomSubstitutions(sphinx.transforms.SphinxTransform):
259
260 """Implement custom variable substitutions"""
261
262 default_priority = sphinx.transforms.DefaultSubstitutions.default_priority
263
264 _SUBSTITUTIONS = {
265 "release_date": release_date,
266 "release_rev": release_rev
267 }
268 if define_rest_keywords:
269 _SUBSTITUTIONS.update(
270 {"VCSJustDate": release_date,
271 "VCSRevision": release_rev,
272 "VCSHGRevision": release_rev})
273
274 def apply(self):
275 from docutils import nodes
276 for ref in self.document.traverse(nodes.substitution_reference):
277 refname = ref['refname']
278 if refname in self._SUBSTITUTIONS:
279 stext = self._SUBSTITUTIONS[refname]
280 ref.replace_self(nodes.Text(stext, stext))
281 #if refname in ('release_date' 'release_rev'):
282 # stext = self.config[refname]
283 # ref.replace_self(nodes.Text(stext, stext))
284
285
258 def setup(app): 286 def setup(app):
259 logger = sphinx.util.logging.getLogger("conf-setup") 287 logger = sphinx.util.logging.getLogger("conf-setup")
260 logger.info("Release: %s", release) 288 logger.info("Release: %s", release)
261 logger.info("Release Date: %s", release_date) 289 logger.info("Release Date: %s", release_date)
262 logger.info("Release Rev: %s", release_rev) 290 logger.info("Release Rev: %s", release_rev)
265 # Custom release_date variable with a custom substitution |release_date| 293 # Custom release_date variable with a custom substitution |release_date|
266 # and |release_rev|'. 294 # and |release_rev|'.
267 # 295 #
268 app.add_config_value('release_date', '', 'env') 296 app.add_config_value('release_date', '', 'env')
269 app.add_config_value('release_rev', '', 'env') 297 app.add_config_value('release_rev', '', 'env')
270 298 # Custom variable substitution
271 class IAMCustomSubstitutions(sphinx.transforms.SphinxTransform):
272
273 default_priority = sphinx.transforms.DefaultSubstitutions.default_priority
274
275 SUBSTITUTIONS = {
276 "release_date": release_date,
277 "release_rev": release_rev
278 }
279 if define_rest_keywords:
280 SUBSTITUTIONS.update(
281 {"VCSJustDate": release_date,
282 "VCSRevision": release_rev,
283 "VCSHGRevision": release_rev})
284
285 def apply(self):
286 from docutils import nodes
287 for ref in self.document.traverse(nodes.substitution_reference):
288 refname = ref['refname']
289 if refname in self.SUBSTITUTIONS:
290 stext = self.SUBSTITUTIONS[refname]
291 ref.replace_self(nodes.Text(stext, stext))
292 #if refname in ('release_date' 'release_rev'):
293 # stext = self.config[refname]
294 # ref.replace_self(nodes.Text(stext, stext))
295
296 app.add_transform(IAMCustomSubstitutions) 299 app.add_transform(IAMCustomSubstitutions)