在 Hexo 中使用思维导图
前言
最近一直想把一些思维导图放在博客上,然而找了很久没有发现可以用的 Hexo 插件。无意间发现百度脑图的开源库 kityminder 很不错,研究了一段时间最终实现了想要的效果。
更新
已经打包成 Hexo 插件,方便你我他,感兴趣的请戳 Hexo 的思维导图插件。
已经打包成 Hexo 插件,方便你我他,感兴趣的请戳 Hexo 的思维导图插件。
已经打包成 Hexo 插件,方便你我他,感兴趣的请戳 Hexo 的思维导图插件。
操作指南
准备需要的文件
- jquery.min.js:通常情况下不需要另外准备
- kity.min.js:官方库
- kityminder.core.min.js:官方库
- mindmap.css & mindmap.min.js:我已经放到 GitHub
为主题添加 CSS/JS 文件
以 Next 主题为例:
- 将 JS 文件放入
themes\next\source\js\src
目录下 - 更改
mindmap.css
为mindmap.styl
,放入themes\next\source\css\_custom
- 编辑
themes\next\source\css\_custom\custom.styl
,添加@import "mindmap"
- 编辑
themes\next\layout\_scripts\commons.swig
中的js_commons
,添加所需的 JS 文件
简单测试
使用 hexo s
,然后访问 localhost:4000
并打开开发者工具,如果没有报错信息,基本说明操作成功。
使用方法
使用 Hexo 的 pullquote 将思维导图的内容包裹起来,mindmap
是思维导图渲染的标志,尺寸有三种规格:mindmap-sm
、mindmap-md
和 mindmap-lg
。
思维导图的内容和层级关系通过无序列表表示,支持基本的文字和超链接。举个例子,撰写文章时在需要的位置添加如下内容。
1 | {% pullquote mindmap mindmap-md %} |
会得到如下的思维导图,尽管功能还比较简陋,但是满足了我的使用需求 —— 将知识点以脑图的形式记录在博文中。如果有时间,后续会考虑思维导图的美化和实现缩放操作等等。
当我做完这个,我发现和「幕布」的核心功能神吻合 —— 将无序列表渲染成思维导图。或许我也可以改进下代码,然后搞一个完全免费版的「幕布」,岂不是美滋滋?
大佬,思维导图链接可以支持站内文章引用吗?使用{% post_path filename %}语法进行站内引用的时候只会显示渲染完成的a标签
测试在初始化的主题只安装插件可以正常渲染出效果。目前采用themes/yilia 不适配,对前端不懂,还希望给个参考教程
@很不错 , 根据文章源码–hexo文档目录结构–javascript原理–分析–安装完作者插件–
还是希望有人能把此方案思想傻瓜式的做全面。毕竟云计算一枚搞前端个站好难
在themes/yilia/layout/_partial/after-footer.ejs 中–
添加 <%- js(‘js/jquery-3.4.1.min.js’) %> 字段局部引用。
jquery-3.4.1.min.js放到主题目录themes/yilia/source/js/jquery-3.4.1.min.js 。
感谢作者给的实现参照,剩余就是考查个人能力来适配了!!!!
@自修解决 , 已移除Jquery依赖
学到了
大哥!思维导图很好用,能插入Latex公式吗?!
@haoyufang , 暂时不支持哦
@HunterX , 您好,请问一下,思维导图除了超链接的支持,可以支持页面内跳转吗?比如点击就可以跳转到本页的“使用方法”
博主,你好,我按照你的教程,思维导图是渲染成功了,但是F12检查元素,发现,画布区域的宽度是41%,导致显示只有一半,因为是安装的插件,所以好像不知道怎么改
您知道怎么回事吗
@Anonymous , 我之前也是只有45%,主题是ayer,右键点开检查,可以看到
main.css文件里
.article-entry .pullquote {
text-align: left;
width: 45%;
…..}
改了一下width:100%就行了
@haoyufang , 宽度是可以改变了,但是会出现两个脑图区域,一个 正常的,一个被镶嵌在页面中,怎么解决,有遇到过吗
@haoyufang , 看起来好心烦
很强
但我觉得实际使用的时候还是转换成PDF更方便,也更顺畅 
已经用上了,多谢!😀
看了你的文章觉得很有帮助,超级感谢!
想问一下怎样设置思维导图默认是不展开的呢?
@Anonymous , 有兴趣可以看看这个命令:https://github.com/fex-team/kityminder-core/wiki/command#expandtolevel
请问可以调节画布的大小吗?现在太灵活了,稍不留神划拉一下,导图就找不到了。。
@且听风吟 , 看下这里,有预留三款大小:
https://github.com/HunterXuan/unordered-list-to-mind-map/blob/master/mindmap.css#L95
@HunterX , @HunterX
按照您的回复调整了下,然鹅还是没有达到预期的效果。
可能是我表达的不清楚 ( ̄▽ ̄)”,没法贴图,还是尽量文字描述一下吧:
之前留言里面的「画布」,指的是您拖动导图(比如左右上下)滑动的那个空间,不是外部那个框。
说下思路:
不太了解前端,我用开发者工具看了下,应该是 translate 的 transform 参数控制的??
@且听风吟 , 噢!懂你意思了,你说的这个我没有尝试过😅
谢谢,已经用上了,很好用
@且听风吟 , 你好,请问解决了那个调整画布,我也有这个想法,但是不知道怎么解决
v1.4.14