python - Sphinx - 生成对 Trac 票证和变更集的自动引用

标签 python trac python-sphinx restructuredtext

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`

这可能是快速链接到 trac 站点的最简单方法。它自动适用于所有类型的 TracLink,因为它使用链接的 intertrac 机制。

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

相关文章:

具有轻量级标记的 Javascript API 文档框架

python - 在 Emacs 中更改 python 函数参数格式

python - 根据其他 2 列确定列值

version - 正确使用版本和里程碑的方法

plugins - Trac 插件,具有里程碑和票证的图形表示

python - 尝试在某些 GIMP Python 插件代码上运行 Sphinx 时出错

python - 管道 Scrapy Python - 关键错误 : 'id'

python - ffmpeg rtmp 在 youtube 上播放速度低于 1x

svn - 尝试过 redmine 和 trac,但它们都不允许我在项目之间共享里程碑和错误

python - 如何使用 Sphinx autodoc 在不同目录中使用 Python 模块文档的多个路径?