XMindのHTMLファイルをorg-modeで編集したい
XMindとorg-modeの出会い
僕はマインドマップツールのXmindを使っていて、
- 考えをまとめるツール
- 何か文章やレポートなどを書く時の下書きツール
として愛用しています。
余談ですが、Pro版を買うと(Windows環境のみですが)WordやPowerPointに直接はき出せて便利です。
ブレスト(ブレインストーミング)・マインドマップ作成ソフトウェア XMind [エックスマインド]
一方で、Emacsのorg-modeにも手を染めようとして色々格闘しています。
アウトラインエディタの一種として使えますが、色々すごい機能があって何がなんやら状態です。
こちらは、本格的な文章を書くときに使おうとしています。
OrgMode - Emacs上のアウトライナー
快適な執筆環境を作るために、この二者をうまく組み合わせたくなりました。つまり、
- XMindで下書きする
- org-modeで文を執筆する
という手順を踏みたいのです。
障害となるのが、XMindで作ったマインドマップをorg-modeに変換するときです。
通常は手打ちでやる必要があるのですが、自動化したいので以下の手順を考えました。
- XMindで考えをまとめる
- XMindマインドマップをHTMLにエクスポートする
- HTMLをorg文書に変換する ←今回の主題
- org-modeで文を執筆する
xmind_html_to_org
HTML->orgの変換ツールがないか検索してみましたが、どうやら無いようなので自分で作りました。
xmind_html_to_org.rbという、簡単なrubyスクリプトです。
sky-y/xmind_html_to_org · GitHub
使い方
ruby xmind_html_to_org.rb filename.html
やること
- h1, h2, h3タグで囲まれたテキストを抜き出す
- それぞれ頭に *, **, *** (見出し記号)を付けて吐き出す
XMindが吐き出すHTMLしか相手をしないので、かなり単純です。
例
1. XMindでマインドマップを作る
これを例にします。
てすと - sky_y0079 - XMind: Professional & Powerful Mind Mapping Software
2. HTMLファイルにエクスポートする
File->Export... で HTML を選択します。
オプション類はお好みで(後の動作にはたぶん影響しない)。
ここではファイル名は test.html とします。
3. xmind_html_to_org.rbで HTML -> Orgファイル に変換する
ruby xmind_html_to_org.rb test.html
4. test.orgが出力されるので、Emacs org-modeで開く
たぶん、こんな感じのテキストになっているはずです。
* てすと ** Hoge *** ほげ *** ほげほげ ** Fuga *** ふが *** ふがふが ** Homu *** ほむ *** ほむほむ
余談
なお、今回初めてgithubを使ってみました。
git自体は使った事があったので、割とスムーズに導入できました。