下記全てを満たす方法を考えました。
- Markdownで手軽にドキュメントを書きたい。MSオフィスは(ry
- 常用しているPCがUbuntuなのでKobitoは使えないし、何よりお気に入りのエディタで書きたい。
- 余計なソフトを入れたくないので、ブラウザでプレビューできると嬉しい。
- Markdown => HTML の変換を自動でやってほしい。
- シンタックスハイライトしてほしい。
試行錯誤の結果、markdown-styles
とinotify-tools
、それにEmacs
で納得のいくものができました。
この記事も、この方法で記述しています。
準備
markdown-styles
MarkdownをHTMLに変換してくれるコマンドラインツールです。NodeJSで動いている模様。
sudo npm install -g markdown-styles
inotify-tools
Linuxが標準で装備している、ファイルの変更を検知してくれる機能です。
拙作で恐縮ですが、下記の記事でexec_on_change
コマンドを作って下さい。
エディタ
好きなのを使って下さい。自分は折りたたみ機能が便利なのでEmacsを使っています。
やってみる
まずは、普通にMarkdown => HTMLの変換をしてみます。
mkdir input/
echo "# Hello world\n YOLO" > input/index.md
generate-md --layout github --input ./input --output ./output
google-chrome ./output/index.html
次に、ファイルの変更を検知して、自動的に変換するようにします。
ターミナルの別ウィンドウを開いて、下記コマンドを実行して下さい。
ファイルの監視が始まります。
exec_on_change input/ 'generate-md --layout github --input ./input --output ./output'
元のMarkdownを編集します。
emacs input/index.md
# 編集して保存する
保存した後、ブラウザを更新すると、Markdownの変更が適用されているはずです。
惜しいところ
ブラウザが自動更新されてくれれば・・・