Sphinx,是否可以自动将#112r1023之类的文本链接到Trac中的相应票证/变更集?

例如:

#112  -> http://mytracsite/tickets/112
r1023 -> http://mytracsite/changeset/1023

有关更多示例,请参见TracLinks

最佳答案

如果您将其放在您的config.py中


trac_url = 'http://mytratsite/'

from docutils import nodes, utils
from docutils.parsers.rst import roles
import urllib

def trac_role(role, rawtext, text, lineno, inliner, options={}, content=[]):
  ref = trac_url + '/intertrac/' + urllib.quote(text, safe='')
  node = nodes.reference(rawtext, utils.unescape(text), refuri=ref, **options)
  return [node],[]

roles.register_canonical_role('trac', trac_role)

然后,您可以在文档中使用:trac:`#123`:trac:`r1023`

这可能是快速链接到追踪站点的最简单方法。由于它对链接使用intertrac机制,因此它自动适用于各种TracLink。

关于python - Sphinx-生成对Trac票证和变更集的自动引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2096401/

10-16 13:09
查看更多