これはCreoleの最終v1.0仕様(2007年7月4日)であり、今後2年間凍結される。 更なる情報はCreole 1.0への工程表、 Creole 1.0投票および理由付けを見よ。 エンジンの実装がCreole 1.0を遵守しているかチェックするためにCreole 1.0テストケースを使うことができる。
Creole 0.6からの変更点:
<<<>>>
を使う概略
太字と斜体のテキストは段落、リスト項目および表のセルの中で使える。 太字や斜体のテキストの中に現われるリンクも太字や斜体になるべきである。 太字や斜体のテキストは段落、リスト項目および表のセルの終わりで終わる。なので、複数の段落などに渡って広がることはできない。
Creole:
**太字**
推奨されるXHTML:
<strong>太字</strong>
出力例:
太字
根拠: 星(*
)はオンラインでテキストを強調するのに最も使われる記号である。
テキストが意図せず偶然解釈されるのを防ぐためCreoleでは一般に二重記号が使われる。
更なる詳細
http:
や ftp:
の直後に続く //
の斜体処理は無視せよ。
Creole:
//斜体//
推奨されるXHTML:
<em>斜体</em>
出力例:
斜体
根拠: スラッシュ(/
)は傾いた斜体のように見えるので、直感的であるため覚えやすい。
更なる詳細
Creole:
太字と斜体は行をまたぐ//ことが できる//べきである。 しかし、段落をまたぐ//ことは... ...できる//べきではない。
推奨されるXHTML:
<p> 太字と斜体は行をまたぐ<em>ことが できる</em>べきである。 </p> <p> しかし、段落をまたぐ<em>ことは...</em> </p> <p> ...できる<em>べきではない。</em> </p>
出力例:
太字と斜体は行をまたぐことが できるべきである。
しかし、段落をまたぐことは...
...できるべきではない。
Creole:
**//太字で斜体//** //**太字で斜体**// //これ**もまた**良い。//
推奨されるXHTML:
<strong><em>太字で斜体</em></strong> <em><strong>太字で斜体</strong></em> <em>これ<strong>もまた</strong>良い。</em>
出力例:
太字で斜体
太字で斜体
これもまた良い。
受け入れられないもの:
**//太字で斜体**// //**太字で斜体//**
見出しのレベルは3種類の異なる大きさのものがあればよい。 閉じる(右側の)等号記号は省略できて、バランスがとれていなくてもよく、また生成される見出しの種類に影響しない。 左側の等号記号の前の空白は許される。 閉じる等号記号の後には空白文字だけが許される。 見出しの中のマークアップ解釈は省略してもよい。
Creole:
= レベル1(一番大きい) = == レベル2 == === レベル3 === ==== レベル4 ==== ===== レベル5 ===== ====== レベル6 ====== === これもレベル3 === これもレベル3 = === これもレベル3 == === **解釈**//されない// ===
推奨されるXHTML:
<h1>レベル1(一番大きい)</h1> <h2>レベル2</h2> <h3>レベル3</h3> <h4>レベル4</h4> <h5>レベル5</h5> <h6>レベル6</h6> <h3>これもレベル3</h3> <h3>これもレベル3</h3> <h3>これもレベル3</h3> <h3>**解釈**//されない//</h3>
根拠: 最も人気のあるウィキ見出しマークアップは等号記号(=
)を使うものである。
より小さい見出しにより多くの等号記号があるので、小見出しはよりインデントされ、マークアップだけで視覚的な概略をつかみやすくなる。
閉じる等号記号は省略でき、多くのウィキエンジンはそれらを必要としないので、Creoleをより柔軟にしている。
更なる詳細
リンクはパラグラフ(太字と斜体のテキストの中でも)、リスト項目および表のセルの中に置くことができる。 リンクは、太字や斜体のテキストの一部になっているときは、太字や斜体になる。 少なくともリンクの内側に画像を置くことには対応しなければならない。 リンクの中で他のマークアップを解釈することは必要ではない(省略してよい)。
独立したURLは検出されてリンク化されるべきである。
URLの最後の1個の句読点文字(,.?!:;"'
)はURLの一部ととらえるべきではない。
ウィキがインターウィキリンクに対応しているなら、他のウィキへのリンクは、そのウィキの名前を置いて、それからページ表題の前にひとつのコロンで作られるべきである。
例えば、 [[WikiCreole:Creole1.0]]
にリンクするとこのWikiCreoleウィキ上のCreole仕様にリンクすることになる。
Creole:
[[link]] [[MyBigPage|私のページに行く]] [[http://www.wikicreole.org/]] http://www.rawlink.org/, http://www.another.rawlink.org [[http://www.wikicreole.org/|WikiCreoleウェブサイトへどうぞ]] [[Weird Stuff|**Weird** //Stuff//]] [[Ohana:WikiFamily]]
推奨されるXHTML:
<a href="http://www.examplewiki.com/link">link</a> <a href="http://www.examplewiki.com/MyBigPage">私のページに行く</a> <a href="http://www.wikicreole.org/">http://www.wikicreole.org/</a> <a href="http://www.rawlink.org/">http://www.rawlink.org/</a>, <a href="http://www.another.rawlink.org">http://www.another.rawlink.org</a> <a href="http://www.wikicreole.org/">WikiCreoleウェブサイトへどうぞ</a> <a href="http://www.examplewiki.com/Weird_Stuff">**Weird** //Stuff//</a> <a href="http://wikiohana.net/cgi-bin/wiki.pl/WikiFamily">Ohana:WikiFamily</a>
出力例:
link
私のページに行く
http://www.wikicreole.org/
http://www.rawlink.org/, http://www.another.rawlink.org
WikiCreoleウェブサイトへどうぞ
Weird Stuff
Ohana:WikiFamily
根拠: ほとんどすべてのウィキがリンクを作るのに角括弧([[]]
)を使う。
二重角括弧を使うことで単一の角括弧がリンク化する心配なく自由に使える。
更なる詳細
1行以上の空行は段落を終わらせる。 リスト、表あるいはNowikiブロックもまた段落を終わらせる。
Creole:
これは私のテキスト。 これは更なるテキスト。
推奨されるXHTML:
<p>これは私のテキスト。</p> <p>これは更なるテキスト。</p>
出力例:
これは私のテキスト。
これは更なるテキスト。
根拠: 新たな段落を開始するのにマークアップタグを必要とすべきではない。 更なる詳細
改行には \\
(ウィキスタイル)。
Creole:
これは最初の行、\\そしてこれは2番目。
推奨されるXHTML:
これは最初の行、<br /> そしてこれは2番目。
出力例:
これは最初の行、
そしてこれは2番目。
根拠: ブログスタイル対ウィキスタイル
ブログスタイルの改行を使うかウィキスタイル(レガシースタイル)の改行を使うかの長い議論があった。
我々はCreole 0.3のオリジナルのブログスタイルの改行の推奨(改行を改行として扱う)をウィキスタイルの改行の推奨に変更することに決めた。
ウィキは強制改行構文 \\
に対応しなければならない。
我々はCreole 0.3スタイル(ブログスタイル)の改行をすでに実装したエンジン開発者に対しその実装を投げ捨てないことを奨励し、 代わりにどちらのモードでその実装を動かすかを管理者が選べるオプションを追加することを奨励する。 このようにしてブログスタイルの改行による更なる体験を得ることを我々は期待する。 ブログスタイルの改行のモードでは、強制改行構文には対応しなければならないので、 テキストを強制改行文字のあるウィキからコピーするときに改行は適切に移行される。 更なる詳細
リスト項目は行の始まりで *
または #
で始まる。
*
または #
文字の前後に空白を付けるかどうかは自由だが、
リスト項目が太字テキストで始まるときは *
の後に空白が必要になる。
リスト項目は、 *
または #
文字で始まる行(次の項目またはサブリスト)、空行、見出し、表、またはNowikiブロックで終わる。
段落のように、複数の行に渡って続いたり、 \\
により強制される改行を含んだりできる。
少なくとも5段階の入れ子の深さに対応することが推奨される。
リスト項目の中では太字、斜体、リンク、およびNowikiを使うことができるが、これらは複数のリスト項目に渡って広がることはできない。
番号なしリストと太字について: **
で始まる行(前後の空白を含む)で、上の行の何らかのリスト項目の直後に続いているものは、
入れ子になった番号なしリストの要素として扱われる。
それ以外のときは太字テキストの始まりとして扱われる。
Creole:
* 項目1 ** 項目1.1 * 項目2
推奨されるXHTML:
<ul> <li>項目1 <ul> <li>項目1.1</li> </ul> </li> <li>項目2</li> </ul>
出力例:
根拠: 大多数のウィキエンジンが中点リストを示すのにアスタリスク(*
)を使っている。
サブリストに複数のアスタリスクを使う方式は、最初のウィキのサブリストの構文であった。
ユーザはサブリストのレベルが先頭の空白の数で決まるマークアップでのように先頭にある空白を数える必要はない。
書き手がそう望むなら、Creoleマークアップをより明確にするために先頭に空白を使うこともできる。
更なる詳細
Creole:
# 項目1 ## 項目1.1 # 項目2
推奨されるXHTML:
<ol> <li>項目1 <ol> <li>項目1.1</li> </ol> </li> <li>項目2</li> </ol>
出力例:
根拠: ほとんどのウィキで番号付きリストには番号記号(#
)が使われている。
更なる詳細
ハイフンの前後に空白を付けるかどうかは自由だが、ハイフンどうしの間に空白は許されない。 その行には4個のハイフンの文字しかあってはならない(空白を除いて)。
Creole:
----
推奨されるXHTML:
<hr />
根拠: すべてのWYSIWYGでないウィキが水平罫線を示すのにハイフン(----
)を使っている。
ほとんどのウィキは4個を必要とする。
更なる詳細
Creole:
{{myimage.png|これは私の画像}}
推奨されるXHTML:
<img src="myimage.png" alt="これは私の画像" />
根拠: 最も一般的な画像マークアップは二重波括弧({{}}
)だった。
それはその後一貫性のためリンクと同じ内部構造を持つことになる。
更なる詳細
すべてのセルは単一のパイプで区切られる。 行の最初のセルの前の先頭の空白は許され、また行の最後に続く空白は許される。 終わりのパイプを付けるかどうかは自由である。 リンク、太字、斜体、改行、およびNowikiを表のセルに埋め込むことができる。 パイプの直後に等号記号を付けると見出しになる。 見出しは横にも縦にも並べられる。 比較の詳細は表のマークアップのリストにある。
Creole:
|=見出し 列1 |=見出し 列2 | |セル1.1 |セル1.2の中に\\2行 | |セル2.1 |セル2.2 |
推奨されるXHTML:
<table> <tr> <th>見出し 列1</th> <th>見出し 列2</th> </tr> <tr> <td>セル1.1</td> <td>セル1.2の中に<br />2行</td> </tr> <tr> <td>セル2.1</td> <td>セル2.2</td> </tr> </table>
出力例:
見出し 列1 | 見出し 列2 |
---|---|
セル1.1 | セル1.2の中に 2行 |
セル2.1 | セル2.2 |
根拠: ほとんどのウィキが表のセルを区切るのに単一または二重のパイプを使っている。
表のセルの中では普通パイプは必要ないので、単一のパイプ(|
)を使うことで二重パイプより良い空間の使い方ができ、また速くタイプできる。
更なる詳細
これはインラインまたはブロックとして働く。 他の場所ではエスケープ文字として使われるチルダでさえ(下記を見よ)、これらの文字の間ではウィキマークアップは解釈されない。 ブロックとしては、開くために3個の波括弧をひとつの行にそれ自体として、閉じるために3個の波括弧を別の行にそれ自体として、先頭の空白なしで、置くべきだ。 ブロックの中では文字は等幅で表示される。 インラインのNowikiテキストについては、ウィキの実装者はこのテキストを通常どおり表示するか等幅で表示するか決定できる。
Creole:
{{{ //これ//は[[整形]]され**ない** }}}
推奨されるXHTML:
<pre> //これ//は[[整形]]され**ない** </pre>
出力例:
//これ//は[[整形]]され**ない**
Creole:
いくつかのマークアップの例は: {{{** <i>これ</i> **}}}
推奨されるXHTML:
いくつかのマークアップの例は: <tt>** <i>これ</i> **</tt>
出力例:
いくつかのマークアップの例は: ** <i>これ</i> **
Nowikiまたは整形済みの終了タグと考えられてしまうであろう閉じ括弧を含めるために、2個の追加ルールがある:
Creole:
閉じ括弧付きのインラインNowiki: {{if (a>b) { b = a;}}}
.
3個の閉じ括弧を含む行のある整形済みブロック:
{{{ if (x != NULL) { for (i = 0; i < size; i++) { if (x[i] > 0) { x[i]--; }}} }}}
根拠: ウィキエンジンで整形されないテキストをユーザが入力する何らかの方法が必要である。
見やすさと「コード」自身の中での現われにくさにより三重の波括弧({{{}}}
)が選ばれた。
更なる詳細
Nowikiエスケープの追加の提案も見よ。
エスケープ文字はチルダ(~
)である。
Nowiki、整形済み、およびURLの外では、エスケープ文字はその直後の1文字のみをエスケープする。
ただし、その文字(直後の1文字)が空(空白または改行)でない限り。
その文字(直後の1文字)はそのまま表現され、どんなCreoleマークアップの一部にもなれない。
エスケープ文字は直後のURLのリンクへの自動変換や、 そのウィキエンジンで対応している同様の機構(キャメルケースウィキワード、著作権記号、など)すべてを無効化する。
例題コード:
~#1 http://www.foo.com/~bar/ ~http://www.foo.com/ CamelCaseLink ~CamelCaseLink
出力例:
#1
http://www.foo.com/~bar/
http://www.foo.com/
CamelCaseLink
CamelCaseLink
根拠: テキストの中に頻繁にキーボード文字が必要だと、気の散る三重の波括弧が多くなりすぎてうまく編集できなくなるだろう。 それゆえエスケープ文字を代わりに使うことがNowikiインラインであまり気が散らないようにする助けになるだろう。 チルダが選ばれたので、改行のバックスラッシュと競合しないだろうし、チルダは比較的少ない頻度で使われる。 チルダは一般にタイプしやすいわけではないが、頻繁に使う必要があるわけでもないだろうし、なのでその線で言えば適しているとも言える。 このようにして、星、スラッシュおよび他のマークアップ文字が元のテキストに見付かったなら、そのまま表現するために簡単にエスケープできる。 理由付け
何か高度なものがあるとき、プレイスホルダが現われて、そのお蔭でユーザは複数の構文を見て混乱せずにすむ。 (ウィキ開発者には選択可能)
注意: これを追加仕様にあるプラグイン構文と混同しないように。
Creole:
<<<x>>>
根拠: これは主に混合Creoleモードの実装を実際上不可能にするMediaWikiでの特殊文字の頻繁な利用のため開発された。
山括弧(<<<>>>
)をマークアップに使うウィキはわずかしかない。
このマークアップはユーザがタイプしてではなくウィキエンジンで生成されるため、ユーザがタイプする拡張要素の2個の山括弧のマークアップを取っておくために、2個ではなく3個のマークアップ文字を使う。
更なる詳細
Creole:
//[[Important page|このリンクは斜体になっている]]// **[[Important page]]** //**[[Important page]]**//
推奨されるXHTML:
<em><a href="http://www.examplewiki.com/Important_Page">このリンクは斜体になっている</a></em> <strong><a href="http://www.examplewiki.com/Important_page">Important page</a></strong> <em><strong><a href="http://www.examplewiki.com/Important_page">Important page</a></strong></em>
出力例:
このリンクは斜体になっている
Important page
Important page
Creole:
* **太字**項目 * //斜体//項目 # [[certain page]]についての項目 # {{{//これ//は[[処理]]され**ない**}}}
推奨されるXHTML:
<ul> <li><strong>太字</strong>項目</li> <li><em>斜体</em>項目</li> </ul> <ol> <li><a href="http://www.examplewiki.com/certain_page">certain page</a>についての項目</li> <li><tt>//これ//は[[処理]]され**ない**</tt></li> </ol>
出力例:
//これ//は[[処理]]され**ない**