A remark plugin to insert mindmap in markdown. Simply insert a code block in markdown to render the mindmap.
More preview in my blog.
Depend on markmap. Inspired by hexo-markmap.
pnpm install remark-markmapnpm install remark-markmapyarn add remark-markmap{ darkThemeSelector: () => document.documentElement.matches('.dark') || (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) }darkThemeSelector: A function used to determine whether the current page is in dark mode. It can return either astringor aboolean. When it returns astring, for exampledarkThemeSelector: () => '[data-theme="dark"]', it means it is equivalent todocument.documentElement.matches('[data-theme="dark"]').
The frontmatter integrates style and jsonOptions(markmap).
id: markmap-example markmap: colorFreezeLevel: 2-
id: Set the id to control single markmap-wrap (such as set style) -
markmap/options: Correspond to theIMarkmapJSONOptionsin the markmap project. For more details, please refer tojsonOptions.
Say our document contains: example.md
Some text... ````markmap --- id: markmap-example 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...Use the remark-markmap plugin in example.js:
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));Then you can get the renderd html.
See example branch
Or clone example branch
git clone -b example https://github.com/coderxi1/remark-markmap remark-markmap-example