「WikiNotation/」で始まるページを作成

記法案。それと記法の実装案。
  • -----------------------------------------------

目次 Edit

関連 Edit


記法定義は汎用記法シンタックスシュガー

検索:WikiNotation

汎用記法は全ての要素を表現できる記法。要素クラス名をパラメーターとして受け取れる。

WikiNotation周辺のタグ Edit

Array
ToMarkdown()などを持つのはビルトイン要素。

プラグイン要素はそういった記法系に無い。汎用記法と、それにマッピングしたシンタックスシュガーでのみ表記できる。

WikiNotationとは Edit

----
  • -
*
**
***
&(...);
#...

記法 Edit


記法は読むためのもの。書くためのものではない。

などのWiki特有の書き方のこと。

それと、これらの書き方で書かれたテキストのこと。

マークダウン」などと同じ用途・目的。→キーワード:Markdown Google:Markdown

:i/記法定義は記法→要素クラス→記法 Edit

:Done/記法定義の方法 Edit

:i/ページの内容はコードと見なせる Edit


記法はコードのようなもの。実行結果がページの閲覧時に組み込まれる。

他の言語のコードを書くのならシンタックスハイライトとか自動リンクとか。コンテンツ扱い。実行のようなことはしないで。

WikiTextもWikiFormatも同じ意味で使われていそう。

ここではWikiNotationを含むテキストをWikiTextと言うことにしている。

キーワード:WikiNotation

キーワード:WikiFormat

キーワード:WikiText

Markdownの特徴 Edit


http://space.hatena.ne.jp/pmint/entry/14218542507645637066

実体はプラグインの呼び出し方(プラグインを呼び出したいときの書き方)。

検索用クラスやめ Edit


検索」に書かれているクラスを廃止。

Notationクラスで行う。

変換前/後が何であるか、何をどうするのかの違い。

いろいろな記法 Edit

参考に Edit


WikiCreole: List Of Wiki Markup

WikiMatrix - Compare them all

Help:Cheatsheet - Wikipedia, the free encyclopedia

記法/ Edit


Notationの機能…
  • 検索式→オブジェクトの単行表現
  • ページのテキスト→オブジェクトの複数行表現
  • オブジェクト同士を比較したときの適合度算出
    具象クラスが同じ場合も先祖が共通の場合も使える。

    先祖が共通の場合は適合度がやや下がる。

    クラスメソッド。
  • オブジェクト→テキスト(HTML)

…といったことができる。

プラグイン検索時の比較方法もメソッドとして持つ。 Edit


色とか。色プラグイン(色を示す表現を色オブジェクトに置き換えるプラグイン)色を示すWikiNotationプラグイン
#FFF
White

…などが
#FFC

などと近く(高い適合率)になるように。

WikiCreole Edit


WikiCreoleを導入(準拠)するなら日本語キーボードでのかな漢字変換向けマークアップ+WikiCreoleに。

WikiCreoleに含まれるWikiNotationはカスタマイズ不可でいい。

ページ編集ページで「WikiCreoleが使える」と一言明記。
WikiCreole
http://www.wikicreole.org/

チートシート

creole_cheat_sheet.png

リンクPukiWikiと同じ。MediaWikiとは違う。

箇条書きはMediaWikiと同じ。PukiWikiとは違う。

{{…}}の中がページ名として存在するなら埋め込み(includeプラグインと同じ効果)にしてもいい。…[?]リンク、{{…}}は埋め込みということにする。

(拡張子で画像かページ名か判断するのは良くない。不確かなので。せめてMIMEコードを取得して判断しないと。)

改行は無視。

でも連続した改行(空行)は反映する。

改行をしたいときは
を付けなければ反映されない。これは画面の大小に関わらず誰にでも読みやすくするためか。

ヘルプは初心者向けのみ Edit


詳細な説明なら定義ページを見ればいい。

変換ルールはページ内で定義 Edit


WikiNotation→内部形式(Element系オブジェクト)のルール

RegExp→Element系クラス名

…という形式で定義。

1ページに1クラス分のみ定義。ページ名と対応するクラスはハードコーディング(変更不可能)で良い。

それらをまとめたページを作ればWikiNotation定義の一覧になる。