自動的に色付け。
hljs.highlightAll();
要素 elm を指定して色付け。
hljs.highlightBlock( elm );
txt
}{希哲16年3月12日}{希哲16年3月12日の進捗時限}{駒手記法}...`
}{解釈出来る}{完了させた}{中途半端な実装}{使用経験}{書き換えずに済む}{意図の明示}...```txt
これまでのデラング記法の例示
```
``dlng
これからのデラング記法の例示
``
交度部区記法の開始記号・終了記号については,これまで ```
固定だったため,交度部区記法内で交度部区記法について例示出来ないという問題があった。
行内交度記法で逆括点の数を調整出来るようにして(1月17日15歩)から,この方式で統一することを考えていた。
これを機に,逆括点の数は2個でも可とした。区切り線記法は最初から Markdown などで一般的な3個以上ではなく2個以上の -
で導入したが,交度部区記法では確信が持てなかった。
交度部区記法実装からちょうど一年経ち,3個以上でなければならない理由はない,と使用経験から判断した。なんなら1個でも解釈上の問題はないはずだが,目印としての機能を考えると2個が限度だろう。他の記法との統一感もある。
これまで外部ライブラリ(highlight.js)任せだった交度部区記法の言語名を自主的に管理する第一歩として,取り急ぎデラング,Cμ,νS に対応した。
デラング
,delang
,dlng
,dln
を txt
に,cμ
,cu
,u
を cpp
に,νs
,vs
を js
に,それぞれ Dex 側で変換する。とりあえず大文字小文字は区別しない。
これまではデラングを txt
などと書いていたが,意図の明示という観点から問題があった。これなら今後構文ハイライトに対応した時に書き換えずに済む。
言語名の対応関係については実装に委ねるべきかとも考えたが,将来的に混乱の元になりそうな部分なので,対応関係は言語仕様で規定し,構文ハイライトなどは任意実装とすることにした。
また,用者が未定義の言語名を使用出来るように,例えば ```newlang(oldlang)
のように代替言語名を指定出来る記法の検討も開始している。
1月17日15歩で,外側の逆括点の数を調整出来る仕様にしたが,`` `a` ``
のように外側より少ない個数でないと上手く解釈出来ないなど中途半端な実装だったことを思い出し,実装を完了させた。
これで ` ``a`` `
でも `` `a` ``
でも `` `a``
でも,対応する逆括点さえ判別出来れば問題なく解釈出来るようになった。
気になっていたデライト高速化に関する問題をいくつか片付け,出振るいした。結果として大きな体感表示速度の向上が見られた。
やや混乱していた kn cpl
などを整理しながら,離立備立とデバッグ備立を切り分けられるようにした。5月のデバッグ出力整備でデバッグ出力と録出力を切り分けておいたことも奏功し,作業は円滑に進んだ。
これまで,本番環境でも deln.fcgi も libxtd も xpo.Pg もデバッグ出力を無効化していなかった。特に大きな負荷になる要素ではないが,高負荷時の性能低下要因を極力減らしたかった。
精神衛生的な面でも効果が大きかった。長い実験段階を終え,一つの製品として完成に向かうデライトを象徴する出来事のような気がして嬉しかった。
一般用者の自我アイコンも WebP 化を完了し,添付画像を除き,現時点で出来るデライトの WebP 対応は完了した。
先月31日12歩ではすっかり忘れていたが,互換性の問題があるため,当面は元画像と WebP を共存させておくことにした。特に,Safari の対応が遅かったため,まだ WebP への統一は時期尚早だろう。
非対応舞覧の市影は小さく,デライトにおける譜類添付機能もそれほど本質的な付徴ではないため,割り切って無視出来なくもないかとも考えた。いずれにせよ,気になるのはストレージ容量なので,それが問題になるまでは様子見することにした。
輪郭を含むページで無条件に読み込んでいた KaTeX と highlight.js を,必要な場合だけ後縁で出力させるようにした。