review icon indicating copy to clipboard operation
review copied to clipboard

deprecated IDの代わりに暗黙にエスケープしたい

Open kmuto opened this issue 4 years ago • 3 comments

ref https://twitter.com/vvakame/status/1340636091909595139

IDの中にEPUBまたはTeXにおける危険文字があったらWARNを出すようにした #1574 が、むしろ暗黙にエスケープしてくれたほうが嬉しい。

まじめに考えるとけっこう大工事になりそう…。

  • 章ファイル名の場合はどうするか
  • 画像類はそのままIDを流用しているのでエスケープしすぎてはいけない
  • @<hd>による参照も注意

kmuto avatar Dec 20 '20 12:12 kmuto

一応ぼくがやりがちなユースケースを貼っておきます ↓みたいなことしがち…

//list[code/linter/basic/src/yukariKawaii.ts][yukariKawaii.tsの内訳]{
#@mapfile(../code/linter/basic/src/yukariKawaii.ts)

vvakame avatar Dec 20 '20 12:12 vvakame

わかる。あと、//imageでサブフォルダ指定に使われちゃってるのも見ますね(この場合だと実ファイルと結びつくだけにさらに厄介…)。

kmuto avatar Dec 20 '20 23:12 kmuto

  • IndexBuilderでIDを一元管理できるようになったのでここでチェックしたい。
  • しかしIndexBuilderは表現側に関与しないので適正なエスケープは不明だし、エスケープした文字を各ビルダに引き渡すこともない。
  • 結局各ビルダでのチェック&エスケープが必要になってしまう…

うーん。別案

  • 「/」だけ緩める (何か問題が出るかも)
  • IDチェックを無視するオプションを用意する (泥縄)

kmuto avatar Dec 22 '20 00:12 kmuto