2013年4月12日金曜日

Markdownを使う環境を整えてみた

素のhtmlを使って書くより、Markdownを使用した方がblogやドキュメントが書きやすそうなので、Markdownを使用する環境を整えてみました。

Markdownのインストール

Markdownはオリジナルの表記を拡張した、派生バージョンがあるらしいけれど、まずはオリジナルであるMarkdown.plインストールしてみました。

Markdown.plをインストールする

最初にMarkdownのサイトよりMarkdown.plをダウンロードし、インストールします。

# wget http://daringfireball.net/projects/downloads/Markdown_1.0.1.zip
# unzip  Markdown_1.0.1.zip
# cd Markdown_1.0.1
# chmod 755 Markdown.pl
# mv Markdown.pl /usr/local/bin/Markdown
#

試しにmarkdown.plを使用していくつかの文章を書いてみましたが、ちょっと凝った構造の文章を書こうとすると、HTMLを使わないと表現できなかったりするので、ちょっと貧弱かなと思いました。

kramdown コマンドのインストール

もう少し表現力高いものが欲しいので、シンタクスを拡張したバージョンを使ってみようかと色々と調べてみると、kramdownが機能が豊富で使いやすそうなので、これをインストールしてみました。

$ sudo gem install kramdown
Password:
Successfully installed kramdown-0.14.2
1 gem installed
Installing ri documentation for kramdown-0.14.2...
Installing RDoc documentation for kramdown-0.14.2...
$

これで、/usr/bin/kramdownにインストールされます。

kramdownのドキュメントを見ると、かなり拡張されていて表現力もオリジナルよりアップしています。これならばHTMLタグに頼らなくても大体の文章は書けるのでは無いかと思います。

MarsEditでkramdownを使いプレビューさせる設定

MarsEditはデフォルトでmarkdown表記のプレビューが可能ですが、これはMarkdown.plを使用してプレビューを行っています。このため、kramdownの拡張シンタックスを使うとうまく表示できません。

そこで、markdownのプレビューにkramdownを使うように設定します。

{$HOME}/Library/Application Support/MarsEdit/TextFilters/kramdownkramdownディレクトリを作成し、そこにShell Script ファイルkramdown.shを作成します。

$ midir  $HOME/Library/Application\ Support/MarsEdit/TextFilters/kramdown/
$ cd $HOME/Library/Application\ Support/MarsEdit/TextFilters/kramdown/
$ vi kramdown.sh

kramdown.shの内容は下記のようにします。

#! /bin/sh
CMD=/usr/bin/kramdown
CMDARGS="--auto-ids"
$CMD $CMDARGS $1

CMDARGSに設定するオプションはコマンドラインでkramdown --helpとすると出てきますので、お好みで指定します。

ファイルの作成が完了したならば、プレビュー画面左下にあるPreview Text Filterプルダウンをkarmdownにすれば、kramdownの拡張シンタックスが正常にレンダリングされます。

karmdown でプレビュー

emacsの設定

emacsからもmarkdownを扱えるようにmarkdown-mode.elをインストール・設定をします。

markdown-mode.elのインストール

Emacs Markdown Modeのサ イトよりmarkdown-mode.elをダウンロードしてelispのディレクトリに置きま す。

$ cd ~/.elisp
$ wget http://jblevins.org/projects/markdown-mode/markdown-mode.el
$

.emacs.elの編集

.emacs.elに下記のコードを追加します。

;;==========================================================
;;	   Markdown モードの設定
;;==========================================================
(autoload 'markdown-mode "markdown-mode"
   "Major mode for editing Markdown files" t)
(add-to-list 'auto-mode-alist '("\\.\\(text\\|md\\|mdwn\\|mdt\\)\\'" . markdown-mode))
(defun markdown-custom ()
  "markdown-mode-hook"
  (auto-fill-mode -1)
  (setq markdown-command "/usr/bin/kramdown"))  ;; コマンドパスの設定
(add-hook 'markdown-mode-hook '(lambda() (markdown-custom)))

0 コメント:

コメントを投稿