维基站已经建成很长一段时间,图书库也基本能运作了(参见《用MediaWiki建立一个图书库》,于是就想着如何把读书笔记放到上面,最好是能够提交思维导图。
从十几年前第一次看到有人用导图整理笔记就喜欢上了这种方式,也时不时地会把一些读书笔记做成脑图。只是近些年越来越懒,加之各类软件动不动收费,兴趣也就逐渐淡了。
近来常想,如果能在维基站中插入思维导图,没准我会更认真地读书(请容许我的自我安慰),无奈找了一圈也没有太合适的扩展。最早玩MindManager的时候还能导出为swf文档,可惜flash没落,也没什么用了。其他导出为图片也好、PDF也罢都没啥多大用,浏览起来并不方便。
直到我发现了Markmap,并将其引入到维基站中,才算是达到了我想要的效果。先看看效果:
MarkMap.gif

什么是Markmap?

markmap.png

正如官网中的介绍,它取自于MarkDown的前半部分和MindMap的后半部分,实现的正是MarkDown可视化成脑图的功能。

try-it-out.png

通过try it out的链接,我们可以测试它的功能,开篇演示的动画就用的上述MarkDown代码。点击右下角的两个链接,我们能以HTML代码和SVG的方式下载到本地(前者效果跟浏览的一样,因为有js代码加持;而后者因为是图像,所以虽然可以无损缩放,但不能进行节点的收缩和展开)。

如何在MediaWiki中运行Markmap?

你可以安装在本地(可惜我不会,因为我完全没有js的概念),唯一让我欣慰的是作者提供了代码调用。所以理论上我只要能够在MediaWiki中调用外部js就能实现转化,从思路上来说应该没错(如何实现js的调用请参考另一篇文章《如何在MediaWiki中调用外部js》,这里就不赘述了)。

调试效果

这是整个环节中最最让人抓狂的部分,因为wikitext和MarkDown语法有一定的区别,#在两种语法中分别代表了列表和标题。为此我甚至还安装了WikiMarkdown扩展,但不管我怎样调整语法和格式,结果还是令人遗憾。
难道只能就此放弃?以插入图片告终?直到我用以下代码测试的时候:

# 标题
- - 测试
- 测试1 - 测试2 -测试3

# 标题
 -测试

- 标题
-- 测试1
--- 测试2

-
标题
 - 测试1

效果如下:
markmap-test.png

有分叉而且能够收缩,所以说明识别了部分代码,但是分叉的毫无规律可言。
继续测试的过程略过,直接说结果,就是当所有MarkDown的内容以预排格式(也就是被包围在<pre></pre>之间)保存,Markmap就能正确识别。
现在唯一要考虑的就是,这样放上去的脑图很容易被白嫖,不过作为知识共享而生的MediaWiki,似乎开放给所有人才是王道。
本人水平有限,以上只是测试的思路,仅供参考。

最后修改:2022 年 05 月 27 日
如果觉得我的文章对你有用,请随意赞赏