意識の高いLISPマシン

藤原惟/すかいゆき(@sky_y)の技術用ブログ

XMorgDown:マインドマップをOrgやMarkdownに変換するスクリプト

XMindのマインドマップ(.xmind)をPandoc経由でいろんなドキュメント形式に変換するRubyスクリプトを作りました。

ダウンロード先:sky-y/xmorgdown · GitHub

Pandocで出力できるドキュメント形式

Pandoc - About pandoc より引用

HTML formats: XHTML, HTML5, and HTML slide shows using Slidy, Slideous, S5, or DZSlides.
Word processor formats: Microsoft Word docx, OpenOffice/LibreOffice ODT, OpenDocument XML
Ebooks: EPUB
Documentation formats: DocBook, GNU TexInfo, Groff man pages
TeX formats: LaTeX, ConTeXt, LaTeX Beamer slides
PDF via LaTeX
Lightweight markup formats: Markdown, reStructuredText, AsciiDoc, MediaWiki markup, Emacs Org-Mode, Textile

必要なライブラリ・ソフトなど

  • Ruby 1.9.3 以上
    • rvmの使用をおすすめします
  • Pandoc 1.9.4.2 以上
    • インストール方法はこちらを参照: Pandoc - Installing
    • いずれかの方法でインストールできます:
      • cabal を使ったインストール (Haskell Platform使用、個人的におすすめ) or
      • Pandoc Package Installer (Haskell Platform不使用)
  • Nokogiri (RubyXMLパーサ)
    • インストール方法はこちらを参照: Nokogiri
    • homebrew 0.9 は問題があるので、上記のURLを読んでください
  • zipruby (winebarrel / Zip/Ruby / wiki / Home — Bitbucket)
    • 以下のコマンドでインストール: gem install zipruby
    • rvm使用時に動作しない場合は、rvmのバージョンをよく確認してください

使い方

$ ruby XMorgDown.rb [options] input.xmind
    -o, --output FILE                出力ファイル名
    -t, --to=FORMAT                  出力フォーマット: markdown, org, html, latex, rst,  ... 
    -w, --write=FORMAT               同上
        --pandoc-options=OPTIONS     Pandocのその他のオプション ("--atx-headers"のように二重引用符でくくってください)
    -h, --help                       簡単なヘルプ
  • フォーマットとPandocのオプションについては以下を参照:

使用例

サンプルファイルは samples/ ディレクトリにあります。

Example 1 (寿限無)
ruby XMorgDown.rb -t markdown -o test1.md samples/test1.xmind --pandoc-options="--atx-headers"
  • Markdown形式(ATX-headeredスタイル)の"test1.md"を生成します

テスト用ファイル

  • 元のXMindファイル: test1.xmind (test1.png as image)
  • サンプル出力 (Org File): test1.org
  • サンプル出力 (Markdown File): test1.md
オフ&#12442;ション "--atx-headers"の意味: HTMLヘッタ&#12441; "<h1>" と "<h2>" に相当するMarkdown出力として # と ## を使ったスタイルを使います
    • これを付けない場合は、下線を使ったヘッダ形式がデフォルトになります
Example 2 (Lorem Ipsum)
ruby XMorgDown.rb -t org -o test2.org samples/test2.xmind
  • Org-modeスタイルの"test2.org"を生成します


テスト用ファイル

  • 元のXMindファイル: test2.xmind (test2.png as image)
  • サンプル出力 (Org File): test2.org
  • サンプル出力 (Markdown File): test2.md