3 | | HTML [wiki:WikiProcessors WikiProcessor] の機能によって、 Trac では Wiki コンテキスト内での HTML 利用が可能です。 |
4 | | |
5 | | HTML 対応は内蔵機能であり、追加パッケージのインストールを必要としません。 |
6 | | |
7 | | == HTML の使い方 == #HowtoUseHTML |
8 | | Wiki エンジンにテキストブロックが HTML として取り扱われるよう、 ''html'' プロセッサを使用するという情報を与えます。 |
9 | | |
10 | | この例のような表現は: |
| 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 マークアップ =||= 表示 =|| |
| 20 | {{{#!td |
| 21 | {{{ |
| 22 | {{{ |
| 23 | #!html |
| 24 | <h1 style="text-align: right; color: blue">HTML テスト</h1> |
| 25 | }}} |
| 26 | }}} |
| 27 | }}} |
| 28 | {{{#!td style="padding-left: 2em" |
| 29 | {{{ |
| 30 | #!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" |
| 47 | **important** は定義済みのクラスです。 |
| 48 | }}} |
| 49 | }}} |
| 50 | {{{ |
| 51 | {{{ |
| 52 | #!div style="border: 1pt dotted; margin: 1em" |
| 53 | **wikipage** はクラスが指定されていない場合に |
| 54 | 使用される別の定義済みクラスです。 |
| 55 | }}} |
| 56 | }}} |
| 57 | {{{ |
| 58 | {{{ |
| 59 | #!div class="compact" style="border: 1pt dotted; margin: 1em" |
| 60 | **compact** は最小限に `<div>` 内のパディングを |
| 61 | 軽減するための別の定義済みクラスです。 |
| 62 | }}} |
| 63 | }}} |
| 64 | {{{ |
| 65 | {{{ |
| 66 | #!div class="wikipage compact" style="border: 1pt dotted" |
| 67 | クラスは組み合わせることができます (ここでは **wikipage** と **compact**) |
| 68 | この場合の結果は、//垂直方向の// パディングが |
| 69 | 軽減されますが、見出しのため水平方向のスペースが |
| 70 | 残っています。 |
| 71 | }}} |
| 72 | }}} |
| 73 | {{{ |
| 74 | {{{ |
| 75 | #!div class="" style="border: 1pt dotted; margin: 1em" |
| 76 | 明確にクラスを指定しないことは、 |
| 77 | 属性にクラスを指定しないことと同じでは //なく// 、 |
| 78 | デフォルトクラスの //wikipage// を削除するようなものです。 |
| 79 | }}} |
| 80 | }}} |
| 81 | }}} |
| 82 | {{{#!td style="padding-left: 2em" |
| 83 | |
| 84 | {{{ |
| 85 | #!div class="important" |
| 86 | **important** は 定義済みのクラスです。 |
| 87 | }}} |
| 88 | |
| 89 | {{{ |
| 90 | #!div style="border: 1pt dotted; margin: 1em" |
| 91 | **wikipage** はクラスが指定されていない場合に |
| 92 | 使用される別の定義済みクラスです。 |
| 93 | }}} |
| 94 | |
| 95 | {{{ |
| 96 | #!div class="compact" style="border: 1pt dotted; margin: 1em" |
| 97 | **compact** は最小限に `<div>` 内のパディングを |
| 98 | 軽減するための別の定義済みクラスです。 |
| 99 | }}} |
| 100 | |
| 101 | {{{ |
| 102 | #!div class="wikipage compact" style="border: 1pt dotted" |
| 103 | クラスは組み合わせることができます (ここでは **wikipage** と **compact**) |
| 104 | この場合の結果は、//垂直方向の// パディングが |
| 105 | 軽減されますが、見出しのため水平方向のスペースが |
| 106 | 残っています。 |
| 107 | }}} |
| 108 | |
| 109 | {{{ |
| 110 | #!div class="" style="border: 1pt dotted; margin: 1em" |
| 111 | 明確にクラスを指定しないことは、 |
| 112 | 属性にクラスを指定しないことと同じでは //なく// 、 |
| 113 | デフォルトクラスの //wikipage// を削除するようなものです。 |
| 114 | }}} |
| 115 | |
| 116 | }}} |
| 117 | |
| 118 | Note: `#!div` ブロックの内容に 1 つもしくは複数の段落が含まれる場合、上下にマージンが追加されます。これは、上記の例にある通り、上下のパディングをもたらします。コンテンツの上下のマージンを削除するためには、`#!div` ブロックの class 属性に `compact` を追加して下さい。 `wikipage` と `compact` の他に予め定義された値は、 `important` です。これを指定すると段落を目立たせることができます。 例えば、その他の CSS のクラスは、 `site/style.css` ファイル経由で定義することができます。 [TracInterfaceCustomization#SiteAppearance サイトの外観] を参照して下さい。 |
| 119 | |
| 120 | span については、むしろマクロ呼び出しのシンタックスを使用するべきです: |
| 121 | ||= Wiki マークアップ =|| |
| 122 | {{{#!td |
| 123 | {{{ |
| 124 | Hello |
| 125 | [[span(''WORLD'' (click [#anchor here]), style=color: green; font-size: 120%, id=anchor)]]! |
| 126 | }}} |
| 127 | }}} |
| 128 | |--------------------------------------------------------------------------------- |
| 129 | ||= 表示 =|| |
| 130 | {{{#!td style="padding-left: 2em" |
| 131 | Hello |
| 132 | [[span(''WORLD'' (click [#anchor here]), style=color: green; font-size: 120%, id=anchor)]]! |
| 133 | }}} |
| 134 | |
| 135 | == `#!td` とその他の表関連のプロセッサの使い方 == #Tables |
| 136 | |
| 137 | 実際に、それぞれのテーブル行やヘッダのセルを作成するためには、 `#!td` や `#!th` がメインのプロセッサになります。その他、 `#!table` や `#!tr` プロセッサは`#!td` や `#!th` プロセッサがこれらのプロセッサの役割を自動的に行なってしまうため、テーブル構造を紹介するためには必要ではありません。行セパレータ `|-` を新しい行を始める際に必要に応じて使うことができます。しかし場合によっては、 `#!tr` ブロックを使用する方が好ましいかもしれません。 `#!tr` ブロックの方がより正式なグルーピングを提供することができ、より多くのインデントレベルを提供できる可能性があります。`#!table` や `#!tr` プロセッサを使用する主な目的は、 ''style'' や ''valign'' などで HTML の属性を指定できることです。 |
| 138 | |
| 139 | ||= Wiki マークアップ =||= 表示 =|| |
| 140 | {{{#!td |
| 141 | {{{ |
| 142 | リッチコンテンツを含んだ 2x2 の簡単な表: |
| 143 | {{{#!th align=left |
| 144 | - 左 |
| 145 | - ヘッダ |
| 146 | }}} |
| 147 | {{{#!th align=left |
| 148 | - 右 |
| 149 | - ヘッダ |
| 150 | }}} |
| 151 | |---------------------------------- |
| 152 | {{{#!td style="background: #ffd" |
| 153 | - 左 |
| 154 | - 内容 |
| 155 | }}} |
| 156 | {{{#!td style="vertical-align: top" |
| 157 | 右内容 |
| 158 | }}} |
| 159 | |---------------------------------- |
| 160 | || ... パイプでつなげたセルも||\ |
| 161 | ||くっつけることができます || |
| 162 | {{{#!td colspan=2 |
| 163 | あなたのコンテンツにより適切なスタイルを |
| 164 | 選択して下さい。 |
| 165 | |
| 166 | パイプで表の列をつなげるシンタックスについては、 |
| 167 | [WikiFormatting#Tables WikiFormatting] を参照して下さい。 |
| 168 | }}} |
| 169 | |
| 170 | もし、表そのものに属性を追加する |
| 171 | 必要がある場合... |
| 172 | |
| 173 | {{{ |
| 174 | #!table style="border:none;text-align:center;margin:auto" |
| 175 | {{{#!tr ==================================== |
| 176 | {{{#!th style="border: none" |
| 177 | 左 ヘッダ |
| 178 | }}} |
| 179 | {{{#!th style="border: none" |
| 180 | 右 ヘッダ |
| 181 | }}} |
| 182 | }}} |
| 183 | {{{#!tr ==== style="border: 1px dotted grey" |
| 184 | {{{#!td style="border: none" |
| 185 | 1.1 |
| 186 | }}} |
| 187 | {{{#!td style="border: none" |
| 188 | 1.2 |
| 189 | }}} |
| 190 | }}} |
| 191 | {{{#!tr ==================================== |
| 192 | {{{#!td style="border: none" |
| 193 | 2.1 |
| 194 | }}} |
| 195 | {{{#!td |
| 196 | 2.2 |
| 197 | }}} |
| 198 | }}} |
| 199 | }}} |
| 200 | |
| 201 | |
| 202 | }}} |
| 203 | }}} |
| 204 | {{{#!td valign=top |
| 205 | リッチコンテンツを含んだ 2x2 の簡単な表: |
| 206 | {{{#!th align=left |
| 207 | - 左 |
| 208 | - ヘッダ |
| 209 | }}} |
| 210 | {{{#!th align=left |
| 211 | - 右 |
| 212 | - ヘッダ |
| 213 | }}} |
| 214 | |---------------------------------- |
| 215 | {{{#!td style="background: #ffd" |
| 216 | - 左 |
| 217 | - 内容 |
| 218 | }}} |
| 219 | {{{#!td style="vertical-align: top" |
| 220 | 右内容 |
| 221 | }}} |
| 222 | |---------------------------------- |
| 223 | || ... パイプでつなげたセルも||\ |
| 224 | ||くっつけることができます || |
| 225 | {{{#!td colspan=2 |
| 226 | あなたのコンテンツにより適切なスタイルを |
| 227 | 選択して下さい。 |
| 228 | |
| 229 | パイプで表の列をつなげるシンタックスについては、 |
| 230 | [WikiFormatting#Tables WikiFormatting] を参照して下さい。 |
| 231 | }}} |
| 232 | |
| 233 | もし、表そのものに属性を追加する |
| 234 | 必要がある場合... |
| 235 | |
12 | | #!html |
13 | | <pre class="wiki">{{{ |
14 | | #!html |
15 | | <h1 style="text-align: right; color: blue">HTML テスト</h1> |
16 | | }}}</pre> |
17 | | }}} |
18 | | |
19 | | このように表示されます: |
20 | | {{{ |
21 | | #!html |
22 | | <h1 style="text-align: right; color: blue">HTML テスト</h1> |
23 | | }}} |
24 | | |
25 | | Trac が HTML コードを表示する前にサニタイズすることに注意して下さい。つまり Javascript のイベントハンドラのような潜在的に危険なコードを使おうとしても、出力から削除されるということです。 |
26 | | |
27 | | 0.11 以降では、フィルタリングは Genshi が行いますので、出力は well-formed な HTML の断片でなければなりません。言い換えれば、 <div> を開く HTML ブロックと閉じる HTML ブロックの 2 つを使って Wiki テキストを囲むことができなくなります。 |
28 | | Wiki テキストを <div> 要素で囲むためには、以下のように div プロセッサを使用する必要があります: |
29 | | |
30 | | {{{ |
31 | | {{{ |
32 | | #!div class=important style="border: 2pt solid; text-align: center" |
33 | | This is the ''only'' way to go in Trac 0.11 |
34 | | }}} |
35 | | }}} |
36 | | |
37 | | 結果、以下のように表示されます: |
38 | | {{{ |
39 | | #!div class=important style="border: 2pt solid; text-align: center" |
40 | | This is the ''only'' way to go in Trac 0.11 |
41 | | }}} |
42 | | |
43 | | Note: CSS class を指定しない場合、 `wikipage` class が追加され、 <div> 内部のヘッダに特別なレイアウトが適用されます。明示的に padding を指定したい場合、これを考慮に入れなければなりません。 (tip: [http://getfirebug.com/ Firebug を使うと良いでしょう]) |
44 | | |
45 | | span 要素の場合、マクロ呼び出しのシンタックスを使用できます: |
46 | | {{{ |
47 | | Hello [[span(''WORLD'' (click [#world-anchor here]), style=color: green; font-size: 120%, id=world-anchor)]]! |
48 | | }}} |
49 | | |
50 | | 結果、以下のように表示されます: |
51 | | Hello [[span(''WORLD'' (click [#world-anchor here]), style=color: green; font-size: 120%, id=world-anchor)]]! |
52 | | |
53 | | |
54 | | == 画像 == #Images |
55 | | 画像をインライン表示したい場合、ファイル名の後に '''?format=raw''' を追加してください。例えば、 Trac ロゴをインライン表示したい場合、以下のようなシンタックスになります: |
56 | | |
57 | | {{{ |
58 | | <img src="http://www.edgewall.org/gfx/trac_logo.png?format=raw" /> |
59 | | }}} |
60 | | |
61 | | {{{ |
62 | | #!html |
63 | | <img src="http://www.edgewall.org/gfx/trac_logo.png?format=raw" /> |
64 | | }}} |
65 | | |
| 237 | #!table style="border:none;text-align:center;margin:auto" |
| 238 | {{{#!tr ==================================== |
| 239 | {{{#!th style="border: none" |
| 240 | 左 ヘッダ |
| 241 | }}} |
| 242 | {{{#!th style="border: none" |
| 243 | 右 ヘッダ |
| 244 | }}} |
| 245 | }}} |
| 246 | {{{#!tr ==== style="border: 1px dotted grey" |
| 247 | {{{#!td style="border: none" |
| 248 | 1.1 |
| 249 | }}} |
| 250 | {{{#!td style="border: none" |
| 251 | 1.2 |
| 252 | }}} |
| 253 | }}} |
| 254 | {{{#!tr ==================================== |
| 255 | {{{#!td style="border: none" |
| 256 | 2.1 |
| 257 | }}} |
| 258 | {{{#!td |
| 259 | 2.2 |
| 260 | }}} |
| 261 | }}} |
| 262 | }}} |
| 263 | }}} |
| 264 | |
| 265 | Note: デフォルトの表設定では、 "wiki" の CSS クラスが適用されます。そして、この CSS クラスはヘッダのセルに対して典型的な見た目と表とセルのデフォルトの罫線設定を提供します ( このページの表にあるとおりです) このクラスを削除することによって (`#!table class=""`) 表の表示方法を自由に設定することができるようになります。特に、表、行、セルのいずれにも罫線を設定しない場合、いたるところで `style="border: no"` を指定するよりこの方法を使用したほうが、同じ効果を得るのにより効果的な方法となります。 |
| 266 | |
| 267 | {{{#!table class="" |
| 268 | ||= Wiki マークアップ =||= 表示 =|| |
| 269 | {{{#!td |
| 270 | {{{ |
| 271 | {{{#!table class="" |
| 272 | || 0|| 1|| 2|| |
| 273 | || 10|| 20|| 30|| |
| 274 | || 11|| 22|| 33|| |
| 275 | ||||||= 数字 =|| |
| 276 | }}} |
| 277 | }}} |
| 278 | }}} |
| 279 | {{{#!td |
| 280 | {{{#!table class="" |
| 281 | || 0|| 1|| 2|| |
| 282 | || 10|| 20|| 30|| |
| 283 | || 11|| 22|| 33|| |
| 284 | ||||||= 数字 =|| |
| 285 | }}} |
| 286 | }}} |
| 287 | }}} |
| 288 | |
| 289 | 他のクラスを代替手段として指定することもできます ([TracInterfaceCustomization#SiteAppearance site/style.css] であなた自身のスタイルシートを定義できることを忘れないで下さい) |
| 290 | |
| 291 | ||= Wiki マークアップ =||= 表示 =|| |
| 292 | {{{#!td |
| 293 | {{{ |
| 294 | {{{#!table class="listing" |
| 295 | || 0|| 1|| 2|| |
| 296 | || 10|| 20|| 30|| |
| 297 | || 11|| 22|| 33|| |
| 298 | ||||||= 数字 =|| |
| 299 | }}} |
| 300 | }}} |
| 301 | }}} |
| 302 | {{{#!td |
| 303 | {{{#!table class="listing" |
| 304 | || 0|| 1|| 2|| |
| 305 | || 10|| 20|| 30|| |
| 306 | || 11|| 22|| 33|| |
| 307 | ||||||= 数字 =|| |
| 308 | }}} |
| 309 | }}} |
| 310 | |
| 311 | |
| 312 | == HTML コメント ==#HTMLcomments |
| 313 | HTML コメントは `html` プロセッサの出力から除外されます。 HTML コメントを wiki ページに追加するために、 `htmlcomment` プロセッサを使用して下さい (0.12 以降) 。例えば、下記のようなコードブロックになります: |
| 314 | ||= Wiki マークアップ =|| |
| 315 | {{{#!td |
| 316 | {{{ |
| 317 | {{{ |
| 318 | #!htmlcomment |
| 319 | このブロックは HTML コメントとして処理されます。 |
| 320 | <tags> や &entities; を含めることができ、これらは出力時にエスケープされません。 |
| 321 | }}} |
| 322 | }}} |
| 323 | }}} |
| 324 | |--------------------------------------------------------------------------------- |
| 325 | ||= 表示 =|| |
| 326 | {{{#!td |
| 327 | {{{ |
| 328 | <!-- |
| 329 | このブロックは HTML コメントとして処理されます。 |
| 330 | <tags> や &entities; を含めることができ、これらは出力時にエスケープされません。 |
| 331 | --> |
| 332 | }}} |
| 333 | }}} |
| 334 | |
| 335 | Note: "`--`" という文字の並びは、 HTML コメントでは使用できません。レンダリング時にエラーが発生します。 |