_E2D6996.jpg

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ファイルを活用しまくるパッケージが標準で搭載されている。
 ** 強力なフォーマット変換。コマンドの実行結果がそのまま組込まれる。
 内容は適当です。
 #+BEGIN_SRC dot :file dot.png :exports results
 graph G {
   subgraph clusterA {
     emacs -- lisp;
     subgraph clusterC {
       orgmode -- org2blog;
     }
   }
   subgraph clusterB {
     "OS X" -- emacs
   }
 }
 #+END_SRC
 #+RESULTS:

テキストデータを Graphvizdot というコマンドに引きわたして、得られた結果の画像を自分自身に貼り付けています。これがorgフォーマットからHTMLへ変換するときに自動で処理されるのです。

このエントリー自体、org2blogというパッケージで、EmacsのorgファイルからWordPressに投稿しています。この投稿のさいに自動で、画像も作成されてアップロードまで完了しているのです。以下がその結果です。

出力ここから


org-modeの特徴

アウトラインモード

Emacs自体の強力な編集機能との相乗効果で、超強力なアウトラインモードを実現している。

豊富なパッケージ

タスク管理、メモ取りなどorgファイルを活用しまくるパッケージが標準で搭載されている。

強力なフォーマット変換。コマンドの実行結果がそのまま組込まれる。

内容は適当です。

dot.png


出力ここまで 上の画像は自動で作成されて、org2blog が勝手にアップロードしています。なんだかやり過ぎの感じがしますが、このとんがり具合はすごくないですか?

ちなみに、Graphvizをorgファイル内で実行する場合、 M-x customize-optionorg-babel-do-load-languages を開き、 dot を有効にしてください。