HimeWikiのフォーマットたち

HimeWikiは、[[Nomark]]WikiCreole[[Markdown]]の3つのテキスト整形ルールから選択できます。
テキストの最初の文字が ! ならNomark、= ならCreole、# ならMarkdownが選ばれます。
どれでもないときは設定ファイルで選ばれたデフォルト形式になります。
設定ファイルでも指定されていなければNomarkにフォールバックします。

HimeWikiで最初に実装されたのはNomarkです。
HimeWikiのCreoleとMarkdownは、Nomarkのコードを基に改造されたものです。
厳密なCreoleやMarkdownには従わず、実装されています。
そのため、本来のものとは区別した方が良い場合もあります。
HimeWiki固有の実装としてのNomark、Creole、Markdownについては、以下のページを参照してください。

* HimeWikiNomark
* HimeWikiCreole
* HimeWikiMarkdown

3つの形式には異なる目的が想定されています。

* Nomark - 形式を意識せず、テキストを書きたい初心者向けです。
* Creole - 厳密さを重視するユーザー向けです。
* Markdown - マークアップ言語に慣れている人向けです。

3つの形式は共通の手順で実装されています。

1. テキストから行を取り出します。
2. 見出しとブロックの切り替えを判定します。
3. 特殊ブロックを処理します。
4. 通常ブロック内の行をマークアップします。

正規表現は使用せず、文字単位で解釈します。

NomarkがCamelCaseWikiNameに対応していたため、それを引き継いでCreoleでもMarkdownでもCamelCaseWikiNameを使えます。
この機能は、必要に応じて設定で無効化できるようにすることが望ましいです。
フォーマットの種類ごとに設定できることが理想です。

Nomarkがほぼ完成した段階で、それを元にCreoleとMarkdownの実装を始めたが、Nomarkには明確な箇条書き環境が無いことが課題として浮上しました。
CreoleとMarkdownでは多数の装飾があるため、それを効率良く行なう枠組みが不足していました。
これらは、CreoleとMarkdownの実装を進めて行くことで整え、Nomarkにも逆に反映させて行く予定です。

----

3つの形式の提示順は、Nomark、Creole、Markdownの順で統一されています。
Nomarkは独自仕様であるため最初に配置され、Creoleは従来の推奨形式として次に配置されます。
Markdownは普及した形式ですが、他の形式と競合するため最後に配置されます。