Changes between Initial Version and Version 1 of WikiProcessors


Ignore:
Timestamp:
Apr 10, 2015, 1:03:53 PM (9 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiProcessors

    v1 v1  
     1= Wiki プロセッサ = #WikiProcessors
     2
     3プロセッサは [WikiMacros Wiki マクロ] の一種です。 [TracWiki Trac Wiki エンジン] 以外のマークアップフォーマットを使用するために設計されています。プロセッサは ''ユーザが編集したテキストを処理するマクロ機能'' と考えることができます。
     4
     5Trac 内の全ての Wiki テキストにおいて、 Wiki プロセッサを使用することができます。
     6例えば、以下に述べる様々な用途で使用することができます:
     7 - [#CodeHighlightingSupport シンタックスハイライト] またはテキストを逐語的にレンダリングする
     8 -  <div> ブロックや <span> や <td>, <th> のテーブルのセルの内容など
     9   [#HTMLrelated コンテキスト内の Wiki のマークアップ] をレンダリングする
     10 - [wiki:WikiHtml HTML] や
     11   [wiki:WikiRestructuredText Restructured テキスト]
     12   または [http://www.textism.com/tools/textile/ textile] のシンタックスをマークアップの代替手段として使用する
     13
     14
     15== プロセッサを使用する == #UsingProcessors
     16
     17テキストブロック上に Wiki プロセッサを適用するには、
     18最初のデリミタとして Wiki の ''コードブロック'' を使用します:
     19{{{
     20{{{
     21これらの行は
     22処理されるでしょう...
     23}}}
     24}}}
     25
     26`{{{` のすぐ後または直後の行に,
     27`#!` に続けて ''プロセッサ名'' を追加します。
     28
     29{{{
     30{{{
     31#!プロセッサ名
     32これらの行は
     33処理されるでしょう...
     34}}}
     35}}}
     36
     37これはほとんどの UNIX ユーザにはおなじみである "shebang" を用いた表記法です。
     38
     39これらの内容に加えて、いくつかの Wiki プロセッサでは、
     40プロセッサ名に続けて同じ行に、 `key=value` のペアを書くことによって、
     41''パラメータ'' を許容するものがあります。もし、 `value` にスペースが含まれるケースがたびたび起こるようであれば、
     42クオテーションで囲んだ文字列を使用することができます (`key="スペースが含まれている文字列"`) 。
     43
     44いくつかのプロセッサは Wiki のマークアップを処理することを意味するので、
     45プロセッサのブロックを ''ネスト'' させることができます。
     46可読性を向上させるためにネストしたブロックの内容をインデントさせたいと思うかもしれません。
     47この種のインデントは中身を処理する際に無視されます。
     48
     49
     50== 例 ==
     51
     52||= Wiki マークアップ =||= 表示 =||
     53{{{#!td colspan=2 align=center style="border: none"
     54
     55                __例 1__: HTML を挿入する
     56}}}
     57|-----------------------------------------------------------------
     58{{{#!td style="border: none"
     59{{{
     60{{{
     61#!html
     62<h1 style="color: grey">HTML テスト</h1>
     63}}}
     64}}}
     65}}}
     66{{{#!td valign=top style="border: none; padding-left: 2em"
     67{{{
     68#!html
     69<h1 style="color: grey">HTML テスト</h1>
     70}}}
     71}}}
     72|-----------------------------------------------------------------
     73{{{#!td colspan=2 align=center style="border: none"
     74
     75     __例 2__: <div> ブロック内のカスタマイズしたスタイルシートでハイライトした Python のコード
     76}}}
     77|-----------------------------------------------------------------
     78{{{#!td style="border: none"
     79  {{{
     80  {{{#!div style="background: #ffd; border: 3px ridge"
     81
     82  これは 埋め込まれた "コード" ブロックの例です:
     83
     84    {{{
     85    #!python
     86    def hello():
     87        return "world"
     88    }}}
     89
     90  }}}
     91  }}}
     92}}}
     93{{{#!td valign=top style="border: none; padding: 1em"
     94  {{{#!div style="background: #ffd; border: 3px ridge"
     95
     96  これは 埋め込まれた "コード" ブロックの例です:
     97
     98    {{{
     99    #!python
     100    def hello():
     101        return "world"
     102    }}}
     103
     104  }}}
     105}}}
     106|-----------------------------------------------------------------
     107{{{#!td colspan=2 align=center style="border: none"
     108
     109     __例 3__: Wiki ページでチケットのキーワード検索を行なう
     110}}}
     111|-----------------------------------------------------------------
     112{{{#!td style="border: none"
     113  {{{
     114  {{{
     115  #!html
     116  <form action="/query" method="get"><div>
     117  <input type="text" name="keywords" value="~" size="30"/>
     118  <input type="submit" value="キーワードで検索"/>
     119  <!-- To control what fields show up use hidden fields
     120  <input type="hidden" name="col" value="id"/>
     121  <input type="hidden" name="col" value="summary"/>
     122  <input type="hidden" name="col" value="status"/>
     123  <input type="hidden" name="col" value="milestone"/>
     124  <input type="hidden" name="col" value="version"/>
     125  <input type="hidden" name="col" value="owner"/>
     126  <input type="hidden" name="col" value="priority"/>
     127  <input type="hidden" name="col" value="component"/>
     128  -->
     129  </div></form>
     130  }}}
     131  }}}
     132}}}
     133{{{#!td valign=top style="border: none; padding: 1em"
     134  {{{
     135  #!html
     136  <form action="/query" method="get"><div>
     137  <input type="text" name="keywords" value="~" size="30"/>
     138  <input type="submit" value="キーワードで検索"/>
     139  <!-- To control what fields show up use hidden fields
     140  <input type="hidden" name="col" value="id"/>
     141  <input type="hidden" name="col" value="summary"/>
     142  <input type="hidden" name="col" value="status"/>
     143  <input type="hidden" name="col" value="milestone"/>
     144  <input type="hidden" name="col" value="version"/>
     145  <input type="hidden" name="col" value="owner"/>
     146  <input type="hidden" name="col" value="priority"/>
     147  <input type="hidden" name="col" value="component"/>
     148  -->
     149  </div></form>
     150  }}}
     151}}}
     152== プロセッサ一覧 == #AvailableProcessors
     153
     154以下のプロセッサが Trac の配布に含まれています:
     155
     156|| '''`#!default`''' || フォーマット済みのテキストブロック内でテキストを逐語的に表示する。これはプロセッサ名を指定 ''しない'' のと同じです (さらに `#!` を指定しないのと同じです)。 ||
     157|| '''`#!comment`''' || このセクション内のテキストを処理しません (つまり、このセクションの内容はプレインテキスト内にのみ存在します - レンダリングしたページには表示されません)。 ||
     158|||| ||
     159||||= '''HTML 関連''' =||
     160|| '''`#!html`''' || Wiki ページにカスタムした HTML を挿入する。 ||
     161|| '''`#!htmlcomment`''' || Wiki ページに HTML のコメントを挿入する (''0.12 以降'') 。 ||
     162|| || `#!html` ブロックは ''自己完結型'' でなければなりません。つまり、1つ目のブロックである HTML 要素を開始し、後に記述する2つ目のブロックでその要素を閉じるということはできません。これに類似した効果を得るためには、下記に述べるプロセッサを使用して下さい。  ||
     163|| '''`#!div`''' || <div> 要素内の任意の Wiki の内容をラップする (''0.11 以降'') 。 ||
     164|| '''`#!span`''' || <span> 要素内の任意の Wiki の内容をラップする (''0.11 以降'') 。 ||
     165|| '''`#!td`''' || <td> 要素内の任意の Wiki の内容をラップする (''0.12 以降'') 。 ||
     166|| '''`#!th`''' || <th> 要素内の任意の Wiki の内容をラップする (''0.12 以降'') 。 ||
     167|| '''`#!tr`''' || `#!td` や `#!th` ブロックをラッピングしたり、グルーピングした列を見やすくするために属性を指定する際、オプションとして使用することができます (''0.12 以降'') 。 ||
     168|| || これらのプロセッサについての詳細と使用例については、 WikiHtml を参照して下さい。 ||
     169|||| ||
     170||||= '''その他のプロセッサ''' =||
     171|| '''`#!rst`''' || Trac における Restructured テキストのサポート。WikiRestructuredText 参照。 ||
     172|| '''`#!textile`''' || [http://cheeseshop.python.org/pypi/textile Textile] がインストールされている場合のサポート。 [http://www.textism.com/tools/textile/ a Textile リファレンス] 参照。 ||
     173|||| ||
     174||||= '''コードのハイライトのサポート''' =||
     175|| '''`#!c`''' [[BR]] '''`#!cpp`''' (C++) [[BR]] '''`#!python`''' [[BR]] '''`#!perl`''' [[BR]] '''`#!ruby`''' [[BR]] '''`#!php`''' [[BR]] '''`#!asp`''' [[BR]] '''`#!java`''' [[BR]] '''`#!js`''' (Javascript) [[BR]] '''`#!sql`''' [[BR]] '''`#!xml`''' (XML or HTML) [[BR]] '''`#!sh`''' (!Bourne/Bash shell) [[BR]] '''etc.''' [[BR]] || Trac は、さまざまなプログラミング言語のソースコードに対応するインラインのシンタックスハイライトを提供するプロセッサを同梱しています。[[BR]] [[BR]] Trac では、シンタックスのカラーリングについて外部のソフトウェア (例えば [http://pygments.org Pygments]) に依存しています。[[BR]] [[BR]] サポートしている言語の情報と他の言語のサポートを有効にする方法については TracSyntaxColoring を参照してください。 ||
     176|||| ||
     177||||= '''MIME タイププロセッサ''' =||
     178|||| プロセッサに MIME タイプを使用することによって、ソースコードをブラウズするとき、サポートしている言語に対してシンタックスハイライトを適用することが可能です。 ||
     179{{{#!tr
     180{{{#!td
     181例:
     182 {{{
     183{{{
     184#!text/html
     185<h1>テキスト</h1>
     186}}}
     187 }}}
     188}}}
     189{{{#!td
     190この結果はシンタックスハイライトされた HTML コードになります:
     191 {{{
     192#!text/html
     193<h1>テキスト</h1>
     194 }}}
     195
     196これは、すべての [TracSyntaxColoring#SyntaxColoringSupport 対応している MIME タイプ] に対して有効です。
     197}}}
     198}}}
     199{{{#!td
     200 {{{
     201{{{
     202#!diff
     203--- Version 55
     204+++ Version 56
     205@@ -115,8 +115,9 @@
     206     name='TracHelloWorld', version='1.0',
     207     packages=find_packages(exclude=['*.tests*']),
     208-    entry_points = """
     209-        [trac.plugins]
     210-        helloworld = myplugs.helloworld
     211-    """,
     212+    entry_points = {
     213+        'trac.plugins': [
     214+            'helloworld = myplugs.helloworld',
     215+        ],
     216+    },
     217 )
     218}}}
     219 }}}
     220}}}
     221{{{#!td
     222'''`#!diff`''' は細部までレンダリングします:
     223 {{{
     224#!diff
     225--- Version 55
     226+++ Version 56
     227@@ -115,8 +115,9 @@
     228     name='TracHelloWorld', version='1.0',
     229     packages=find_packages(exclude=['*.tests*']),
     230-    entry_points = """
     231-        [trac.plugins]
     232-        helloworld = myplugs.helloworld
     233-    """,
     234+    entry_points = {
     235+        'trac.plugins': [
     236+            'helloworld = myplugs.helloworld',
     237+        ],
     238+    },
     239 )
     240 }}}
     241}}}
     242
     243ユーザによるプロセッサマクロの開発やコントリビュート:
     244 * [trac:ProcessorBazaar]
     245 * [trac:MacroBazaar]
     246 * [http://trac-hacks.org/ Trac Hacks] コミュニティサイト
     247
     248プロセッサは Wiki マクロを開発するのと変わりはありません。
     249実際、開発方法は同じであり、シンタックスの使用方法のみが異なります。
     250詳細情報については、 [WikiMacros#DevelopingCustomMacros カスタムマクロを開発する] を参照して下さい。
     251
     252
     253----
     254See also: WikiMacros, WikiHtml, WikiRestructuredText, TracSyntaxColoring, WikiFormatting, TracGuide