Markdownの入力補助"wmd"をAdmin siteで使う
wmdとは
WYSIWYGエディタではなくMarkdown記法の入力を補助するアプリケーションです。
太字、外部リンク、引用、コードなどに対してボタンやキーボードショートカットが備えられています。
詳しくはWMD: The Wysiwym Markdown EditorやDemoで確認してみてください。
前提
- wmdのバージョンは1.0.1。
wmdをインストール
wmdのDownloadからwmd-x.x.x.zipをダウンロード、展開します。
settings.pyで指定したMEDIA_ROOT直下にwmdディレクトリをコピーします。
wmd設定
Admin site内で利用するには、クラス内のメディアクラスのjsに
wmdディレクトリ内のwmd.jsを指定するとTextarea上部にツールバーが表示されます。
admin.py
from django.contrib import admin
class BlogAdmin(admin.ModelAdmin):
class Media:
js = (
… ,
"/media/js/wmd/wmd.js",
)

※このTextareaはTextarearesizerと組み合わせています。
wmd.jsを変更
現在のまま使用するとTextarea内で、wmdを利用したMarkdown入力することが出来るが、
save時にHTMLに変換されて保存されます。
データをMarkdownのまま保存するには少し修正が必要です。 変更する箇所はwmd.jsファイルの4行目にある
Attacklab.wmd_defaults={version:1,output:"HTML",lineLength:40,delayLoad:false};
を
Attacklab.wmd_defaults={version:1,output:"Markdown",lineLength:40,delayLoad:false};
に変更するだけです。