= Trac リンク =
TracLinks は Trac の基礎となる機能です。というのも、 TracLinks によってシステムのエントリ間 - チケット、レポート、チェンジセット、Wikiページ、マイルストーン、ソースファイルなど - で簡単にハイパーリンクすることができるからです。

TracLinks は通常、 '''type:id''' (''id'' はコンポーネントの
番号や名前、パス) の形式で記述しますが、よく使われるコンポーネントについては、
下の例のように表記を省略することもできます。

例:
 * チケット: '''!#1''' or '''!ticket:1'''
 * チケットのコメント: '''!comment:ticket:1:2''' 
 * レポート: '''!{1}''' or '''!report:1'''
 * チェンジセット: '''!r1''', '''![1]''', '''!changeset:1''' or (restricted) '''![1/trunk]''', '''!changeset:1/trunk'''
 * リビジョンログ: '''!r1:3''', '''![1:3]''' or '''!log:@1:3''', '''!log:trunk@1:3'''
 * Diffs ([http://trac.edgewall.org/milestone/0.10 0.10] 以降): '''!diff:@1:3''', '''!diff:tags/trac-0.9.2/wiki-default//tags/trac-0.9.3/wiki-default''' or '''!diff:trunk/trac@3538//sandbox/vc-refactoring@3539'''
 * Wiki ページ: '''CamelCase''' or '''!wiki:CamelCase'''
 * マイルストーン: '''!milestone:1.0'''
 * 添付ファイル: '''!attachment:ticket:944:attachment.1073.diff'''
 * ファイル: '''!source:trunk/COPYING'''
 * あるリビジョンのファイル: '''!source:/trunk/COPYING#200'''
 * あるリビジョンのファイルのある行数: '''!source:/trunk/COPYING@200#L25'''
表示:
 * チケット: #1 or ticket:1
 * チケットのコメント: comment:ticket:1:2 
 * レポート: {1} or report:1
 * チェンジセット: r1, [1], changeset:1, or (restricted) [1/trunk], changeset:1/trunk
 * リビジョンログ: r1:3, [1:3] or log:@1:3, log:trunk@1:3
 * Diffs ([http://trac.edgewall.org/milestone/0.10 0.10] 以降): diff:@20:30, diff:tags/trac-0.9.2/wiki-default//tags/trac-0.9.3/wiki-default or diff:trunk/trac@3538//sandbox/vc-refactoring/trac@3539
 * Wiki ページ: CamelCase or wiki:CamelCase
 * マイルストーン: milestone:1.0
 * 添付ファイル: attachment:ticket:944:attachment.1073.diff
 * ファイル: source:trunk/COPYING
 * あるリビジョンのファイル: source:/trunk/COPYING#200
 * あるリビジョンのファイルのある行数: source:/trunk/COPYING@200#L25

'''Note:''' wiki:CamelCase の書式が使われることはほとんどありませんが、
ページ名が WikiPageNames のルールに従っていないページ (一文字、
アルファベット以外の文字、etc.) をリンクしたい場合には便利です。 
WikiPageNames に Wiki ページ名へのリンクに関する特記事項が書いてあるので見て下さい。

フル表記の (簡略形でない) Trac リンクでは、次のようにしてリンクタイトルを
カスタマイズすることもできます:

{{{
[ticket:1 これは1番目のチケットへのリンクです].
}}}

表示: [ticket:1 これは1番目のチケットへのリンクです].

タイトルが省略された場合、 ID のみ（コロンの後ろ側）が表示されます。

{{{
[ticket:1]
}}}

表示: [ticket:1]

もし名前空間の一部が省略されていたら、 `wiki` がデフォルトの値です。(''バージョン 0.10 以降''):

{{{
[SandBox the sandbox]
}}}

表示: [SandBox the sandbox]

TracLinks はとてもシンプルなアイディアですが、実際にはとても複雑な情報網になっています。実際、使う分にはとても直感的で簡単ですし、 "リンクの追跡" がプロジェクトでおこったことやなぜある事象が起こったのかを理解するのにとても役に立ちます。

以下に示すセクションは特定のリンクの種類の詳細について記述しています。 TracLinks の上級者向けの使用方法も同時に記述します。

== attachment: リンク ==

添付ファイルへのリンクのシンタックスは次に示すとおりです:
 * !attachment:the_file.txt は、現在のオブジェクトに添付されたファイル the_file.txt へのリンクを生成します。
 * !attachment:wiki:MyPage:the_file.txt は、 Wiki ページ !MyPage に添付されたファイル the_file.txt へのリンクを生成します。
 * !attachment:ticket:753:the_file.txt は、チケット 753 に添付されたファイル the_file.txt へのリンクを生成します。

== ソースファイルへのリンク ==

source:/some/path 形式のリンクは、パスがディレクトリを示しているならば
ディレクトリブラウザを開き、それ以外の場合はリビジョンログを表示します。
また、source:/some/file@123 のように表記することで、特定のリビジョンにリンクしたり、
source:/some/file@latest で、最新のリビジョンにリンクすることもできます。
リビジョンを特定している場合、 !source:/some/file@123#L10 の書式で特定の行にリンクすることができます。

== search: リンクと query: リンク ==

[wiki:TracSearch#リンク検索 "TracSearch#リンク検索"] と [wiki:TracQuery#TracLinksを使用する "TracQuery#TracLinks を使用する"] 参照。

== !SubWiki リンク ==
!SubWiki ページへ !SubWiki リンクするには '/' を使います。:
{{{
 [wiki:WikiPage/SubWikiPage].
}}}

== InterWiki リンク ==

他に、プレフィックスを自由に定義して、他の Web アプリケーションのリソースをポイントさせることができます。プレフィックスと対応する Web アプリケーションの URL の定義は特殊な Wiki ページ、 InterMapTxt ページで定義されます。 他の TracEnvironment へのリンクを作ることもできますが、より柔軟に他の TracEnvironment を指す特別な方法があることを覚えておいてください。

== InterTrac リンク ==

上記の TracLinks はすべて一つの TracEnvironment におけるものでした。他の TracEnvironment をあらわすプレフィックスにコロンを付けたものを TracLinks につけると、実際に他の TracEnvironment に存在するリソースを参照します。他の TracEnvironment は登録しなければなりません。詳しくは InterTrac を参照して下さい。


== サーバ上の相対リンク  ==

サーバ上の静的コンテンツや、 `/register` ページ（訳注：一般的なアカウント登録用ページをあらわしています）
など、 Trac リンク機能自体ではリンクを生成できないような同じサーバ上のオブジェクトにリンクすることが出来たら便利なこともあるでしょう。
サーバのルートからの絶対パスか
現在のページの URL からの相対リンクを指定するだけで、そのようなことを実現出来るようになりました:

{{{
[../newticket newticket]
[/ home]
}}}

表示: [../newticket newticket] [/ home]

== Trac リンクで空白文字をエスケープする ==

TracLinks のプレフィックスの後ろにスペースを含んだターゲットがある場合、
シングルクォーテーションかダブルクォーテーションで囲みます。
例:
 * !wiki:"The whitespace convention"
 * !attachment:'the file.txt' もしくは
 * !attachment:"the file.txt" 
 * !attachment:"ticket:123:the file.txt" 

== TracLinks が使えるところ ==
TracLinks が使えるのは:

 * ソースコード (Subverison) のコミットメッセージ
 * Wikiページ
 * チケット、レポート、マイルストーンでの説明記述箇所

その他、 WikiFormatting を利用可能なことが明示されているすべてのテキストフィールド。

== リンクの無効化 ==

!TracLinks を無効化するには、先頭に '!' (エクスクラメーションマーク)を付けます。
{{{
 !NoLinkHere.
 ![42] is not a link either.
}}}

表示:
 !NoLinkHere.
 ![42] is not a link either.

----
See also: WikiFormatting, TracWiki, WikiPageNames, InterTrac, InterWiki
 
