remark-markmap
一个 remark 插件,用于在 markdown 中插入思维导图。只需在 markdown 中插入代码块,即可渲染思维导图。
更多预览请前往 我的博客.
依赖于 markmap。灵感来自于 hexo-markmap。
pnpm install remark-markmap
npm install remark-markmap
yarn add remark-markmap
插件选项
标题为“插件选项”的部分{ darkThemeSelector: () => document.documentElement.matches('.dark') || (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches)}
darkThemeSelector
: 一个函数,用于判断当前页面是否处于暗黑模式。它可以返回一个string
或boolean
。当返回string
时,例如darkThemeSelector: () => '[data-theme="dark"]'
,等价于document.documentElement.matches('[data-theme="dark"]')
。
Frontmatter 选项
标题为“Frontmatter 选项”的部分Frontmatter 集成了 style 和 jsonOptions(markmap)。
id: markmap-examplemarkmap: colorFreezeLevel: 2
-
id
: 设置 id 以控制单个 markmap-wrap(例如设置样式) -
markmap
/options
: 对应 markmap 项目中的IMarkmapJSONOptions
。更多详情请参考jsonOptions
。
假设我们的文档包含: example.md
some text...
````markmap---id: markmap-examplestyle: | #${id} { height: 300px; width: 100%; }options: colorFreezeLevel: 2---- 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}$````
some text...
在 example.js
中使用 remark-markmap
插件:
import { read } from 'to-vfile'import { remark } from 'remark'import remarkMarkmap from 'remark-markmap'
const file = await remark() .use(remarkMarkmap) .process(await read('example.md'))
console.log(String(file));
然后你就可以得到渲染后的 html 文本。
查看 example 分支
或者 clone example 分支
git clone -b example https://github.com/coderxi1/remark-markmap remark-markmap-example