Changes between Version 2 and Version 3 of WikiHtml


Ignore:
Timestamp:
Sep 19, 2015, 4:39:59 PM (9 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