Sphinx - 生成Trac票据和变更集的自动生成引用

2024-04-19 10:10:12 发布

您现在位置:Python中文网/ 问答频道 /正文

Sphinx,是否有方法自动将#112或{}等文本链接到Trac中相应的票据/变更集?在

例如:

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

更多示例请参见TracLinks。在


Tags: 方法文本http示例链接sphinx票据tickets
2条回答

Sphinx1.0现在使用extlinks扩展支持external links。使用可配置的角色名称(例如“问题”),您可以编写如下链接:

:issue:`123`

它将被转换为http://mytracsite/123。在

如果你把这个放在配置.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站点的最简单方法。它自动适用于各种跟踪链接,因为它对链接使用intertrac机制。在

相关问题 更多 >