Wiki プロセッサ
プロセッサは Trac Wiki エンジン が、 Wiki 以外のフォーマットを提供するために設計された WikiMacros です。プロセッサは ユーザが編集したテキストを処理するマクロ機能 と考えることができます。
Trac 内の全ての Wiki テキストにおいて、 Restructured Text, raw HTML および textile をプロセッサとして使用することができます。
プロセッサを使用する
テキストブロックでプロセッサを使うには、 Wiki のコードブロックを使用し、プロセッサの名前を (Unix 系 OS のスクリプトのように) shebang 行 (#!) に続いて指定します。
例1 (Wiki テキストに 生 HTML を挿入する):
{{{ #!html <h1 style="color: orange">これは生 HTML です</h1> }}}
結果、このように表示されます:
これは生 HTML です
例2 (Wiki テキストに ReStructured テキストを挿入する):
{{{ #!rst 見出し ------ 脚注 [*]_ 付きの **text** です。 .. [*] ここは脚注。 }}}
結果、このように表示されます:
見出し ------ 脚注 [*]_ 付きの **text** です。 .. [*] ここは脚注。
(訳注: ReStructuredText は国際化が甘いので、使えないかもしれません)
例3 (Wiki テキストに C 言語ソースコードブロックを挿入する):
{{{ #!c int main(int argc, char *argv[]) { printf("Hello World\n"); return 0; } }}}
結果、このように表示されます:
int main(int argc, char *argv[]) { printf("Hello World\n"); return 0; }
プロセッサ一覧
以下のプロセッサが Trac の配布に含まれています:
- html -- Wiki ページにカスタム HTML を挿入する。 WikiHtml を参照してください。
- rst -- Restructured テキスト を Trac で利用可能にする。 WikiRestructuredText を参照してください。
- textile -- Textile をインストールすれば利用可能です。 a Textile reference を参照。
上記の Textile のリンクは切れています。 このサイト は動いていて、試しに使ってみることが可能です。
ソースコードの強調表示対応
Trac では、以下のプログラミング言語でのインライン シンタックスハイライト を行うプロセッサが組み込まれています。
- c -- C
- cpp -- C++
- python -- Python
- perl -- Perl
- ruby -- Ruby
- php -- PHP
- asp --- ASP
- sql -- SQL
- xml -- XML
Note: Trac はシンタックスの色付けを、外部のソフトウェアパッケージに依存しています。詳しくは TracSyntaxColoring をご覧下さい。
プロセッサとして mime-type が指定されると、ソースコードをブラウズするときと同じく、対応されている言語であれば、シンタックスハイライトを行うことができます。例えば、以下のように書くと:
{{{ #!text/html <h1>text</h1> }}}
この結果はシンタックスハイライトされた HTML コードになります。対応している全ての mime-type でも、これは同じく有効です。
ユーザによるプロセッサマクロの開発やコントリビュート:
上級トピック: プロセッサマクロを開発する
プロセッサの開発は WikiMacros と違いはありません。事実、これらは同じような機能を持ち、シンタックスだけが異なります。詳しくは WikiMacros に記述します。
例: (Restructured テキストプロセッサ):
from docutils.core import publish_string def execute(hdf, text, env): html = publish_string(text, writer_name = 'html') return html[html.find('<body>')+6:html.find('</body>')].strip()
See also: WikiMacros, WikiHtml, WikiRestructuredText, TracSyntaxColoring, WikiFormatting, TracGuide