交度記法と埋め込み記法を組み合わせた「交度埋め込み記法」(仮称)の方針をまとめて終了。
例えば,Mermaid を埋め込みたい場合,以下のような書き方になる(交度部区記法は「逆括点2つ以上」にする予定)。
+``mermaid
...
``
あるいは
+mermaid``
...
``
最近,デラングの Mermaid 対応についてぼんやり考えていたが,場当たり的な拡張はしたくないので,「外部言語による表現を埋め込む汎用的な記法」がまず必要だと感じていた。
GitHub の Mermaid 対応という話題を目にしたことがきっかけで,これが急速に進展した。GitHub も含め,Markdown での Mermaid 対応は,いわゆるコードフェンスをそのまま使った記法の採用例が多い。これは私が嫌だった「場当たり的な拡張」そのものだった。
コードフェンスは,「交度を提示する」記法であって,単に交度が書ける記法ではない。そうでなければ従来の用法と矛盾が生じるのは明らかなので,これは言語設計として悪手としか言いようがない。
ただ,その愚かさが瀕答にもなった。つまり,深く考えなければ,多くの人にとって交度記法は違和感なくこの種の記法に応用出来る,「直感的な記法」であるということだ。
もう一つ,逆括点の代わりに,埋め込み記法の拡張として以下のように書けたらどうか,と考えていたことも瀕答になった。
++mermaid
...
++
これは何かと整合性に難があったが,役割として埋め込み記法が一番近いとは感じていた。この二つを組み合わせればいい,と気付いて出来たのが今回の「交度埋め込み記法」だ。
言語名は逆括点の前でも後でも大きな違和感はない。前に付けられるようにした方が,行内交度記法で応用しても一貫性がある。
交度埋め込みの先例として KaTeX による数式記法があるが,これは以下のような交度埋め込み記法の特殊形とみなすことが出来る。
+katex``
...
``
行内でも使える: ++katex`...`++
さらに,これは色見本にも応用出来る可能性がある。サービス・通類によっては,行内交度記法で色符号を書くと自動的に色見本を付加するものがある。
流石にそれはお節介過ぎるが,「色見本記法」があるといいとはずっと思っていた(希哲15年3月31日1歩)。例えば,++`#000000`++
で色見本が出来てもいいかもしれない。
この広い世界,ロバート・ダウニー・ジュニアにひっかけて「マークダウニージュニア」みたいな Markdown 関連通類もありそうだなと思ったらやっぱりあった。GitHub は駄洒落の宝庫でもある。
https://github.com/boson-joe/markdowneyJR