Version 1 (modified by trac, 16 years ago) (diff) |
---|
Wiki マクロとは、 Python で書かれた 'カスタム関数' によって Trac の Wiki エンジンを拡張するプラグインです。 WikiFormatting エンジンが利用可能なあらゆるコンテキストにおいて、マクロを使用することによって、動的な HTML データが挿入されます。
もう 1 種類のマクロは WikiProcessors です。これは通常、Wiki以外のマークアップ形式と表示を取り扱うために使用し、多くは、 (ソースコードハイライトのような) より大きいブロックに使用します。
マクロ呼び出しは、二つの 角括弧 (square brackets) で括られた箇所です。 Python 関数のように、マクロは引数を取ることができ、括弧 (parenthesis) の中に、カンマで区切ったリストで表記します。
[[Timestamp]]
は、以下のように表示されます:
[[HelloWorld(Testing)]]
は、以下のように表示されます:
Note: 以下に示すリストはマクロドキュメントを含むものだけです。 -OO による最適化や、 mod_python での PythonOptimize オプションが設定されていると表示されません。
[[Admonition]]
Admonition
[[Image]]
画像を Wiki 形式のテキストに組み込みます。
1 番目の引数は、ファイル名を指定します。ファイルの指定は添付ファイルなど 3つの指定方法があります:
またファイルはリポジトリのファイルも指定できます。 source:file シンタックスを使用します。 (source:file@rev も可能です)
直接 URL を記述することもできます; /file と記述すると、プロジェクトの ディレクトリからの相対パスになり、 //file と記述すると、サーバルートからの パスになります。また、 http://server/file ではファイルの絶対パスになります。
残りの引数は任意で、 <img> 要素を組み立てる際の属性を設定します:
指示として解釈されます。有効なキーは以下の通りです:
例:
[[Image(photo.jpg)]] # シンプルな指定方法 [[Image(photo.jpg, 120px)]] # 画像の幅サイズ指定 [[Image(photo.jpg, right)]] # キーワードによる配置指定 [[Image(photo.jpg, nolink)]] # ソースへのリンクなし [[Image(photo.jpg, align=right)]] # 属性による配置指定
他の wiki ページ、チケット、モジュールの画像を使用することができます。
[[Image(OtherPage:foo.bmp)]] # 現在のモジュールが Wiki の場合 [[Image(base/sub:bar.bmp)]] # 下位の Wiki ページから [[Image(#3:baz.bmp)]] # #3というチケットを指している場合 [[Image(ticket:36:boo.jpg)]] [[Image(source:/images/bee.jpg)]] # リポジトリから直接指定する! [[Image(htdocs:foo/bar.png)]] # プロジェクトの htdocs ディレクトリにあるファイル
このマクロは Shun-ichi Goto <gotoh@…> さんが作成した Image.py が 元になっています
[[InterTrac]]
Provide a list of known InterTrac prefixes.
[[InterWiki]]
Provide a description list for the known InterWiki prefixes.
[[KnownMimeTypes]]
WikiProcessors で処理できる既知の mime-type を表示します。
引数が与えられた場合は、 mime-type へのフィルタとして作用します。
[[MacroList]]
インストールされている、すべての Wiki マクロをリストします。 もし利用可能ならばドキュメントも含みます。
非必須オプションとして、特定のマクロの名前を引数として渡すことが出来ます。 この場合、指定されたマクロのドキュメントだけを表示します。
Note: このマクロは mod_python の PythonOptimize オプションが有効になっている 場合は、マクロのドキュメントを表示することが出来ません!
[[PageOutline]]
現在の Wiki ページの構造的なアウトラインを表示します。 アウトラインのそれぞれの項目は一致する表題へのリンクとなります。
このマクロは 3 つの任意のパラメータをとります:
[[RecentChanges]]
最近更新されたすべてのページを最後に変更した日付でグループ化し、リストします。
このマクロは、 2 つの引数をとります。最初の引数はプレフィックスの文字列です: プレフィックスが指定された場合、結果のリストにはそのプレフィックスで始まるページのみが 含まれます。この引数が省略された場合は、すべてのページがリストされます。
2番目の引数は結果リストに表示するページの数を制限するために使用します。 例えば 5 に制限すると指定した場合、最近更新されたページのうち、新しいもの 5 件がリストに含まれます。
[[RepositoryIndex]]
リポジトリ一覧を表示します。
下記の名前付きの引数を使用することができます:
(0.12 以降)
[[TicketQuery]]
指定された条件にマッチするチケットを一覧表示します。
このマクロの引数はカンマ区切りのリストにした、 "key=value" 形式の キー付きパラメータを使用します。
key がフィールド名であった場合、 value は TracQuery#QueryLanguage で 定義されているような、フィルタを指定するシンタックスでなければなりません。 ? の文字で始まる query: リンク向けの簡素化した URL シンタックス とは 異なります 。フィールドの値としてカンマ (,) そのものを含む場合は バックスラッシュ (,) でエスケープする必要があります。
引数 or で区切られたフィルタのグループは、 OR 条件で結合されます。
このほか、フィルタとしていくつか名前付きパラメータを使用できます。 これらは検索結果をどのように表示するかを制御できます。すべて非必須です。
format はチケットのリストがどのように表示されるかを決定します:
max は表示されるチケット数の上限値を指定します (デフォルトは 0 です。これは無制限を意味します)。
order はチケットを整列する列を指定します (デフォルトは id となっています)。
desc はチケットの整列を逆順に行うか指定します。 (デフォルトは false です)。
group はチケットをグループ化を指定します (デフォルトは何も設定されていません)。
groupdesc はグループの表示を逆順とするかを指定します (デフォルトは false となっています)。
verbose を true に設定すると、リストされたチケットの 各行にチケットの説明を表示します。これは table format 専用です。 このパラメータは廃止予定です。代わりに rows を使用してください。
rows パラメータは1行使って表示するフィールドを指定します。 rows=description|summary のように使用します。
Trac 0.10 との互換性のため、マクロは最終引数にキーなし引数が与えられた場合 format として解釈します。 また、フィールドセパレータに使用する "&" は (order を除いて) 現時点では動作しますが、この機能は廃止予定です。
[[TitleIndex]]
すべての Wiki ページをアルファベットのリスト形式で出力に挿入します。
引数として、接頭辞となる文字列を許容します: 指定された場合、 生成されるリストにはページ名が接頭辞で始まるものだけが含まれます。 すべてのページがリストされます。 接頭辞が与えられた上で、第二引数に 'hideprefix' が与えられた場合、 出力からは接頭辞が除外されます。
この他、 format および depth などを名前付き引数として指定できます:
[[TracAdminHelp]]
trac-admin コマンドのヘルプを表示します。
例:
[[TracAdminHelp]] # 全てのコマンド [[TracAdminHelp(wiki)]] # 全ての wiki コマンド [[TracAdminHelp(wiki export)]] # "wiki export" コマンド [[TracAdminHelp(upgrade)]] # upgrade コマンド
[[TracGuideToc]]
Trac ガイドの目次を表示する。
このマクロは Help/Guide の目次 (ToC) を簡単かつ荒っぽく作成します。 この目次には Trac* と WikiFormatting のページが含まれていますが、 カスタマイズはできません。目次をカスタマイズしたい場合は、 TocMacro を探してください。
[[TracIni]]
Trac の設定ファイルのドキュメントを生成します。
通常、このマクロは Wiki ページ TracIni の中で使用されます。 省略可能な引数にはコンフィグのセクションのフィルタ、 コンフィグのオプション名のフィルタを指定できます: フィルタで指定された文字列 で始まるコンフィグのセクションとオプション名のみが出力されます。
[[VineBTS]]
The Trac Hacks site provides a wide collection of macros and other Trac plugins contributed by the Trac community. If you're looking for new macros, or have written one that you'd like to share with the world, please don't hesitate to visit that site.
マクロは、 Trac 自身と同じように Python programming language で書かれています。とてもシンプルなモジュールで、たった一つの execute() 関数だけを持ちます。マクロの識別はファイル名で行います。 Trac は、呼び出されたマクロが返却したデータをマクロが呼び出された Wiki ページの HTML に挿入して表示を行います。
最も簡単なマクロの例です:
# MyMacro.py -- The world's simplest macro def execute(hdf, args, env): return "Hello World called with args: %s" % args
Environment (env) オブジェクトを使用することも出来ます。この例では、コンフィグレーションとデータベースにアクセスしています:
def execute(hdf, txt, env): return env.config.get('trac', 'repository_dir')
Note: バージョン 0.9 以降、 Wiki マクロは TracPlugins でも書くことが出来るようになりました。これによって、 HTTP request へのダイレクトアクセスなど、 "古い" マクロでは実現できなかったことが出来るようになりました。
マクロ開発についての詳しい情報は、プロジェクトメインサイトの 開発リソース を参照してください。
See also: WikiProcessors, WikiFormatting, TracGuide