Markdown to htmlを改修した

以前作ったマークダウン形式の文字列を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初めての人向け広告

確かな力が身につくJavaScript「超」入門 第2版 | 狩野 祐東 |本 | 通販 | Amazon
Amazonで狩野 祐東の確かな力が身につくJavaScript「超」入門 第2版。アマゾンならポイント還元本が多数。狩野 祐東作品ほか、お急ぎ便対象商品は当日お届けも可能。また確かな力が身につくJavaScript「超」入門 第2版もアマゾン配送商品なら通常配送無料。
タイトルとURLをコピーしました