Changes between Version 2 and Version 3 of WikiProcessors


Ignore:
Timestamp:
Oct 1, 2012 9:35:34 AM (12 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiProcessors

    v2 v3  
    1 = Wiki プロセッサ = #WikiProcessors 
    2  
    3 プロセッサは [WikiMacros Wiki マクロ] の一種です。 [TracWiki Trac Wiki エンジン] 以外のマークアップフォーマットを使用するために設計されています。プロセッサは ''ユーザが編集したテキストを処理するマクロ機能'' と考えることができます。 
    4  
    5 Trac 内の全ての 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 マークアップ =||= 表示 =|| 
     1= Wiki Processors = 
     2 
     3Processors are WikiMacros designed to provide alternative markup formats for the [TracWiki Wiki engine]. Processors can be thought of as ''macro functions to process user-edited text''.  
     4 
     5Wiki processors can be used in any Wiki text throughout Trac, 
     6for various different purposes, like: 
     7 - [#CodeHighlightingSupport syntax highlighting] or for rendering text verbatim, 
     8 - rendering [#HTMLrelated Wiki markup inside a context],  
     9   like inside <div> blocks or <span> or within <td> or <th> table cells, 
     10 - using an alternative markup syntax, like [wiki:WikiHtml raw HTML] and 
     11   [wiki:WikiRestructuredText Restructured Text], 
     12   or [http://www.textism.com/tools/textile/ textile] 
     13 
     14 
     15== Using Processors == 
     16 
     17To use a processor on a block of text, first delimit the lines using 
     18a Wiki ''code block'': 
     19{{{ 
     20{{{ 
     21The lines 
     22that should be processed... 
     23}}} 
     24}}} 
     25 
     26Immediately after the `{{{` or on the line just below,  
     27add `#!` followed by the ''processor name''. 
     28 
     29{{{ 
     30{{{ 
     31#!processorname 
     32The lines 
     33that should be processed... 
     34}}} 
     35}}} 
     36 
     37This is the "shebang" notation, familiar to most UNIX users. 
     38 
     39Besides their content, some Wiki processors can also accept ''parameters'', 
     40which are then given as `key=value` pairs after the processor name,  
     41on the same line. If `value` has to contain space, as it's often the case for 
     42the style parameter, a quoted string can be used (`key="value with space"`). 
     43 
     44As some processors are meant to process Wiki markup, it's quite possible to 
     45''nest'' processor blocks. 
     46You may want to indent the content of nested blocks for increased clarity, 
     47this extra indentation will be ignored when processing the content. 
     48 
     49 
     50== Examples == 
     51 
     52||= Wiki Markup =||= Display =|| 
    5353{{{#!td colspan=2 align=center style="border: none" 
    5454 
    55                 __例 1__: HTML を挿入する 
     55                __Example 1__: Inserting raw HTML 
    5656}}} 
    5757|----------------------------------------------------------------- 
     
    5959{{{ 
    6060{{{ 
    61 <h1 style="color: grey">HTML テスト</h1> 
     61#!html 
     62<h1 style="color: grey">This is raw HTML</h1> 
    6263}}} 
    6364}}} 
     
    6667{{{ 
    6768#!html 
    68 <h1 style="color: grey">HTML テスト</h1> 
     69<h1 style="color: grey">This is raw HTML</h1> 
    6970}}} 
    7071}}} 
     
    7273{{{#!td colspan=2 align=center style="border: none" 
    7374 
    74      __例 2__: <div> ブロック内のカスタマイズしたスタイルシートでハイライトした Python のコード 
     75     __Example 2__: Highlighted Python code in a <div> block with custom style 
    7576}}} 
    7677|----------------------------------------------------------------- 
     
    7980  {{{#!div style="background: #ffd; border: 3px ridge" 
    8081 
    81   これは 埋め込まれた "コード" ブロックの例です: 
     82  This is an example of embedded "code" block: 
    8283 
    8384    {{{ 
     
    9394  {{{#!div style="background: #ffd; border: 3px ridge" 
    9495 
    95   これは 埋め込まれた "コード" ブロックの例です: 
     96  This is an example of embedded "code" block: 
    9697 
    9798    {{{ 
     
    106107{{{#!td colspan=2 align=center style="border: none" 
    107108 
    108      __例 3__: Wiki ページでチケットのキーワード検索を行なう 
     109     __Example 3__: Searching tickets from a wiki page, by keywords. 
    109110}}} 
    110111|----------------------------------------------------------------- 
     
    113114  {{{ 
    114115  #!html 
    115   <form action="/query" method="get"> 
    116   <input type="text" name="keywords" value="~" size="30"> 
    117   <input type="submit" value="キーワードで検索"> 
     116  <form action="/query" method="get"><div> 
     117  <input type="text" name="keywords" value="~" size="30"/> 
     118  <input type="submit" value="Search by Keywords"/> 
    118119  <!-- To control what fields show up use hidden fields 
    119   <input type="hidden" name="col" value="id"> 
    120   <input type="hidden" name="col" value="summary"> 
    121   <input type="hidden" name="col" value="status"> 
    122   <input type="hidden" name="col" value="milestone"> 
    123   <input type="hidden" name="col" value="version"> 
    124   <input type="hidden" name="col" value="owner"> 
    125   <input type="hidden" name="col" value="priority"> 
    126   <input type="hidden" name="col" value="component"> 
     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"/> 
    127128  --> 
    128   </form> 
     129  </div></form> 
    129130  }}} 
    130131  }}} 
     
    133134  {{{ 
    134135  #!html 
    135   <form action="/query" method="get"> 
    136   <input type="text" name="keywords" value="~" size="30"> 
    137   <input type="submit" value="キーワードで検索"> 
     136  <form action="/query" method="get"><div> 
     137  <input type="text" name="keywords" value="~" size="30"/> 
     138  <input type="submit" value="Search by Keywords"/> 
    138139  <!-- To control what fields show up use hidden fields 
    139   <input type="hidden" name="col" value="id"> 
    140   <input type="hidden" name="col" value="summary"> 
    141   <input type="hidden" name="col" value="status"> 
    142   <input type="hidden" name="col" value="milestone"> 
    143   <input type="hidden" name="col" value="version"> 
    144   <input type="hidden" name="col" value="owner"> 
    145   <input type="hidden" name="col" value="priority"> 
    146   <input type="hidden" name="col" value="component"> 
     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"/> 
    147148  --> 
    148   </form> 
    149   }}} 
    150 }}} 
    151 == プロセッサ一覧 == #AvailableProcessors 
    152  
    153 以下のプロセッサが Trac の配布に含まれています: 
    154  
    155  `#!default` :: フォーマット済みのテキストブロック内でテキストを逐語的に表示する。  
    156                 これはプロセッサ名を指定 ''しない'' のと同じです。 
    157                 (さらに `#!` を指定しないのと同じです) 
    158  `#!comment` :: このセクション内のテキストを処理しません(つまり、このセクションの内容は 
    159                 プレインテキスト内にのみ存在します - レンダリングしたページには表示されません)。 
    160  
    161 === HTML 関連 === #HTMLrelated 
    162  
    163  `#!html`        :: Wiki ページにカスタムした HTML を挿入する。 
    164  `#!htmlcomment` :: Wiki ページに HTML のコメントを挿入する (''0.12 以降'') 。 
    165  
    166 `#!html` ブロックは ''自己完結型'' でなければなりません。 
    167 つまり、1つ目のブロックである HTML 要素を開始し、後に記述する2つ目のブロックでその要素を閉じるということはできません。これに類似した効果を得るためには、下記に述べるプロセッサを使用して下さい。 
    168  
    169   `#!div` :: <div> 要素内の任意の Wiki の内容をラップする 
    170              (''0.11 以降''). 
    171  `#!span` :: <span> 要素内の任意の Wiki の内容をラップする  
    172              (''0.11 以降'').  
    173  
    174  `#!td` :: <td> 要素内の任意の Wiki の内容をラップする (''0.12 以降'') 
    175  `#!th` :: <th> 要素内の任意の Wiki の内容をラップする (''0.12 以降'')  
    176  `#!tr` :: `#!td` や `#!th` ブロックをラッピングしたり、 
    177        グルーピングした列を見やすくするために属性を指定する際、オプションとして使用することができます。 
    178        (''0.12 以降'') 
    179  
    180 これらのプロセッサについての詳細と使用例については、 WikiHtml を参照して下さい。 
    181  
    182 === その他のプロセッサ ===#OtherMarkups 
    183  
    184      `#!rst` :: Trac における Restructured テキストのサポート. WikiRestructuredText 参照。 
    185  `#!textile` :: [http://cheeseshop.python.org/pypi/textile Textile] がインストール 
    186                 されている場合のサポート。 
    187                 [http://www.textism.com/tools/textile/ a Textile リファレンス] 参照。 
    188  
    189  
    190 === コードのハイライトのサポート ===#CodeHighlightingSupport 
    191  
    192 Trac はインラインのシンタックスハイライトを提供するプロセッサを同梱しています: 
    193  `#!c` (C), `#!cpp` (C++), `#!python` (Python), `#!perl` (Perl),  
    194  `#!ruby` (Ruby), `#!php` (PHP), `#!asp` (ASP), `#!java` (Java),  
    195  `#!js` (Javascript), `#!sql (SQL)`, `#!xml` (XML または HTML), 
    196  `#!sh` (!Bourne/Bash シェル), など。 
    197  
    198 Trac では、シンタックスのカラーリングについて外部のソフトウェア 
    199 例えば [http://pygments.org Pygments] に依存しています。  
    200  
    201 TracSyntaxColoring にどの言語のシンタックスハイライトがサポートされているかについての情報と 
    202 その他の言語のシンタックスハイライトのサポートを有効にする方法について書かれています。  
    203  
    204 MIME タイプをプロセッサ名として使用することによって、ソースコードをブラウズするときに、サポートしている言語についてはシンタックスハイライトをすることが可能です。例えば、このように書くことができます: 
    205 {{{ 
    206 {{{ 
    207 #!text/html 
    208 <h1>テキスト</h1> 
    209 }}} 
    210 }}} 
    211  
    212 この結果はシンタックスハイライトされた HTML コードになります: 
     149  </div></form> 
     150  }}} 
     151}}} 
     152== Available Processors == 
     153 
     154The following processors are included in the Trac distribution: 
     155 
     156|| '''`#!default`''' || Present the text verbatim in a preformatted text block. This is the same as specifying ''no'' processor name (and no `#!`) || 
     157|| '''`#!comment`''' || Do not process the text in this section (i.e. contents exist only in the plain text - not in the rendered page). || 
     158|||| || 
     159||||= '''HTML related''' =|| 
     160|| '''`#!html`''' || Insert custom HTML in a wiki page. || 
     161|| '''`#!htmlcomment`''' || Insert an HTML comment in a wiki page (''since 0.12''). || 
     162|| || Note that `#!html` blocks have to be ''self-contained'', i.e. you can't start an HTML element in one block and close it later in a second block. Use the following processors for achieving a similar effect.  || 
     163|| '''`#!div`''' || Wrap an arbitrary Wiki content inside a <div> element (''since 0.11''). || 
     164|| '''`#!span`''' || Wrap an arbitrary Wiki content inside a <span> element (''since 0.11''). || 
     165|| '''`#!td`''' || Wrap an arbitrary Wiki content inside a <td> element (''since 0.12'') || 
     166|| '''`#!th`''' || Wrap an arbitrary Wiki content inside a <th> element (''since 0.12'') || 
     167|| '''`#!tr`''' || Can optionally be used for wrapping `#!td` and `#!th` blocks, either for specifying row attributes of better visual grouping (''since 0.12'') || 
     168|| || See WikiHtml for example usage and more details about these processors. || 
     169|||| || 
     170||||= '''Other Markups''' =|| 
     171|| '''`#!rst`''' || Trac support for Restructured Text. See WikiRestructuredText. || 
     172|| '''`#!textile`''' || Supported if [http://cheeseshop.python.org/pypi/textile Textile] is installed. See [http://www.textism.com/tools/textile/ a Textile reference]. || 
     173|||| || 
     174||||= '''Code Highlighting Support''' =|| 
     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 includes processors to provide inline syntax highlighting for source code in various languages. [[BR]] [[BR]] Trac relies on external software packages for syntax coloring, like [http://pygments.org Pygments]. [[BR]] [[BR]] See TracSyntaxColoring for information about which languages are supported and how to enable support for more languages. || 
     176|||| || 
     177 
     178Using the MIME type as processor, it is possible to syntax-highlight the same languages that are supported when browsing source code. 
     179 
     180||||= '''MIME Type Processors''' =|| 
     181{{{#!tr 
     182{{{#!td 
     183Some examples: 
     184 {{{ 
    213185{{{ 
    214186#!text/html 
    215187<h1>text</h1> 
    216188}}} 
    217  
    218 これは、対応しているすべての [TracSyntaxColoring#SyntaxColoringSupport 対応している MIME タイプ] に対して有効です。 
    219  
    220  
    221 ユーザによるプロセッサマクロの開発やコントリビュート: 
    222  * [http://trac.edgewall.org/wiki/ProcessorBazaar ProcessorBazaar] 
    223  * [http://trac.edgewall.org/wiki/MacroBazaar MacroBazaar] 
    224  * [http://trac-hacks.org/ Trac Hacks] コミュニティサイト 
    225  
    226 プロセッサは Wiki マクロを開発するのと変わりはありません。 
    227 実際、開発方法は同じであり、シンタックスの使用方法のみが異なります。  
    228 詳細情報については、 [WikiMacros#DevelopingCustomMacros カスタムマクロを開発する] を参照して下さい。 
     189 }}} 
     190}}} 
     191{{{#!td 
     192The result will be syntax highlighted HTML code: 
     193 {{{ 
     194#!text/html 
     195<h1>text</h1> 
     196 }}} 
     197 
     198The same is valid for all other [TracSyntaxColoring#SyntaxColoringSupport mime types supported]. 
     199}}} 
     200}}} 
     201{{{#!td 
     202 {{{ 
     203{{{ 
     204#!diff 
     205--- Version 55 
     206+++ Version 56 
     207@@ -115,8 +115,9 @@ 
     208     name='TracHelloWorld', version='1.0', 
     209     packages=find_packages(exclude=['*.tests*']), 
     210-    entry_points = """ 
     211-        [trac.plugins] 
     212-        helloworld = myplugs.helloworld 
     213-    """, 
     214+    entry_points = { 
     215+        'trac.plugins': [ 
     216+            'helloworld = myplugs.helloworld', 
     217+        ], 
     218+    }, 
     219 ) 
     220}}} 
     221 }}} 
     222}}} 
     223{{{#!td 
     224'''`#!diff`''' has a particularly nice renderer: 
     225 {{{ 
     226#!diff 
     227--- Version 55 
     228+++ Version 56 
     229@@ -115,8 +115,9 @@ 
     230     name='TracHelloWorld', version='1.0', 
     231     packages=find_packages(exclude=['*.tests*']), 
     232-    entry_points = """ 
     233-        [trac.plugins] 
     234-        helloworld = myplugs.helloworld 
     235-    """, 
     236+    entry_points = { 
     237+        'trac.plugins': [ 
     238+            'helloworld = myplugs.helloworld', 
     239+        ], 
     240+    }, 
     241 ) 
     242 }}} 
     243}}} 
     244 
     245For more processor macros developed and/or contributed by users, visit:  
     246 * [trac:ProcessorBazaar] 
     247 * [trac:MacroBazaar] 
     248 * [http://trac-hacks.org Trac Hacks] community site 
     249 
     250Developing processors is no different from Wiki macros.  
     251In fact they work the same way, only the usage syntax differs.  
     252See WikiMacros#DevelopingCustomMacros for more information. 
    229253 
    230254 
    231255---- 
    232256See also: WikiMacros, WikiHtml, WikiRestructuredText, TracSyntaxColoring, WikiFormatting, TracGuide 
    233