如何将org-mode导出为freemind思维导图

缘起

身边基本没有人用org-mode但很多人在用思维导图,有时候分享思想时,就想会要用到思维导图给别人。但我又不想重新在思维导图软件里再做一次,查了一下,是可以将org-mode格式导出为freemind思维导图格式的。

关于思维导图软件freemind和freeplane

思维导出的软件有很多,freemind应该是比较早的开源免费替代,但是是这个软件更新得比较慢,现在(2022年7月)看到最新的一版是2014年的,似乎每3年才有一次更新。而另一个分支版本freeplane更新得比较快,这两个软件生成的文件格式都是 .mm 后缀,具体用哪个大家自己试用了看吧。

具体操作

首先先要安装 org-contrib 了解了一下,这个包是将原来 org 包中不常用的插件分离了一些出来。安装完成后

(require 'ox-freemind)

如果顺利的话,完成上述两步就在导出菜单中看到导出为freemind格式了。

自定义配置

;;把heading下的文字变成一个node,默认是note

 (setq org-freemind-section-format 'node)
 ;;导出node的格式设置

 (setq org-freemind-styles
  '((default . "<node>\n<font NAME=\"更纱黑体 SC Semibold\" SIZE=\"20\"/>\n</node>")
     (0 . "<node COLOR=\"#000000\">\n<font NAME=\"更纱黑体 SC Semibold\" SIZE=\"20\"/>\n</node>")
     (1 . "<node COLOR=\"#0033ff\">\n<edge STYLE=\"horizontal\" WIDTH=\"4\"/>\n<font NAME=\"更纱黑体 SC Semibold\" SIZE=\"18\"/>\n</node>")
     (2 . "<node COLOR=\"#00b439\">\n<edge STYLE=\"horizontal\" WIDTH=\"thin\"/>\n<font NAME=\"更纱黑体 SC Semibold\" SIZE=\"16\"/>\n</node>")
     (3 . "<node COLOR=\"#990000\" FOLDED=\"true\">\n<font NAME=\"更纱黑体 SC Semibold\" SIZE=\"14\"/>\n</node>")
     (4 . "<node COLOR=\"#111111\">\n<font NAME=\"更纱黑体 SC Semibold\"/>\n</node>")))

波折

org-contrib 是要另外安装的,我本来尝试下载 org-contrib 后,只将其中的 ox-freemind.el 文件拿出来,单独使用,结果各种报错,随后想索性直接安装 org-contrib 吧,后来又想,既然这样,再把 org 也更新到最新版吧。 结果发现,还是有坑,详见:如何更新org-mode

海上一民工