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-markmap
npm install remark-markmap
yarn 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 astring
or 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 theIMarkmapJSONOptions
in 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