Basic Syntax - Group
このページでは KARAS のグループ構文について説明します。
インライングループ
インライングループ構文は、ある文章や単語をグループにするための構文です。
(言い換えれば span 要素によって閉じるための構文です。)
テキストを << と >> によって閉じると、インライングループになります。
オプションを指定しないときは、空のグループが作成されます。
<<group>> text.<span class="group"></span> text.インライングループはオプションの構文 :: を使ってテキストを追加することができます。
インライングループ構文の最大レベルは2です。レベル1では class グループとして出力されます。
レベル2では id グループとして出力されます。
ふつうは、必ずグループ名を付け、 id はあるドキュメントの中で一意に定められるべきです。
<<group::Sample>> text.
<<<group::Sample>>> text.<span class="group">Sample</span> text.
<span id="group">Sample</span> text.ブロックグループ
ブロックグループ構文は、見出し・リスト・テーブル・テキストなどのあらゆる要素をグループにするための構文です。 
(言い換えれば、 div 要素によって閉じるための構文です。)
行頭に {{ を書くとグループの開始位置となります。行頭に }} を書くとグループの終了位置となります。
グループの開始位置と終了位置の間にある見出しやテキストがグループとなります。
{{
 = Heading
 
 Some paragraphs. 
 
 - Some lists.
 -- 2nd item.
}}<div>
<h1>Heading</h1>
<p>Some paragraphs</p>
<ul>
<li> Some lists.
<ul><li>2nd item.</li></ul>
</li>
</ul>
</div>名前付きのグループ
グループには名前をつけることができます。グループの開始位置を表す構文
{{ に続いて書かれたテキストは、グループの名前となります。
(言い換えれば div 要素のクラス名となります。)
グループ名は改行することができない点に注意してください。
{{groupname
Contents in group.
}}<div class="groupname">
<p>Contents in group.</p>
</div>特別なグループ
次のいくつかの名前は、グループ名として使うことができません。 それらの名前をつけるとき、グループは特別なグループになります。
言い換えれば、その名前の HTML 要素になります。 グループが示す内容についての詳細が必要なときは、 HTML に関するドキュメントを読むことを推奨します。
| div | 特別な意味を持たないグループ。 | 
|---|---|
| header | あるドキュメントのヘッダを表すグループ。 | 
| footer | あるドキュメントのフッタを表すグループ。 | 
| nav | メニューや構成などを表すグループ。 | 
| article | まとまった記事であることを示すグループ | 
| section | ある内容のまとまりであることを示すグループ。 | 
| aside | 本題とは異なる内容であることを示すグループ。 | 
| address | あるコンテンツの著者に関する情報を示すグループ。 | 
| details | 追加の情報を表すグループ。 | 
| figure | 図表を表すグループ。 | 
| pre | 整形済みの内容を表すグループ。 | 
| code | ソースコードやパスなどを表すグループ。 | 
| kbd | ユーザのあらゆる入力を表すグループ。 | 
| samp | コンピュータなどの出力結果を表すグループ。 | 
例えば、 "header" という名前が付けられたグループは、 header 要素として出力されます。
{{header
Contents in header.
}}<header>
Contents in header.
</header>header にグループ名をつけるときはオプションのための記号 :: を書いて、後に続けてグループ名を書きます。
{{header::groupname
Contents in header.
}}<header class="groupname">
Contents in header.
</header>div グループに "header" という名前 (クラス名) をつけるときは、 グループ名を "div" として、 オプションとして "header" を追加します。
{{div::header
Contents in div group.
}}<div class="header">
Contents in div group.
</div>figure, details グループ
figure と details グループは、特別な機能を持っています。 
figure グループ内に書かれた見出しの構文 = は、
figcaption (図の見出し)として出力されます。
見出しの構文を書く位置は、 figure グループ内のどこでも良いです。
しかしながら、一般には、 figure グループの一番上か一番下に書きます。
{{figure
= Caption text.
!|table head || table item
!|table head || table item
}}<figure>
<figcaption>Caption text.</figcaption>
<table>
<tr><th>table head</th><td>table item</td></tr>
<tr><th>table head</th><td>table item</td></tr>
</table> 
</figure>detalis グループ内に書かれた見出しの構文 = は summary (要約)として出力されます。
見出しの構文を書く位置は、 details グループ内のどこでも良いです。
しかしながら、一般には、 details グループの一番上に書きます。
{{details
= Summary text.
 
;detail-1
;;More detail.
;detail-2
;;more detail.
}}<details>
<summary>Summary text.</summary>
<dl>
<dt>detail-1</dt>
<dd>More details.</dd>
<dt>detail-2</dt>
<dd>More details.</dd>
</dl>
</details>pre, code, kbd, samp グループ
pre, code, kbd, samp グループは、特別な機能を持つグループです。
これらのグループ内にあるテキストは、改行するための構文 ~ を使わなくても、そのまま改行されます。
また、テキストに含まれる KARAS の構文は変換されず、 < や > などの特定の文字は文字参照に変換されます。
{{pre
Preformatted text.
2nd line.
<tag>Text in tag.</tag>
}}<pre>
Preformatted text.
2nd line.
<tag>Text in tag.</tag>
</pre>code, kbd, samp グループの出力は、 pre グループ(要素)が合わせて出力されます。 オプションで追加したグループ名 (class名) は、 pre と code (kbd, samp) の両方に追加されます。
{{code :: lang-c
int main()
{
    printf("Unyalder!");
    return 0;
}
}}
 
{{samp :: terminal
$echo Unyalder!
Unyalder!
}}<pre class="lang-c">
<code class="lang-c">
int main()
{
    printf("Unyalder!");
    return 0;
}
</code>
</pre>
<pre class="terminal">
<samp class="terminal">
$echo Unyalder!
Unyalder!
</samp>
</pre> 
            
            
                 
            
            
                 
            
            
                