0

オープンソースのtrac問題追跡ソフトウェアでは、wikiにテキストを書き込んだり、チケットのコメントを書き込んだりするときに、を使用してチケットにリンクしたり、を使用#1234してコードチェンジセットにリンクしたりできますr1234。これはドキュメントです: http: //trac.edgewall.org/wiki/TracLinks

自分のリンクフォーマットを定義したいのですが。私がやりたいことの3つの例:

  1. acunoteチケット(tracを補完しますが、tracインストールの外部にあります)a1234にリンクしたいと思います。
  2. githubge2a1b3caadd0986e3e3d316c01965a2495329b87コミットにリンクしたい(つまり、 https://github.com/peritor/webistrano/commit/e2a1b3caadd0986e3e3d316c01965a2495329b87)。
  3. Yiiのドキュメント(つまり、 http: //www.yiiframework.com/doc/api/1.1/CComponent )CComponentにリンクしたいのですが

tracv0.12を使用してこれを行う方法を知っている人はいますか。マクロを使用する必要がありますか?プラグイン?源氏テンプレート?ノウハウがあれば、とても簡単なことだと思いますか?


4

2 に答える 2

4

この正確な構文が必要な場合は、プラグインを作成し、インターフェースComponentを実装する を用意する以外に選択肢はありません。IWikiSyntaxProvider

[a:1234]acunote チケット、[g:e2a1b3caadd0986e3e3d316c01965a2495329b87]github変更セット、Yii ドキュメントなど、少し異なる構文を使用できる場合は、Trac インストールのInterMapTxt[y:CComponent]ページに次のエントリを追加できます。

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
于 2011-05-14T21:16:20.440 に答える
1

あなたの構文がこれをより困難にしている可能性があるという点で、レミーは正しいです。リンクの標準の Trac 構文はresource_type:link_specifier. 代わりにその構文を使用できる場合は、Inter-Wiki リンクを使用して目的を達成するのはかなり簡単です。

それができない場合は、カスタムビルドのプラグインで説明したことを行うことができます。思ったほど難しくはありません。既存のプラグインのソースを例として使用できます。これは以前にも何度か行ったことがありますが、実際に必要なのは、使用する構文を表す正規表現と、結果のリンクの形式を表す正規表現、および約 1 ページの Python コードだけです。

更新: Trac プラグインを介してこれを行う方法の例については、Trac の公式ドキュメントにサンプル コードと説明があります。

于 2011-05-15T16:15:36.743 に答える