電卓片手に

Octopress/Jekyll でテキストだけでグラフを書くプラグイン作った

投稿日:

Octopress や Jekyll を使って、markdown などでブログエントリ書くことで、 謎ショートカットキーなどを使わないとテキストの修飾が出来ずセマンティックな 情報が失われがちで、ひどいソースコードを垂れ流す WYSIWIG から解放された。

しかし、簡単な有向グラフを用いてフロー図書いたりするには、結局、ペイント など画像編集ソフトや Office ソフトなどに頼る必要があり、キーボードから 手を離す機会が増えて大変苦痛だった。

なので、テキストベースで有向/無向グラフが作成できる Graphviz を、Octopress で利用できるような プラグインを作成した。

kui/octopress-graphviz

サンプル

こう書く:

{% graph 無向グラフサンプル %}
a -- b
b -- c
c -- a
{% endgraph %}

そうすると、Octopress はこんな感じのグラフに置換してくれる:

無向グラフサンプル graph "無向グラフサンプル" { a -- b b -- c c -- a } 無向グラフサンプル a a b b a--b c c b--c c--a

有向グラフも書ける:

{% digraph 有向グラフサンプル %}
a -> b -> c -> a -> c
{% enddigraph %}

こうなる:

有向グラフサンプル digraph "有向グラフサンプル" { a -> b -> c -> a -> c } 有向グラフサンプル a a b b a->b c c a->c b->c c->a

インストール方法は kui/octopress-graphviz を参考にしてみてください。

特徴としては:

といったところでしょうか。

こういうようなこと もできる:

わいせつな画像!! digraph "わいせつな画像!!" { a [label="仕事のストレス"] b [label="わいせつなビデオを見る"] c [label="わいせつなビデオを見る"] d [label="わいせつなビデオを見る"] e [label="わいせつなビデオを見る", shape=tripleoctagon] a -> b -> c -> d -> e a -> c -> e [style=invis] } わいせつな画像!! a 仕事のストレス b わいせつなビデオを見る a->b c わいせつなビデオを見る b->c d わいせつなビデオを見る c->d e わいせつなビデオを見る d->e

これでわかるように Graphviz は細かいノード配置調節は苦手だったりします。