Wikiマクロを利用する
ここではWikiマクロを使用してより便利にtracpathをお使い頂く方法を記載しています。 Wikiマクロを活用して簡単に情報を引き出し、打合せや進捗報告、より分かりやすいチケット作成等に役立てる事が出来ます。
- これらのマクロはtracpathの初期状態で用意されているものであり、特別なプラグインを入れる必要はありません。以下の形式に沿って入力するだけで直ぐにお使い頂けます。
マクロ一覧
[[TicketQuery]]
引数を指定し、指定したチケット一覧を呼び出します。進捗報告の打合せ前にwikiページを作成してチケット一覧を呼び出しておくなど有効に活用出来るマクロです。
基本形式:[[TicketQuery(表示したい条件,形式)]]
key がフィールド名であった場合、 value は TracQuery#QueryLanguage で 定義されているような、フィルタを指定するシンタックスでなければなりません。 ? の文字で始まる query: リンク向けの簡素化した URL シンタックス とは 異なります 。フィールドの値としてカンマ (,) そのものを含む場合は バックスラッシュ (,) でエスケープする必要があります。 引数 or で区切られたフィルタのグループは、 OR 条件で結合されます。 このほか、フィルタとしていくつか名前付きパラメータを使用できます。 これらは検索結果をどのように表示するかを制御できます。すべて非必須です。 format はチケットのリストがどのように表示されるかを決定します。
条件オプション
status
new,closed,resolvedなどチケットのステータス状態を条件として指定します。「status!=○○」とすることで○○を除くと指定する事も可能です。
owner
チケットの担当者を条件として指定します。cikloneのログインユーザ名で指定が可能です。
milestone
設定しているマイルストーンを条件として指定出します。
形式オプション
list
チケット ID と概要を一覧表示します。デフォルトの表示形式であり、形式オプションを入れていない場合にもこのリスト形式で表示されます
compact
チケット ID の一覧をカンマ区切りで表示します。
count
指定した条件に当てはまるチケットの件数のみが表示されます。
table
指定した条件のチケットを表形式で表示します。
- max は表示されるチケット数の上限値を指定します (デフォルトは 0 です。これは無制限を意味します)。
- order はチケットを整列する列を指定します (デフォルトは id となっています)。
- desc はチケットの整列を逆順に行うか指定します。 (デフォルトは false です)。
- group はチケットをグループ化を指定します (デフォルトは何も設定されていません)。
- groupdesc はグループの表示を逆順とするかを指定します (デフォルトは false となっています)。
- verbose を true に設定すると、リストされたチケットの 各行にチケットの説明を表示します。これは table format 専用です。 このパラメータは廃止予定です。代わりに rows を使用してください。
- rows パラメータは1行使って表示するフィールドを指定します。 rows=description|summary のように使用します。
<例>ログインユーザ(あなた)の残チケットを呼び出したい場合。(ステータスがclosed以外/ログインユーザ)
[[TicketQuery(status!=closed&owner=$USER,table)]]
<例>上記と同条件のcompact形式
[[TicketQuery(status!=closed&owner=$USER,compact)]]
<例>上記と同条件のcount形式(件数のみが表示されます)
[[TicketQuery(status!=closed&owner=$USER,count)]]
<例>指定のマイルストーンのログインユーザ(あなた)の残チケットを呼び出したい場合。(ステータスがclosed以外/ログインユーザ/マイルストーンM1.3-RELEASE)
[[TicketQuery(status!=closed&milestone=M1.3-RELEASE&owner=$USER,table)]]
<例>指定のマイルストーンの対応済のチケット一覧を作成しテスターに情報を渡したい場合。(ステータスresolved/マイルストーンM1.3-RELEASE)
[[TicketQuery(status=resolved&milestone=M1.3-RELEASE,table)]]
<例>上記と同条件のリスト形式(又は形式記載なし)
[[TicketQuery(status=resolved&milestone=M1.3-RELEASE,list)]]
<例>closeされていないチケット、マイルストーン「顧客問合せ」、チケット詳細も表示させる
[[TicketQuery(status!=closed&milestone=顧客問合せ, format=table, rows=description)]]
<例>closeされていないチケット、マイルストーン「顧客問合せ」、チケット概要(件名)に「株式会社XX様分」と記載されているもの
[[TicketQuery(status!=closed&milestone=顧客問合せ&summary=^株式会社XX様, format=table)]]
[[TitleIndex]]
- すべての Wiki ページをアルファベットのリスト形式で出力に挿入します。
基本形式:[[TitleIndex(表示したい階層,形式)]]
- 引数として、接頭辞となる文字列を許容します: 指定された場合、 生成されるリストにはページ名が接頭辞で始まるものだけが含まれます。 すべてのページがリストされます。 接頭辞が与えられた上で、第二引数に 'hideprefix' が与えられた場合、 出力からは接頭辞が除外されます。
- この他、 format および depth などを名前付き引数として指定できます。
TitleIndexオプション
format=compact
ページがカンマで区切られたリンクとして表示されます。
format=group
ページのリストは、共通の接頭辞に基づいてグループで構成されます。この形式もサポートmin = nの 引数nはグループのページの最小数です。
format=hierarchy
ページのリストはページ名のパス階層に従って構成されます
depth=n
リストするページの深さを制限します。0を指定した場合、トップレベルのページのみ表示され、 1を指定した場合、1代目の子ページが表示されます。何も指定しない場合か、-1を指定した場合、全てのページが階層構造により表示されます。
<例>「Reports/Weekly/」以下のページの目次を作成し週報一覧のWikiページを作成する。
[[TitleIndex(Reports/Weekly/)]]
こちらも併せてご覧下さい。作成したWikiページを見つけやすく分類化したい:TitleIndex
<例>プロジェクトインデックスを作成する。形式はcompact。
[[TitleIndex(project,format=compact)]]
<例>プロジェクトインデックスを作成する。形式はgroup。
[[TitleIndex(project,format=group)]]
<例>プロジェクトインデックスを作成する。形式はhierarchy。
[[TitleIndex(project,format=hierarchy)]]
<例>プロジェクトインデックスを作成する。depth=1を指定。一代目の子ページまでが表示される。
[[TitleIndex(project,depth=1)]]
[[RecentChanges]]
- 最近更新されたすべてのページを最後に変更した日付でグループ化し、リストします。
- このマクロは、 2 つの引数をとります。最初の引数はプレフィックスの文字列です: プレフィックスが指定された場合、結果のリストにはそのプレフィックスで始まるページのみが 含まれます。この引数が省略された場合は、すべてのページがリストされます。
- 2番目の引数は結果リストに表示するページの数を制限するために使用します。 例えば 5 に制限すると指定した場合、最近更新されたページのうち、新しいもの 5 件がリストに含まれます。
基本形式:[[RecentChanges(表示したい文字列,件数)]]
<例>Plugin階層の中の文字列「Browser」を含むWikiページ。最近更新された5件を表示させたい場合。
[[RecentChanges(Plugin/Browser,5)]]
[[PageOutline]]
PageOutline は見出しから目次を自動生成するマクロです。Wiki ページの構造的なアウトラインを表示します。 アウトラインのそれぞれの項目は一致する表題へのリンクとなります。
基本形式:[[PageOutline]]
このマクロは 3 つの任意のパラメータをとります:- 1 番目の引数はアウトラインに含まれる表題の範囲 (レベル) を設定することができ、 数または数の範囲をとります。 例えば、 "1" と指定した場合、アウトラインにはトップレベルの表題のみが表示されます。 "2-3" と指定した場合、アウトラインには、レベル 2 とレベル 3 のすべての表題が ネストしたリストとして表示されます。 デフォルトでは、すべてのレベルの表題が表示されます。
- 2 番目の引数は、タイトルを特定するのに使われます。 (デフォルトはタイトルなし)
- 3 番目の引数はアウトラインのスタイルを指定します。 inline または pullout を指定することができます (後者がデフォルトです) 。 inline スタイルでは、アウトラインをコンテンツの一部として整形しますが、 pullout スタイルでは、アウトラインをフローティングボックスに整形し、 コンテンツの右側に配置します。
<例>議事録に目次を作成させたい場合。
[[PageOutline]]
<例2>見出し2までの目次を作成したい場合。
[[PageOutline(1-2)]]
<例3>「目次」というタイトルを付けたい場合
- 見出し2まで表示し、「目次」というタイトルを付ける。
[[PageOutline(1-2,目次)]]
<例4>目次をコンテンツの一部として表示したい場合
- 見出し5まで表示し、「目次」というタイトルを付け、コンテンツの一部として表示させる。
[[PageOutline(1-5,目次,inline)]]
こちらも併せてご覧下さい。Wikiページ内に見出し一覧を作成したい:PageOutline
[[Image]]
- 画像を組み込みたい場合に利用します。
基本形式:[[Image(ファイル名.png)]]
- 1 番目の引数は、ファイル名を指定します。ファイルの指定は添付ファイルなど 3つの指定方法があります:
- module:id:file: module に wiki または ticket が指定すると、 その Wiki ページまたはチケットの添付ファイルで file とファイル名が ついているものを参照します。
- id:file: 上記と同様ですが、 id はチケットの短い記述方法か、 Wiki ページ名を指定します。
- file: 'file' というローカルの添付ファイルを指します。これはファイルが 添付されている Wiki ページまたはチケットの中でのみ使用できます。
- またファイルはリポジトリのファイルも指定できます。 source:file シンタックスを使用します。 (source:file@rev も可能です)
直接 URL を記述することもできます; /file と記述すると、プロジェクトの ディレクトリからの相対パスになり、 //file と記述すると、サーバルートからの パスになります。また、 http://server/file ではファイルの絶対パスになります。
残りの引数は任意で、 <img> 要素を組み立てる際の属性を設定します。
- 数字と単位は画像のサイズと解釈されます。 (ex. 120, 25%)
- right, left, center, top, bottom, middle は画像の配置として 解釈されます。 (right, left, center は align=... でも指定でき、 top, bottom, middle は valign=... でも指定できます)
link=some TracLinks ... を指定すると、画像のソースへのリンクが、 TracLinks に置き換えられます。値なしで引数が指定された場合、 リンクは単に削除されます。
- nolink は画像のソースへのリンクを作成しません。 (非推奨, link= を使用してください)
- key=value スタイルは画像の HTML 属性または CSS スタイルの 指示として解釈されます。有効なキーは以下の通りです:
- align, valign, border, width, height, alt, title, longdesc, class, margin, margin-(left,right,top,bottom), id, usemap
- border, margin, margin-* は数値での指定のみ可能です。
- margin は center によって自動計算されたマージンを上書きします
Imageマクロオプション例
Image(ファイル名.png, 120px)
画像の幅サイズ指定(ピクセル指定の他%指定も可能です)
Image(ファイル名.png, right)
キーワードによる配置指定
Image(ファイル名.png, nolink)
ソースへのリンクなし (デフォルトでは画像をクリックするとポップアップで画像が表示されます)
Image(ファイル名.png, align=right)
属性による配置指定
画像の呼び出しをするオプション
Image(OtherPage:ファイル名.png)
現在のモジュールが Wiki の場合
Image(base/sub:ファイル名.png)
下位の Wiki ページから
Image(#3:ファイル名.png)
#3というチケットの画像を読み込みたい場合
Image(source:/images/ファイル名.png)
リポジトリから直接指定する場合
Image(htdocs:foo/ファイル名.png)
プロジェクトの htdocs ディレクトリにあるファイルを指定する場合
運用的にバグチケットには画像必須とする場合等、Imageマクロを予めチケットのテンプレート に記載しておくと添付忘れも無く便利です。
<例>チケットに画像を組み込みたい場合
[[Image(ファイル名.png)]]
<例>チケットに画像を組み込みたいが画像が大きい為、表示サイズを指定したい場合(横幅320pxでサイズ指定)
[[Image(ファイル名.png,320px)]]
<例>サイズ指定及び画像の右寄せ(横幅320px指定/右寄せ)
[[Image(ファイル名.png,320px,align=right)]]
<例>通常埋め込まれたチケットをクリックすると以下のような形でポップアップでソース画像が表示されるが、これをさせたくない場合。(横幅320px指定/右寄せ/リンクなし)
[[Image(ファイル名.png,320px,align=right,nolink)]]
<例>別チケット(ここではチケット#45)に添付されている画像を読み込みたい場合。
[[Image(#45:ファイル名.png)]]
<例>リポジトリにある画像を直接読み込ませたい場合。
[[Image(source:/images/ファイル名.png)]]
[[RepositoryUrl]]
・このプロジェクトのリポジトリURLを一覧で表示します。
<例>WikiページにこのプロジェクトのリポジトリURLを表示させたい場合。
[[RepositoryUrl]]
[[MacroList]]
・Wikiページに記載することでマクロリストを呼び出す事が出来ます。
tracpathでは現在使用できないマクロ
TracAdminHelp
TracIni
TracGuideToc
KnownMimeTypes
CommitTicketReference
その他チケットやマイルストーンにアクセスするためのリンク集
Wiki ページ
CamelCase, wiki:CamelCase
親ページ
[..]
チケット
#1, ticket:1
チケットのコメント
comment:1:ticket:2
レポート
{1}, report:1
チェンジセット
r1, [1], changeset:1, (特定パス配下) [1/trunk], changeset:1/trunk
リビジョンログ
r1:3, [1:3], log:@1:3, log:trunk@1:3, [2:5/trunk] diff diff:@1:3, diff:tags/trac-0.9.2/wiki-default//tags/trac-0.9.3/wiki-default または diff:trunk/trac@3538//sandbox/vc-refactoring@3539
マイルストーン
milestone:1.0
添付ファイル
attachment:example.tgz (現在のページへの添付ファイル)
(他のリソースへの添付ファイル) attachment:ファイル名:ticket:966(チケット番号)
リポジトリのファイル
source:trunk/COPYING
特定リビジョンのリポジトリのファイル
source:/trunk/COPYING@200
リポジトリのファイルの特定行
source:/trunk/COPYING@200#L25
数式を綺麗に記述・挿入する
WikiマクロでLaTeX の数式を記述すると Mathjax で展開することが可能です。 tracpath(トラックパス)は、マクロ機能として組み込まれています。利用する場合、WikiマクロでLaTeXの式を記述することで Mathjax で数式に展開されます。
積分サンプル(表示例)
Wikiマクロの書き方
{{{#!latex \begin{eqnarray}\int_0^1 x dx = \left[ \frac{ x^2 }{ 2 } \right]_0^1 = \frac{ 1 }{ 2 }\end{eqnarray} }}}
詳しくはMathJaxの使い方をご確認下さい。
関連FAQ
関連ページ
Wikiマクロ活用事例ではより具体的な使用サンプルを掲載しています。
Wikiマクロを利用する - 各種マクロについて利用方法を記載しています。
MathJaxの使い方数式を綺麗に記述・挿入する方法を記載しています。
wiki