Version 2 (modified by 19 years ago) (diff) | ,
---|
Wiki プロセッサ
プロセッサは Trac の Wiki エンジンが、 Wiki 以外のフォーマットを提供するために設計された WikiMacros です。プロセッサは、 ユーザが編集したテキストを処理するマクロ機能 と考えることができます。
Trac 内の全ての Wiki テキストにおいて、 Restructured Text および raw HTML をプロセッサとして使用することができます。
プロセッサの利用法
テキストブロックでプロセッサを使うには、 Wiki の引用ブロックを使用し、プロセッサの名前を (Unix 系 OS のスクリプトのように) 'sharbang行' (#!) に続いて指定します。
例1 (Wiki テキストに 生 HTML を挿入する):
{{{ #!html <h1 style="color: orange">これは生 HTML です</h1> }}}
結果、このように表示されます:
これは生 HTML です
例2 (Wiki テキストに ReStructured テキストを挿入する):
{{{ #!rst 見出し ------ 脚注 [*]_ 付きの **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 -- 2004年8月2日にサポートを開始したばかり。 ticket 593 および Textile を参照してください。
ソースコードのサポート
Trac では、以下のプログラミング言語でのインライン syntax ハイライト を行うプロセッサを内蔵しています。
- c -- C
- cpp -- C++
- python -- Python
- perl -- Perl
- ruby -- Ruby
- php -- PHP
- asp --- ASP
- sql -- SQL
- xml -- XML
Note: Trac はシンタックスの色付けを、外部のソフトウェアパッケージに依存しています。詳しくは TracSyntaxColoring をご覧下さい。
プロセッサ使用時に mime-type が指定されると、ソースコードをブラウズする際に可能な限り同じ言語で、シンタックスハイライトを行います。(mime-type のリストは Mimeview.py にあります)
例えば、以下のように書くと:
{{{ #!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()
参考 : WikiMacros, WikiHtml, WikiRestructuredText, TracSyntaxColoring, WikiFormatting, TracGuide