在开源trac issue tracking software中,当您在Wiki或票证评论中撰写文本时,您可以使用#1234
链接到故障单,也可以使用{{1}链接到代码更改集}。这是文档:http://trac.edgewall.org/wiki/TracLinks
我想定义自己的链接格式。我想做的3个例子:
r1234
链接到acunote票证(它补充了trac,但在我们的trac安装之外)。a1234
链接到github提交(即https://github.com/peritor/webistrano/commit/e2a1b3caadd0986e3e3d316c01965a2495329b87)。ge2a1b3caadd0986e3e3d316c01965a2495329b87
链接到Yii文档(即http://www.yiiframework.com/doc/api/1.1/CComponent)有没有人知道如何使用trac v0.12做到这一点。我应该使用宏吗?一个插件?一个Genshi template?如果你知道怎么做,这对我来说可能很简单?
答案 0 :(得分:4)
如果您需要这种确切的语法,除了创建插件并拥有实现Component
interface的IWikiSyntaxProvider
之外别无选择。
如果您可以使用稍微不同的语法,例如[a:1234]
用于非公开售票,[g:e2a1b3caadd0986e3e3d316c01965a2495329b87]
用于github变更集,[y:CComponent]
用于Yii文档,则可以添加以下条目到Trac安装的InterMapTxt页面:
a http://my.acunote.site/ticket/$1 # Acunote ticket $1
g https://github.com/peritor/webistrano/commit/$1 # Changeset $1 on Github
y http://www.yiiframework.com/doc/api/1.1/$1 # Yii documentation for $1
答案 1 :(得分:1)
Remy是正确的,因为你的语法可能会使这更加困难。链接的标准Trac语法是resource_type:link_specifier
。如果您能够使用该语法,那么使用Inter-Wiki链接来完成您想要的工作是相当简单的。
如果这不是一个选项,您可以使用自定义构建的插件执行您所描述的操作。它并不像听起来那么困难,您可以使用现有插件中的源代码作为示例。我以前做了好几次,你真正需要的是一个表示你想要使用的语法的正则表达式,一个表示结果链接格式的表达式,以及一个Python代码页。
更新:有关如何通过Trac插件执行此操作的示例,official Trac documentation中有示例代码和说明。