斯芬克斯,有没有办法像#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`在文档中。

这可能是做出快速链接到一个网站的trac的最简单的方法。因为它使用的链接intertrac机制,它会自动适用于各种TracLinks的。

其他提示

1.0斯芬克斯现在支持外部连结使用的extlinks扩展。使用可配置的角色名称(例如“问题”),你可以写你的链接,如:

:issue:`123`

和它将被转换到http://mytracsite/123

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top