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版
◎ 3万部突破のベストセラーが充実のアップデート! JavaScriptをこれから始める人にも、前に挫折したことのある人にも。 手を動かしてサンプルをひとつずつ作っていくことで、知識だけでなく、 現場で活きる、応用・実践につながる基礎力が「この一冊で」身につきます。 ポイント1「サンプルが楽しい。」 よくある“勉強のた...
タイトルとURLをコピーしました