Emacs で Markdown を使う
購読しているブログで Markdown が紹介されていたので、ためしにこれでブログを書いています。
Markdown とは、シンプルなプレーンテキストで書けて、HTML に変換できるマークアップ言語です。簡単にいうと、はてな記法みたいなもんです。また、コンセプトとして “原文のままでも読みやすく” というのもあるみたいです。
文法など Markdown についての詳細は公式リソースなど他に譲るにして、僕はとりあえず Emacs で快適に Markdown を使えるようになるまでの作業ログとちょっとした tips を残しておきます。
Markdown, markdown-mode.el のインストールと簡単な使い方
$ brew install markdown $ cd ~/.emacs.d/site-lisp $ wget http://jblevins.org/git/markdown-mode.git/plain/markdown-mode.el $ emacs ~/.emacs.d/init.el
;; markdown-mode (autoload 'markdown-mode "markdown-mode.el" "Major mode for editing Markdonw files" t) (setq auto-mode-alist (cons '("\.mdwn$" . markdown-mode) auto-mode-alist))
拡張子は、僕は .mdwn でやることにしましたが、.md とか .mdt とかもメジャーみたいです。まあなんでもいい。
- C-c C-c m でカレントバッファを HTML に変換し新しいバッファに表示
- C-c C-c p でカレントバッファを変換しブラウザで開く
- C-c C-c e で変換して保存。
basename.mdwn
だったらbasename.html
として保存
というのが基本的な使い方です。この他にもアンカーを挿入したりなど便利機能あり。
不満点を強引に解決
section を使いたい
コメントに書いておいて最後にアンコメント。
<!-- <section> --> # hoge hogehoge <!-- </section> -->
<!-- <section> --> <h1>hoge</h1> <p>hogehoge</p> <!-- </section> -->
C-x h M-x uncomment-region
RET
<section> <h1>hoge</h1> <p>hogehoge</p> </section>
markdown 記法で書きつつ HTML タグに属性を付与したい
コメントで書いておいて最後に置換。
<!-- blockquote cite="http://example.com/" --> > 引用
<!-- blockquote cite="http://example.com/" --> <blockquote><p>引用</p></blockquote>
M-x replace-regexp
RET <!-- (([a-z]+).*) -->
C-q C-j C-q C-j <2>
RET <1>
RET
<blockquote cite="http://example.com/"><p>引用</p></blockquote>