【问题标题】:How to modify trac to create own custom Link format (TracLinks)如何修改 trac 以创建自己的自定义链接格式 (TracLinks)
【发布时间】:2011-05-14 14:18:00
【问题描述】:

在开源trac issue tracking software 中,当您在wiki 或ticket cmets 中编写文本时,您可以使用#1234 链接到ticket,或者您可以使用r1234 链接到代码变更集。这是文档:http://trac.edgewall.org/wiki/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?如果你知道怎么做,我觉得它可能非常简单?


【问题讨论】:

  • 我有类似的要求,trac 真的不适合。 imo 它过于复杂了,它有很多组件,它可能会容易得多。我们现在使用螳螂。它只是一个网页和一个数据库,运行起来就像一个魅力,并具有您所希望的一切。我听说redmine也不错。

标签: python customization trac issue-tracking


【解决方案1】:

如果您想要这种精确的语法,您别无选择,只能创建一个插件并拥有一个实现 IWikiSyntaxProvider interfaceComponent

如果您可以使用稍微不同的语法,例如 [a:1234] 用于 acunote 票证,[g:e2a1b3caadd0986e3e3d316c01965a2495329b87] 用于 github 变更集,[y:CComponent] 用于 Yii 文档,那么您可以将以下条目添加到 @ 987654322@ 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

【讨论】:

  • 括号是可选的,你也可以写a:1234g:e2a1b3caadd0986e3e3d316c01965a2495329b87y:CComponent
  • 这个语法对我来说很好。哇 - 无法相信它是多么容易完成。感谢您的帮助。
【解决方案2】:

Remy 是正确的,因为您的语法可能会使这变得更加困难。链接的标准 Trac 语法是 resource_type:link_specifier。如果您能够改用该语法,那么使用跨 Wiki 链接来完成您想要的操作是相当简单的。

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

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

【讨论】:

    猜你喜欢
    • 2012-04-18
    • 2018-02-05
    • 1970-01-01
    • 2013-01-26
    • 2019-10-30
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 2010-12-11
    相关资源
    最近更新 更多