Markdownの入力補助"wmd"をAdmin siteで使う

wmdとは

WYSIWYGエディタではなくMarkdown記法の入力を補助するアプリケーションです。
太字、外部リンク、引用、コードなどに対してボタンやキーボードショートカットが備えられています。

詳しくはWMD: The Wysiwym Markdown EditorDemoで確認してみてください。

前提

  1. wmdのバージョンは1.0.1。

wmdをインストール

wmdDownloadから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",
        )

wmd_admin01_01
※この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};

に変更するだけです。

twitter 2010-03-03 19:49:46.122258

関連ページ

参照サイト

Recent Updates

URLConf Tip 01 - キャプチャの有無にかかわらず同一のviewで処理する
Markdownの入力補助"wmd"をAdmin siteで使う
ModelFormでfieldのwidgetを変更する
動的なformを作る 6 - Dynamic Inline Admin site編
Formsetsを使う3 - inlineformset_factory編
動的なformを作る 5 - django-dynamic-formset編
Formクラスからメディアを定義する
複数のmodelを結合する 2 - Proxy model編
複数のmodelを結合する 1
ModelFormでfieldの表示順番を変える
Admin siteのwidgetを個別に変更する
formfield_overridesを使ってAdmin siteのwidgetを変更する
Admin siteのlist_displayをカスタマイズする - リンク編
Admin siteのlist_displayをカスタマイズする - 基本編
Admin siteのTextareaの高さを自在に変更する - admin.py編