{手定め}{希哲16年1月12日5歩}{交度記法}=}(3)
{色見本}{検討中のデラング記法}{デラング記法}{👀}{交度記法}{基本}=}(6)

{色見本記法 K#F85E/A-E74C-AFB9}

  • %%(red)%%(#00FF00)%%(rgb(0,0,255)) のように,2個以上の %CSS色表記色見本表示出来る。
    • % で色の配合を表現している。
    • 色分け図表の凡例にも使える。
  • %%%(red)%%%%(red) のように,% 1個毎に8px幅が広がる。
  • %%`red`red`red`%%red のように,行内交度記法と組み合わせると交度の前か後ろに表示出来る。

検討中

%black%    <!-- 小さな色見本を表示 -->
%%`black`  <!-- 指定内容の前に色見本を表示 -->
`black`%%  <!-- 指定内容の後に色見本を表示 -->

%%`black;white`%% <!-- 大きな色見本を交度付きで表示 -->

%%black;white
白文字に黒背景
%%

<{white%black}>白文字に黒背景</>
<{white;%black}>白文字に黒背景</>
<{%black;white}>白文字に黒背景</>
<{black}>黒文字</>
<{black%}>黒文字</>
<{%black}>黒背景</>
{色見本}{色見本記法}{デラング}{進捗記録}{書く}{Markdown}{あれ}{特殊形}{交度埋め込み}{難があった}...=}(96)

{希哲16年2月15日18歩 K#F85E/A-E74C-E831}

進捗時限記録中略

交度コード記法埋め込み記法組み合わせた交度埋め込み記法仮称方針まとめて終了

例えばMermaid埋め込みたい場合,以下のような書き方になる交度部区コードブロック記法は「逆括点バッククォート2つ以上」にする予定

+``mermaid
...
``

あるいは

+mermaid``
...
``

最近デラングMermaid 対応についてぼんやり考えていたが,場当たり的拡張はしたくないので,「外部言語による表現埋め込む汎用的な記法」がまず必要だと感じていた

GitHubMermaid 対応という話題目にしたことがきっかけで,これが急速に進展した。GitHub も含め,Markdown での Mermaid 対応は,いわゆるコードフェンスをそのまま使った記法採用例多い。これは私が嫌だった場当たり的拡張そのものだった。

コードフェンスは,「交度提示する記法であって,単に交度が書ける記法ではない。そうでなければ従来用法矛盾が生じるのは明らかなので,これは言語設計として悪手としか言いようがない

ただ,その愚かさ瀕答ヒントにもなった。つまり,深く考えなければ,多くの人にとって交度記法違和感なくこの種の記法応用出来る,「直感的な記法」であるということだ。

もう一つ,逆括点代わりに埋め込み記法拡張として以下のように書けたらどうか,と考えていたことも瀕答になった。

++mermaid
...
++

これは何かと整合性難があったが,役割として埋め込み記法一番近いとは感じていた。この二つを組み合わせればいい,と気付いて出来たのが今回の「交度埋め込み記法」だ。


言語名逆括点の前でも後でも大きな違和感はない。前に付けられるようにした方が,行内交度記法応用しても一貫性がある。

交度埋め込み先例として KaTeX による数式記法があるが,これは以下のような交度埋め込み記法特殊形とみなすことが出来る。

+katex``
...
``

行内でも使える: ++katex`...`++

さらに,これは色見本にも応用出来る可能性がある。サービス通類ツールによっては,行内交度記法色符号カラーコード書く自動的に色見本付加するものがある。

流石にそれはお節介過ぎるが,「色見本記法」があるといいとはずっと思っていた希哲15年3月31日1歩。例えば,++`#000000`++色見本が出来てもいいかもしれない。

{デラング}{進捗記録}{数式記法}{軽量標記言語}{越化参照}{希哲16年2月4日の開発}{希哲16年2月4日21歩}{良い代替案}{深く考えず}{変更する}...=}(139)

{希哲16年2月4日17歩 K#F85E/A-E74C-503B}

進捗時限記録中略

デラング整備越化記法越化参照疑似実体参照についての検討終了

越化エスケープ基本的な仕様について記法内部実装両面から急速にまとまった

単一文字越化

まず,バックスラッシュ使った単一文字越化では,全ての文字越化することにした。ただし,この「越化」は,「通常とは異なる特殊な解釈試みること」であり,論組言語等でのそれと同様必ずしもデラング記法としての解釈避けることではない。

非特殊文字扱い

軽量標記言語単一文字越化対象非特殊文字に付けた場合の挙動としては,「不明なエスケープシーケンス」などと違了出すわけにはいかないので,以下の2つ考えられる

普段非特殊文字にあえて越化文字を付けてみることなどないので,一般的にどう実装するものなのか分からなかったが,特に定石があるわけではなさそうだ。

当初なんとなく前者想定していたが,この場合,全ての特殊(になりうる)文字予め定義しておく必要があり,挙動変則性用者混乱させる懸念もある。デラングの場合は文脈によって特殊文字になったりならなかったりすることも多いため,その対応も含めるとかなり複雑化してしまう。

後者の方が分かりやすいといえば分かりやすく,先日交度記法出来た代置子方式応用すれば実装単純化出来る。数式記法などでは越化対象文字判別する必要があるが,これは代置子への置換処理の前に制御子置換すればいい。

いずれにせよ後から変更するのが難しい仕様ではないので,まずは実装単純性を取るべきだろう。

数式記法との整合性

越化記法との整合性深く考えずLaTeX 方面の慣習従い導入した数式記法\[ ... \]\( ... \) をどうするかという問題に少し手間取った

これまで越化記法も「デラング記法としての解釈避ける」ためのものとして想定していたが,ここで本来越化という概念立ち返り,「通常とは異なる特殊な解釈試みる」ためのものとすることで整合させることにした。

越化参照

単一文字越化で「越化」という概念捉え直した結果,これまで Dex で「疑似実体参照」と呼んでいたものを「越化参照」として再定義することが出来た。

これに伴い,疑似実体参照では &_foo; としていた記法を,越化直感的に分かりやすい &^foo;統一することにした。代置子&^[連番];,「制御子(ここで命名&^[名前]; となる。

越化用の代置子に関しては &^1; などと書き分けるかと考えたのとほぼ同時に前述越化概念拡張があり,そもそもこれまで「疑似実体参照」と呼んでいたものが越化列役割同じであることに気付いた

参照先実体があるわけではないので「疑似実体参照」という名称にはずっと違和感があったものの,良い代替案見つからなかった。これで越化記法課題同時に解決してしまった。

{交度記法}

{}