依赖于 markmap,灵感来自 hexo-simple-mindmap。
在你的博客中使用 markdown 插入思维导图,使用 markmap。
现已经支持 链接、代码块、markdown、KaTeX、多行代码语法的渲染!
多行代码仍有一定渲染问题,可能出现报错。
更多预览和说明见 我的博客.
pnpm add hexo-markmap -D
npm install hexo-markmap --save-dev
yarn add hexo-markmap -D
{% markmap height [depth] %}
- Markdown
- Syntax
{% endmarkmap %}
height
: 画布高度depth
: 可选,自动折叠层数深于depth
的节点
{% markmap 400px %}
- links
- **inline** ~~text~~ *styles*
- multiline
text
- `inline code`
- ```js
console.log('code block');
console.log('code block');
```
- KaTeX - $x = {-b \pm \sqrt{b^2-4ac} \over 2a}$
{% endmarkmap %}
将相应内容追加到 config.yml 中。
约定大于配置,如果你不需要以下某个功能,那么无需添加该配置项。
默认情况下,他可以很好的正常工作。每个选项都有缺省项。
默认值 false
hexo_markmap:
pjax: true
如果你的博客安装了 pjax 请开启此项配置。
默认值 false
hexo_markmap:
katex: true
如果你需要使用
如果你同时装有
mathjax
,也请打开此项。
默认值 false
hexo_markmap:
prism: true
如果需要插入代码块,请开启此项配置以插入 CSS 文件。如果博客本身已经通过其他方式配置 prism 则无需开启.
hexo_markmap:
userCDN:
d3_js: https://fastly.jsdelivr.net/npm/d3@6
markmap_view_js: https://fastly.jsdelivr.net/npm/markmap-view@0.2.7
katex_css: https://fastly.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.css
prism_css: https://fastly.jsdelivr.net/npm/prismjs@1.25.0/themes/prism.css
默认值 false
关闭视图的放缩(zoom)、平移(pan)功能。
hexo_markmap:
lockView: true
默认值 false
由于未知原因,在一些 hexo 主题下(如 hexo-theme-volantis),加载页面的过程中, markmap 会报错 Error: <g> attribute transform: Expected number, "translate(NaN,NaN) scale(N…".
。
这是由于 d3.js 的 zoom 事件返回了 NaN
值的 x, y, k 属性。由于这是一个上游问题,原因暂时未知,目前通过比较脏的补丁方法来修复此问题,无论开启与否,该问题均不会影响正常使用。
hexo_markmap:
fixSVGAttrNaN: true
hexo_markmap:
pjax: false
katex: false
prism: false
userCDN:
d3_js: https://fastly.jsdelivr.net/npm/d3@6
markmap_view_js: https://fastly.jsdelivr.net/npm/markmap-view@0.2.7
katex_css: https://fastly.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.css
prism_css: https://fastly.jsdelivr.net/npm/prismjs@1.25.0/themes/prism.css
lockView: false
fixSVGAttrNaN: false
感谢所有的贡献者🥰!