2011-05-14 29 views
0

在开源trac issue tracking software中,当您在维基或票据评论中撰写文本时,可以使用#1234链接到票证,或者您可以链接到代码更改集使用r1234。这是文档:http://trac.edgewall.org/wiki/TracLinks如何修改trac以创建自己的自定义链接格式(TracLinks)

我想定义我自己的链接格式。的想什么,我做的3个例子:

  1. 我想a1234链接到acunote票(其中补充TRAC,但外界对我们的trac安装)。
  2. 我想ge2a1b3caadd0986e3e3d316c01965a2495329b87链接到github提交(即https://github.com/peritor/webistrano/commit/e2a1b3caadd0986e3e3d316c01965a2495329b87)。
  3. 我想CComponent链接到Yii文件(即http://www.yiiframework.com/doc/api/1.1/CComponent

有谁知道我可以做到这一点使用的trac v0.12。我应该使用宏吗?一个插件?一个Genshi template?如果你知道如何,它会让我觉得这很简单吗?


+0

我有类似的要求,trac真的不适合。 imo它已经完成了很多组件,它可能会更容易。我们现在使用螳螂。它只是一个网页和一个数据库,并像魅力一样运行,并具有您所希望的一切。我听说redmine还不错。 – 2011-05-14 14:33:18

回答

4

如果你想要这个确切的语法,你没有其他选择,而不是创建一个插件,并有Component实现了IWikiSyntaxProviderinterface

如果你可以用一个稍微不同的语法生活,例如[a:1234]为acunote票,[g:e2a1b3caadd0986e3e3d316c01965a2495329b87]对GitHub的变更,并[y:CComponent]为Yii的文件,那么你可以将以下条目添加到InterMapTxt页的Trac的安装:

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

括号甚至是可选的,你也可以写'a:1234','g:e2a1b3caadd0986e3e3d316c01965a2495329b87'和'y:CComponent'。 – 2011-05-15 15:58:00

+0

这个语法适合我。哇 - 无法相信它是多么容易完成。谢谢你的帮助。 – Tom 2011-05-16 11:47:03

1

雷米是正确的,因为你的语法可能使这更加困难。链接的标准Trac语法是resource_type:link_specifier。如果您能够使用该语法,那么使用Inter-Wiki链接来完成您想要的任务非常简单。

如果这不是一个选项,您可以使用定制插件来描述您所描述的内容。并不像听起来那么困难,您可以使用现有插件的源代码作为示例。以前我已经做过几次了,你真正需要的是一个正则表达式,它代表你希望使用的语法,一个表示结果链接格式的语法,以及大约一页Python代码。

更新:有关如何通过Trac插件执行此操作的示例,示例代码和official Trac documentation中的说明。

相关问题