Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
kmuto opened this issue Dec 20, 2020 · 3 comments
Open

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

kmuto opened this issue Dec 20, 2020 · 3 comments

Comments

@kmuto
Copy link
Owner

kmuto commented Dec 20, 2020

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

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

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

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

vvakame commented Dec 20, 2020

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

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

@kmuto
Copy link
Owner Author

kmuto commented Dec 20, 2020

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

@kmuto
Copy link
Owner Author

kmuto commented Dec 22, 2020

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

うーん。別案

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants