Changes between Version 2 and Version 3 of WikiHtml


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

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiHtml

    v2 v3  
    1 = Wiki テキスト内で HTML を使用する = #UsingHTMLinWikiText 
    2  
    3 `#!html` [wiki:WikiProcessors Wiki プロセッサ] の機能によって、 Trac では Wiki コンテキスト内での HTML 利用が可能です。 
    4  
    5 しかし、 HTML は well-formed でなければいけないという制約があります。 
    6 とりわけ、 1 つ目の `#!html` ブロックに開始タグを挿入し、その後 
    7 普通の wiki テキストを続けて、2つ目の  
    8 `#!html` ブロックに 1 つ目のブロックに挿入した開始タグに対応する終了タグを挿入することはできません。 
    9  
    10 幸いなことに、 <div> や <span> やもっと複雑なスタイルを使用して 
    11 任意の Wiki テキストを含んだ表を作成する場合は、強力な代替手段があります: 
    12 表専用の `#!div`, `#!span`, `#!table`, `#!tr`, `#!td`, `#!th` ブロックを使用することです。 
    13  
    14 これらの Wiki プロセッサはビルトインされているので、追加で他のパッケージをインストールする必要はありません。 
    15  
    16 == `#!html` の使い方 == #HowtoUseHTML 
    17 テキストブロックが HTML として取り扱われるよう、 Wiki エンジンに ''html'' プロセッサを使用するという情報を与えます。 
    18  
    19 ||= Wiki マークアップ =||= 表示 =|| 
     1= Using HTML in Wiki Text = 
     2 
     3Trac supports inserting HTML into any wiki context, accomplished using the `#!html` [wiki:WikiProcessors WikiProcessor].  
     4 
     5However a constraint is that this HTML has to be well-formed. 
     6In particular you can't insert a start tag in an `#!html` block, 
     7resume normal wiki text and insert the corresponding end tag in a  
     8second `#!html` block.  
     9 
     10Fortunately, for creating styled <div>s, <span>s  or even complex tables 
     11containing arbitrary Wiki text, there's a powerful alternative: use of 
     12dedicated `#!div`, `#!span` and `#!table`, `#!tr`, `#!td` and `#!th` blocks. 
     13 
     14Those Wiki processors are built-in, and does not require installing any additional packages. 
     15 
     16== How to use `#!html` == #HowtoUseHTML 
     17To inform the wiki engine that a block of text should be treated as HTML, use the ''html'' processor.  
     18 
     19||= Wiki Markup =||= Display =|| 
    2020{{{#!td 
    2121  {{{ 
    2222  {{{ 
    2323  #!html 
    24   <h1 style="text-align: right; color: blue">HTML テスト</h1> 
     24  <h1 style="text-align: right; color: blue">HTML Test</h1> 
    2525  }}} 
    2626  }}} 
     
    2929  {{{ 
    3030  #!html 
    31   <h1 style="text-align: right; color: blue">HTML テスト</h1> 
    32   }}} 
    33 }}} 
    34  
    35 Trac が HTML コードを表示する前にサニタイズすることに注意して下さい。つまり Javascript のイベントハンドラのような潜在的に危険なコードを使おうとしても、出力から削除されるということです。 
    36  
    37 0.11 以降では、フィルタリングは Genshi が行いますので、出力は well-formed な HTML の断片でなければなりません。 上記イントロダクションで記述したとおり、 <div> を開く HTML ブロックと閉じる HTML ブロックの 2 つを使って Wiki テキストを囲むことができなくなります。 
    38 <div> タグ内部に含まれている Wiki テキストをラップする新しい方法として、 `#!div` Wiki プロセッサを使用する方法があります。 
    39  
    40 == `#!div` and `#!span` ブロックの使い方 == #HowtoUseDivSpan 
    41  
    42 ||= Wiki マークアップ =||= 表示 =|| 
    43 {{{#!td 
    44   {{{ 
    45   {{{ 
    46   #!div class="important" style="border: 2pt solid; text-align: center" 
    47   これは Trac バージョン 0.11 における ''唯一'' の方法です。 
    48   }}} 
    49  
    50   {{{ 
    51   #!div class="wikipage" style="border: 1pt dotted" 
    52   `wikipage` でのみ使用可 ( class 属性を指定しないのと同じです ) 
    53   }}} 
    54  
    55   {{{ 
    56   #!div class="wikipage compact " style="border: 1pt solid" 
    57   複数の class を指定 (`compact` と `wikipage`) 
    58   }}} 
    59  
    60   {{{ 
    61   #!div class="compact" style="border: 1pt dotted" 
    62   `compact` のみ 
    63   }}} 
    64  
    65   {{{ 
    66   #!div class="" style="border: 1pt solid" 
    67   class 属性の値を指定しない (class 属性そのものを指定しないのとは //異なります//) 
     31  <h1 style="text-align: right; color: blue">HTML Test</h1> 
     32  }}} 
     33}}} 
     34 
     35Note that Trac sanitizes your HTML code before displaying it. That means that if you try to use potentially dangerous constructs such as Javascript event handlers, those will be removed from the output.  
     36 
     37Since 0.11, the filtering is done by Genshi, and as such, the produced output will be a well-formed fragment of HTML. As noted above in the introduction, this mean that you can no longer use two HTML blocks, one for opening a <div>, the second for closing it, in order to wrap arbitrary wiki text. 
     38The new way to wrap any wiki content inside a <div> is to use the `#!div` Wiki  processor. 
     39 
     40== How to use `#!div` and `#!span` == #HowtoUseDivSpan 
     41 
     42||= Wiki Markup =||= Display =|| 
     43{{{#!td 
     44  {{{ 
     45  {{{ 
     46  #!div class="important"  
     47  **important** is a predefined class. 
     48  }}} 
     49  }}} 
     50  {{{ 
     51  {{{ 
     52  #!div style="border: 1pt dotted; margin: 1em" 
     53  **wikipage** is another predefined class that will  
     54  be used when no class is specified. 
     55  }}} 
     56  }}} 
     57  {{{ 
     58  {{{ 
     59  #!div class="compact" style="border: 1pt dotted; margin: 1em" 
     60  **compact** is another predefined class reducing 
     61  the padding within the `<div>` to a minimum. 
     62  }}} 
     63  }}} 
     64  {{{ 
     65  {{{ 
     66  #!div class="wikipage compact" style="border: 1pt dotted" 
     67  Classes can be combined (here **wikipage** and **compact**) 
     68  which results in this case in reduced //vertical//  
     69  padding but there's still some horizontal space for coping 
     70  with headings. 
     71  }}} 
     72  }}} 
     73  {{{ 
     74  {{{ 
     75  #!div class="" style="border: 1pt dotted; margin: 1em" 
     76  Explicitly specifying no classes is //not// the same 
     77  as specifying no class attribute, as this will remove 
     78  the //wikipage// default class. 
    6879  }}} 
    6980  }}} 
    7081}}} 
    7182{{{#!td style="padding-left: 2em" 
    72   {{{ 
    73   #!div class="important" style="border: 2pt solid; text-align: center" 
    74   これは Trac バージョン 0.11 における ''唯一'' の方法です。 
    75   }}} 
    76  
    77   {{{ 
    78   #!div class="wikipage" style="border: 1pt dotted" 
    79   `wikipage` でのみ使用可 ( class 属性を指定しないのと同じです ) 
    80   }}} 
    81  
    82   {{{ 
    83   #!div class="wikipage compact " style="border: 1pt solid" 
    84   複数の class を指定 (`compact` と `wikipage`) 
    85   }}} 
    86  
    87   {{{ 
    88   #!div class="compact" style="border: 1pt dotted" 
    89   `compact` のみ 
    90   }}} 
    91  
    92   {{{ 
    93   #!div class="" style="border: 1pt solid" 
    94   class 属性の値を指定しない (class 属性そのものを指定しないのとは //異なります//) 
    95   }}} 
    96 }}} 
    97  
    98 Note: `#!div` ブロックの内容に 1 つもしくは複数の段落が含まれる場合、上下にマージンが追加されます。これは、上記の例にある通り、上下のパディングをもたらします。コンテンツの上下のマージンを削除するためには、`#!div` ブロックの class 属性に `compact` を追加して下さい。 `wikipage` と `compact` の他に予め定義された値は、 `important` です。これを指定すると段落を目立たせることができます。 例えば、その他の CSS のクラスは、 `site/style.css` ファイル経由で定義することができます。 [TracInterfaceCustomization#SiteAppearance サイトの外観] を参照して下さい。 
    99  
    100 span については、むしろマクロ呼び出しのシンタックスを使用するべきです: 
    101 ||= Wiki マークアップ =|| 
     83 
     84  {{{ 
     85  #!div class="important"  
     86  **important** is a predefined class. 
     87  }}} 
     88 
     89  {{{ 
     90  #!div style="border: 1pt dotted; margin: 1em" 
     91  **wikipage** is another predefined class that will  
     92  be used when no class is specified. 
     93  }}} 
     94 
     95  {{{ 
     96  #!div class="compact" style="border: 1pt dotted; margin: 1em" 
     97  **compact** is another predefined class reducing 
     98  the padding within the `<div>` to a minimum. 
     99  }}} 
     100 
     101  {{{ 
     102  #!div class="wikipage compact" style="border: 1pt dotted" 
     103  Classes can be combined (here **wikipage** and **compact**) 
     104  which results in this case in reduced //vertical//  
     105  padding but there's still some horizontal space for coping 
     106  with headings. 
     107  }}} 
     108 
     109  {{{ 
     110  #!div class="" style="border: 1pt dotted; margin: 1em" 
     111  Explicitly specifying no classes is //not// the same 
     112  as specifying no class attribute, as this will remove 
     113  the //wikipage// default class. 
     114  }}} 
     115 
     116}}} 
     117 
     118Note that the contents of a `#!div` block are contained in one or more paragraphs, which have a non-zero top and bottom margin. This leads to the top and bottom padding in the example above. To remove the top and bottom margin of the contents, add the `compact` class to the `#!div`. Another predefined class besides `wikipage` and `compact` is `important`, which can be used to make a paragraph stand out. Extra CSS classes can be defined via the `site/style.css` file for example, see TracInterfaceCustomization#SiteAppearance. 
     119 
     120For spans, you should rather use the Macro call syntax: 
     121||= Wiki Markup =|| 
    102122{{{#!td 
    103123  {{{ 
     
    107127}}} 
    108128|--------------------------------------------------------------------------------- 
    109 ||= 表示 =|| 
     129||= Display =|| 
    110130{{{#!td style="padding-left: 2em" 
    111131  Hello 
     
    113133}}} 
    114134 
    115 == `#!td` とその他の表関連のプロセッサの使い方 == #Tables 
    116  
    117 実際に、それぞれのテーブル行やヘッダのセルを作成するためには、 `#!td` や `#!th` がメインのプロセッサになります。その他、 `#!table` や `#!tr` プロセッサは`#!td` や `#!th` プロセッサがこれらのプロセッサの役割を自動的に行なってしまうため、テーブル構造を紹介するためには必要ではありません。行セパレータ `|-` を新しい行を始める際に必要に応じて使うことができます。しかし場合によっては、 `#!tr` ブロックを使用する方が好ましいかもしれません。 `#!tr` ブロックの方がより正式なグルーピングを提供することができ、より多くのインデントレベルを提供できる可能性があります。`#!table` や `#!tr` プロセッサを使用する主な目的は、 ''style'' や ''valign'' などで HTML の属性を指定できることです。 
    118  
    119 ||= Wiki マークアップ =||= 表示 =|| 
     135== How to use `#!td` and other table related processors == #Tables 
     136 
     137`#!td` or `#!th` processors are actually the main ones, for creating table data and header cells, respectively. The other processors `#!table` and `#!tr` are not required for introducing a table structure, as `#!td` and `#!th` will do this automatically. The `|-` row separator can be used to start a new row when needed, but some may prefer to use a `#!tr` block for that, as this introduces a more formal grouping and offers the possibility to use an extra level of indentation. The main purpose of the `#!table` and `#!tr` is to give the possibility to specify HTML attributes, like ''style'' or ''valign'' to these elements. 
     138 
     139||= Wiki Markup =||= Display =|| 
    120140{{{#!td 
    121141 {{{ 
    122  リッチコンテンツを含んだ 2x2 の簡単な表: 
     142 Simple 2x2 table with rich content: 
    123143 {{{#!th align=left 
    124   -  
    125   - ヘッダ 
     144  - Left 
     145  - Header 
    126146 }}} 
    127147 {{{#!th align=left 
    128   -  
    129   - ヘッダ 
     148  - Right 
     149  - Header 
    130150 }}} 
    131151 |---------------------------------- 
    132152 {{{#!td style="background: #ffd" 
    133   -  
    134   - 内容 
     153  - Left 
     154  - Content 
    135155 }}} 
    136156 {{{#!td style="vertical-align: top" 
    137  右内容 
     157 !RightContent 
    138158 }}} 
    139159 |---------------------------------- 
    140  || ... パイプでつなげたセルも||\ 
    141  ||くっつけることができます || 
     160 || ... and this can be mixed||\ 
     161 ||with pipe-based cells || 
    142162 {{{#!td colspan=2 
    143  あなたのコンテンツにより適切なスタイルを 
    144  選択して下さい。 
     163 Pick the style the more appropriate 
     164 to your content 
    145165  
    146  パイプで表の列をつなげるシンタックスについては、 
    147  [WikiFormatting#Tables WikiFormatting] を参照して下さい。 
     166 See WikiFormatting#Tables for details 
     167 on the pipe-based table syntax. 
    148168 }}} 
    149169  
    150  もし、表そのものに属性を追加する 
    151  必要がある場合... 
     170 If one needs to add some  
     171 attributes to the table itself... 
    152172  
    153173 {{{ 
     
    155175   {{{#!tr ==================================== 
    156176     {{{#!th style="border: none" 
    157      左 ヘッダ 
     177     Left header 
    158178     }}} 
    159179     {{{#!th style="border: none" 
    160      右 ヘッダ 
     180     Right header 
    161181     }}} 
    162182   }}} 
     
    183203}}} 
    184204{{{#!td valign=top 
    185 リッチコンテンツを含んだ 2x2 の簡単な表: 
     205Simple 2x2 table with rich content: 
    186206{{{#!th align=left 
    187  -  
    188  - ヘッダ 
     207 - Left 
     208 - Header 
    189209}}} 
    190210{{{#!th align=left 
    191  -  
    192  - ヘッダ 
     211 - Right 
     212 - Header 
    193213}}} 
    194214|---------------------------------- 
    195215{{{#!td style="background: #ffd" 
    196  -  
    197  - 内容 
     216 - Left 
     217 - Content 
    198218}}} 
    199219{{{#!td style="vertical-align: top" 
    200 右内容 
     220!RightContent 
    201221}}} 
    202222|---------------------------------- 
    203 || ... パイプでつなげたセルも||\ 
    204 ||くっつけることができます || 
     223|| ... and this can be mixed||\ 
     224||with pipe-based cells || 
    205225{{{#!td colspan=2 
    206 あなたのコンテンツにより適切なスタイルを 
    207 選択して下さい。 
    208  
    209 パイプで表の列をつなげるシンタックスについては、 
    210 [WikiFormatting#Tables WikiFormatting] を参照して下さい。 
    211 }}} 
    212  
    213 もし、表そのものに属性を追加する 
    214 必要がある場合... 
     226Pick the style the more appropriate 
     227to your content 
     228 
     229See WikiFormatting#Tables for details 
     230on the pipe-based table syntax. 
     231}}} 
     232 
     233If one needs to add some  
     234attributes to the table itself... 
    215235 
    216236{{{ 
     
    218238  {{{#!tr ==================================== 
    219239    {{{#!th style="border: none" 
    220     左 ヘッダ 
     240    Left header 
    221241    }}} 
    222242    {{{#!th style="border: none" 
    223     右 ヘッダ 
     243    Right header 
    224244    }}} 
    225245  }}} 
     
    243263}}} 
    244264 
    245 Note: デフォルトの表設定では、 "wiki" の CSS クラスが適用されます。そして、この CSS クラスはヘッダのセルに対して典型的な見た目と表とセルのデフォルトの罫線設定を提供します ( このページの表にあるとおりです) このクラスを削除することによって (`#!table class=""`) 表の表示方法を自由に設定することができるようになります。特に、表、行、セルのいずれにも罫線を設定しない場合、いたるところで `style="border: no"` を指定するよりこの方法を使用したほうが、同じ効果を得るのにより効果的な方法となります。 
     265Note that by default tables are assigned the "wiki" CSS class, which gives a distinctive look to the header cells and a default border to the table and cells (as can be seen for the tables on this page). By removing this class (`#!table class=""`), one regains complete control on the table presentation. In particular, neither the table, the rows nor the cells will have a border, so this is a more effective way to get such an effect than having to specify a `style="border: no"` parameter everywhere.  
    246266 
    247267{{{#!table class="" 
    248 ||= Wiki マークアップ =||= 表示 =|| 
     268||= Wiki Markup =||= Display =|| 
    249269 {{{#!td 
    250270  {{{ 
     
    253273  || 10|| 20|| 30|| 
    254274  || 11|| 22|| 33|| 
    255   ||||||=  数字  =|| 
     275  ||||||=  numbers  =|| 
    256276  }}} 
    257277  }}} 
     
    262282  || 10|| 20|| 30|| 
    263283  || 11|| 22|| 33|| 
    264   ||||||=  数字  =|| 
    265   }}} 
    266  }}} 
    267 }}} 
    268  
    269 他のクラスを代替手段として指定することもできます ([TracInterfaceCustomization#SiteAppearance site/style.css] であなた自身のスタイルシートを定義できることを忘れないで下さい) 
    270  
    271 ||= Wiki マークアップ =||= 表示 =|| 
     284  ||||||=  numbers  =|| 
     285  }}} 
     286 }}} 
     287}}} 
     288 
     289Other classes can be specified as alternatives (remember that you can define your own in [TracInterfaceCustomization#SiteAppearance site/style.css]). 
     290 
     291||= Wiki Markup =||= Display =|| 
    272292{{{#!td 
    273293  {{{ 
     
    276296  || 10|| 20|| 30|| 
    277297  || 11|| 22|| 33|| 
    278   ||||||=  数字  =|| 
     298  ||||||=  numbers  =|| 
    279299  }}} 
    280300  }}} 
     
    285305  || 10|| 20|| 30|| 
    286306  || 11|| 22|| 33|| 
    287   ||||||=  数字  =|| 
    288   }}} 
    289 }}} 
    290  
    291  
    292 == HTML コメント ==#HTMLcomments 
    293 HTML コメントは `html` プロセッサの出力から除外されます。 HTML コメントを wiki ページに追加するために、 `htmlcomment` プロセッサを使用して下さい (0.12 以降) 。例えば、下記のようなコードブロックになります: 
    294 ||= Wiki マークアップ =|| 
     307  ||||||=  numbers  =|| 
     308  }}} 
     309}}} 
     310 
     311 
     312== HTML comments == 
     313HTML comments are stripped from the output of the `html` processor. To add an HTML comment to a wiki page, use the `htmlcomment` processor (available since 0.12). For example, the following code block: 
     314||= Wiki Markup =|| 
    295315{{{#!td 
    296316  {{{ 
    297317  {{{ 
    298318  #!htmlcomment 
    299   このブロックは HTML コメントとして処理されます。 
    300   <tags> や &entities; を含めることができ、これらは出力時にエスケープされません。 
     319  This block is translated to an HTML comment. 
     320  It can contain <tags> and &entities; that will not be escaped in the output. 
    301321  }}} 
    302322  }}} 
    303323}}} 
    304324|--------------------------------------------------------------------------------- 
    305 ||= 表示 =|| 
     325||= Display =|| 
    306326{{{#!td 
    307327  {{{ 
    308328  <!-- 
    309   このブロックは HTML コメントとして処理されます。 
    310   <tags> や &entities; を含めることができ、これらは出力時にエスケープされません。 
     329  This block is translated to an HTML comment. 
     330  It can contain <tags> and &entities; that will not be escaped in the output. 
    311331  --> 
    312332  }}} 
    313333}}} 
    314334 
    315 Note: "--" という文字の並びは、 HTML コメントでは使用できません。レンダリング時にエラーが発生します。 
    316  
    317  
    318 == より詳しい情報 == #MoreInformation 
     335Please note that the character sequence "`--`" is not allowed in HTML comments, and will generate a rendering error. 
     336 
     337 
     338== More Information == 
    319339 
    320340 * http://www.w3.org/ -- World Wide Web Consortium