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

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

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

出力ここから


org-modeの特徴

アウトラインモード

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

豊富なパッケージ

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

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

内容は適当です。

/assets/2015/org-mode/dot.png


出力ここまで

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

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