org-modeとGraphviz
Emacsユーザーであれば、org-modeを使っている人は多いと思いますが、まだこれから使ってみたいと思っているかたのために、orgにどんなことができるのか紹介してみたいと思います。
まずorg-modeとは何か? これには大きく二つにわけて説明する必要があるでしょう。
ファイルフォーマットとしてのorg-mode
一つは、ファイルフォーマットとしてのorg-mode。
拡張子が org
のテキストファイルです。ただのテキストであるが故に扱いはとてもシンプル。Emacsのアウトラインモードがベースになっていて、構造化された文章のためのフォーマットです。
・・・のはずですが、いろいろな記法を駆使することで、いささか過激なほどに機能が拡張されているのがorgの魅力。
orgファイルを活用するためのパッケージの集合としてのorg-mode
二つ目は、orgファイルを活用するためのパッケージの集合としてのorg-mode。
メモを取る、スケジュールやタスクを管理する、別のフォーマットに変換する、等々、いろいろな機能があります。
で、今回は、ファイルフォーマットとしての org-mode に関して、さきほども書いたとおり、いささか過激とも思える機能、こんなこともまでorgではできる一例を紹介します。
画像を自動で生成して貼り付ける
orgファイルのなかで、別のコマンドを実行し、その結果を取り込む、という機能があります。
この機能を活用すると、 Graphviz
というデータの可視化コマンドを使ったこんなorgファイルを書くことができます。
* org-modeの特徴 ** アウトラインモード Emacs自体の強力な編集機能との相乗効果で、超強力なアウトラインモードを実現している。 ** 豊富なパッケージ タスク管理、メモ取りなどorgファイルを活用しまくるパッケージが標準で搭載されている。 ** 強力なフォーマット変換。コマンドの実行結果がそのまま組込まれる。 内容は適当です。 graph G { subgraph clusterA { emacs -- lisp; subgraph clusterC { orgmode -- org2blog; } } subgraph clusterB { "OS X" -- emacs } } #+RESULTS:
テキストデータを Graphviz
の dot
というコマンドに引きわたして、得られた結果の画像を自分自身に貼り付けています。これがorgフォーマットからHTMLへ変換するときに自動で処理されるのです。
このエントリー自体、org2blogというパッケージで、EmacsのorgファイルからWordPressに投稿しています。この投稿のさいに自動で、画像も作成されてアップロードまで完了しているのです。以下がその結果です。
出力ここから
org-modeの特徴
アウトラインモード
Emacs自体の強力な編集機能との相乗効果で、超強力なアウトラインモードを実現している。
豊富なパッケージ
タスク管理、メモ取りなどorgファイルを活用しまくるパッケージが標準で搭載されている。
強力なフォーマット変換。コマンドの実行結果がそのまま組込まれる。
内容は適当です。
出力ここまで
上の画像は自動で作成されて、org2blog が勝手にアップロードしています。なんだかやり過ぎの感じがしますが、このとんがり具合はすごくないですか?
ちなみに、Graphvizをorgファイル内で実行する場合、 M-x customize-option
で org-babel-load-languages
を開き、 dot
を有効にしてください。