是Sphinx ,有没有办法自动将 #112
或 r1023
之类的文本链接到 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`
。
这可能是快速链接到 trac 站点的最简单方法。它自动适用于所有类型的 TracLink,因为它使用链接的 intertrac 机制。
关于python - Sphinx - 生成对 Trac 票证和变更集的自动引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2096401/