2011-05-14 47 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中的說明。

相關問題