内部表現
基本構造
JSON形式で保存されます。
{ "system": { "version": "0.2.0" }, "elements": [(この中に要素ノードを格納します)], "CSS statements": [ (この中に装飾ノードを格納します) ] }
要素ノード
グローバル属性
"id": (文字列|文章全体で一意でなければならない識別子/ID を定義します。)
すべての要素ノードが任意で持てる属性です。
見出し
{ "type": "h1" "content": "見出しの内容" }
type は 見出しの段階に合わせて h1, h2, h3, h4, h5, h6 の中から選べます。 h1 が最大、 h6 が最小です。
区切り線
{ "type": "hr" }
段落
{ "type": "p" "content": "段落の内容" }
装飾ノード
基本構造
{ "type": "rule", "selectors": [ (セレクターノード) ], "declaration": [ (装飾宣言ノード) ] }
{ "type": "at rule" }
上記の二種類の何れかとなります。at rule セレクターは未対応です。
セレクターノード
{ "type": "id", "value": (文字列 | セレクター対象の要素のIDです) }
装飾宣言ノード
{ "property": ?, "value": ? }
コウイカ バージョン一覧
- 0.2.0 | 装飾ノードを導入しました。
- 0.1.0 | フルスクラッチで書き直しました。(contenteditable は外しました)
- 0.0.0 | contenteditable を採用して開発したものです。