以前作ったマークダウン形式の文字列をhtmlへ変換するmd to html
を改修した。
自分で使っていてサニタイズ(Purify
)に不満点があったため。
ページはここ→Markdown to raw html
最初の記事→Webブラウザ上でmdをhtmlに変換する簡易エディタを作った | ikapblog
DOMPurifyでサニタイズ
今までは入力した文字列は必ずサニタイズを通していた。しかし、考えてみたら利用者の意思でしか入力しないし、他者が他のブラウザで入力した文字列を閲覧する方法もないので、不要なんじゃないかと思った。
さらにサニタイズされることによって起きる問題として、埋め込みのコードなどが正しく表示できなくなってしまうことがある。これは、script
タグが消されてしまうことによって起きたりする。(CodePen
の場合)
これらのようなことがあったので、改修を行った。
改修内容
サニタイズ(PURIFY
)を選択式にした。チェックボックスを上部に配置し、チェックされているときはサニタイズを行うようにした。デフォルトの状態はOFFでサニタイズはしない。
改修時に遭遇したこと
jQuery
のチェックボックスの仕様というかインスタンスの扱いがよく分からなかったため、document.getElementById()
を使用した。
結果、今までのjQuery
とそうでないもののインスタンスが入り混じって少し複雑な面持ちになってしまった。
まだ判読は簡単なのでよしとしておく。いっそjQuery
を取り払うか?今度の改修時は検討してみる?
おわり・次の改修に備えて
使ってる人いるかどうかわからんけど、Purify
必要な人っているのか?
まあでもPurify
も残しておけたのでいいだろう。
今度編集するときは、一度zip
でまとめたバックアップを取ってから編集し始めよう。編集画面右下のExport
からできる。
以上です。
Javascript
初めての人向け広告