# Plugin: MarkMap

**URL:** <https://discourse.joplinapp.org/t/plugin-markmap/30426>\
**Category:** Plugins\
**Created:** [14 April 2023 20:02 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426 "2023-04-14T20:02:36Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![danielfomin96](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/danielfomin96/32/9053_2.png) [@danielfomin96](https://discourse.joplinapp.org/u/danielfomin96)\
**Post date:** [14 April 2023 20:02 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426/1 "2023-04-14T20:02:36Z")

</div>

Hello everybody,

I would like to present the MarkMap Plugin. It is now possible to show the current note as a mindmap, with the help of the markmap library.

To create the mind map, you just need to click on the diagram icon in the panel to visualize the currently selected note. It is possible to zoom and pan with the mouse, so even large mindmaps can be easily viewed.

Some next steps in the development will be the feature to save the mindmap in SVG and PNG.

The plugin page can be found on [daniel/joplin-markmap: Plugin for joplin that can visualise a markmap from the current note - joplin-markmap - Gitea: Git with a cup of tea](https://git.fomin.site/daniel/joplin-markmap).

Feedback would be welcome!

Thank you and have a nice day

---

<div class="post-metadata">

**Author:** ![pravsripad](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/pravsripad/32/7365_2.png) [@pravsripad](https://discourse.joplinapp.org/u/pravsripad)\
**Post date:** [17 April 2023 16:42 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426/2 "2023-04-17T16:42:27Z")

</div>

Thank you for making this plugin. Very useful. Would it be possible to export it as markmap HTML as well?

---

<div class="post-metadata">

**Author:** ![danielfomin96](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/danielfomin96/32/9053_2.png) [@danielfomin96](https://discourse.joplinapp.org/u/danielfomin96)\
**Post date:** [17 April 2023 19:21 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426/3 "2023-04-17T19:21:05Z")

</div>

Thank you for your feedback! I have now added the export to HTML feature in version 1.0.3. Enjoy 🙂

---

<div class="post-metadata">

**Author:** ![pravsripad](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/pravsripad/32/7365_2.png) [@pravsripad](https://discourse.joplinapp.org/u/pravsripad)\
**Post date:** [17 April 2023 19:39 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426/4 "2023-04-17T19:39:43Z")

</div>

That was insanely fast, thank you !

---

<div class="post-metadata">

**Author:** ![skim1124](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/skim1124/32/7296_2.png) [@skim1124](https://discourse.joplinapp.org/u/skim1124)\
**Post date:** [18 April 2023 01:29 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426/5 "2023-04-18T01:29:29Z")

</div>

Thanks for the nice plugin. Is it possible to make the title of the note the "mother" node? Right now, it seems that the "mother" node comes from Heading 1, correct? For me, it'd work better if the "mother" node came from the title and all the H1 are the secondary branches.

---

<div class="post-metadata">

**Author:** ![danielfomin96](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/danielfomin96/32/9053_2.png) [@danielfomin96](https://discourse.joplinapp.org/u/danielfomin96)\
**Post date:** [18 April 2023 07:02 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426/6 "2023-04-18T07:02:45Z")

</div>

Thank you!  
This is a tricky request since I think that people use the title and the H1 headings differently. Some write a single H1 heading to indicate the title and some use the metadata field from joplin for that and can have multiple H1 headings.  
I think the best solution here is to check whether multiple H1 were used and then set the root node accordingly. Would this work for you?

---

<div class="post-metadata">

**Author:** ![skim1124](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/skim1124/32/7296_2.png) [@skim1124](https://discourse.joplinapp.org/u/skim1124)\
**Post date:** [18 April 2023 08:33 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426/7 "2023-04-18T08:33:24Z")

</div>

What do you mean by "use the metadata field from joplin for that"? Is there another way to name the root node besides the H1 heading? Currently, my notes that are numbered outlines (but not using any headings) have an empty root node which looks odd. Especially for those cases, it'd be great to have the title be the root node. For me, ideally, any note that does not have any H1 headings would simply use the note title as the root node.

---

<div class="post-metadata">

**Author:** ![danielfomin96](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/danielfomin96/32/9053_2.png) [@danielfomin96](https://discourse.joplinapp.org/u/danielfomin96)\
**Post date:** [18 April 2023 10:03 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426/8 "2023-04-18T10:03:50Z")

</div>

With metadata field I meant the note title which can be set outside of markdown.

Thank you for your clarification. I like the idea of replacing the empty root with the note title.  
The implementation will follow. However, I will need to do some restructuring so it will take some more time.

---

<div class="post-metadata">

**Author:** ![skim1124](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/skim1124/32/7296_2.png) [@skim1124](https://discourse.joplinapp.org/u/skim1124)\
**Post date:** [18 April 2023 10:07 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426/9 "2023-04-18T10:07:30Z")

</div>

No problem. Take your time.

---

<div class="post-metadata">

**Author:** ![antoniopaolini](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/antoniopaolini/32/12225_2.png) [@antoniopaolini](https://discourse.joplinapp.org/u/antoniopaolini)\
**Post date:** [20 April 2023 16:42 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426/10 "2023-04-20T16:42:50Z")

</div>

Nice plugin.  
But there's a problem.There's a conflict with kity minder plugin.  
If both are active the markmap plugin button (and menu) recall the other plugin.

---

<div class="post-metadata">

**Author:** ![danielfomin96](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/danielfomin96/32/9053_2.png) [@danielfomin96](https://discourse.joplinapp.org/u/danielfomin96)\
**Post date:** [20 April 2023 19:35 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426/11 "2023-04-20T19:35:29Z")

</div>

@skim1124 Version 1.0.5 is now ready with your requested feature of the note title being the mindmap root.

@antoniopaolini Thank you for your feedback! Please try the newest version 1.0.5. I hope the issue is fixed now.

---

<div class="post-metadata">

**Author:** ![shikuz](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/shikuz/32/21839_2.png) [@shikuz](https://discourse.joplinapp.org/u/shikuz)\
**Post date:** [20 April 2023 20:31 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426/12 "2023-04-20T20:31:29Z")

</div>

Hi @danielfomin96 !

Love this plugin.

When you update the version, remember to update [your manifest file](https://git.fomin.site/daniel/joplin-markmap/src/branch/main/src/manifest.json) as well (it's still declaring v1.0.0), otherwise users don't get your updates, I think.

---

<div class="post-metadata">

**Author:** ![danielfomin96](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/danielfomin96/32/9053_2.png) [@danielfomin96](https://discourse.joplinapp.org/u/danielfomin96)\
**Post date:** [20 April 2023 22:10 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426/13 "2023-04-20T22:10:34Z")

</div>

Thank you!  
Thanks to your remark I have updated the manifest file and now the version will hopefully be shown correctly.

---

<div class="post-metadata">

**Author:** ![studydt](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/studydt/32/8828_2.png) [@studydt](https://discourse.joplinapp.org/u/studydt)\
**Post date:** [25 April 2023 03:15 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426/14 "2023-04-25T03:15:07Z")

</div>

Very nice plugin. 😀  
But there's a problem. When I use dark theme , The font color of this mindmap is black. Can you get it to use Joplin's font configuration?  
And to make a small suggestion, can you add a shortcut key.  
Thanks.

 ![image](https://canada1.discourse-cdn.com/flex028/uploads/cozic/original/3X/d/0/d0e8cddbe9ce8073ecde3241c7d8ea645068a4a7.png)

---

<div class="post-metadata">

**Author:** ![pravsripad](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/pravsripad/32/7365_2.png) [@pravsripad](https://discourse.joplinapp.org/u/pravsripad)\
**Post date:** [25 April 2023 10:15 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426/15 "2023-04-25T10:15:19Z")

</div>

The font color is also an issue I am facing as well.

---

<div class="post-metadata">

**Author:** ![danielfomin96](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/danielfomin96/32/9053_2.png) [@danielfomin96](https://discourse.joplinapp.org/u/danielfomin96)\
**Post date:** [25 April 2023 16:57 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426/16 "2023-04-25T16:57:33Z")

</div>

Thank you @studydt and @pravsripad! The newest version now uses the joplin color schemes and can be triggered by a shortcut key (Per default Ctrl/CMD + Shift + M).  
New changes:

```auto
Version 1.1.0

Changelog:

    - Adhere to joplin color schemes
    - Export to SVG
-----------------------------------------------------------

Version 1.2.0

Changelog:

    - Hotkey functionality (Default: Ctrl/CMD + Shift + M)

```

---

<div class="post-metadata">

**Author:** ![skim1124](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/skim1124/32/7296_2.png) [@skim1124](https://discourse.joplinapp.org/u/skim1124)\
**Post date:** [26 April 2023 01:27 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426/17 "2023-04-26T01:27:56Z")

</div>

Thanks! Works perfectly.

---

<div class="post-metadata">

**Author:** ![studydt](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/studydt/32/8828_2.png) [@studydt](https://discourse.joplinapp.org/u/studydt)\
**Post date:** [26 April 2023 03:17 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426/18 "2023-04-26T03:17:16Z")

</div>

Good, The font has no problem, It is useful.  
Today, I find a Strange bug. when I write text , such as ```java ```.  
# test  
```java  
test  
```  
The console has error.

```auto
Uncaught (in promise) TypeError: hr(...) is not a function
    at Function.highlight (/D:/Note/Joplin/tmp/plugin_de.fomin.markmap.js:15)
    at Object.rt.fence (/D:/Note/Joplin/tmp/plugin_de.fomin.markmap.js:11)
    at it.render (/D:/Note/Joplin/tmp/plugin_de.fomin.markmap.js:11)
    at mi.buildTree (/D:/Note/Joplin/tmp/plugin_de.fomin.markmap.js:15)
    at mi.transform (/D:/Note/Joplin/tmp/plugin_de.fomin.markmap.js:15)
    at e (/D:/Note/Joplin/tmp/plugin_de.fomin.markmap.js:15)
    at async EventEmitter.<anonymous> (services/plugins/plugin_index.js:92)

```

But I use [markmap vscode plugin](https://github.com/markmap/markmap-vscode) and [markmap Website](https://markmap.js.org/) , It is no problem.

---

<div class="post-metadata">

**Author:** ![danielfomin96](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/danielfomin96/32/9053_2.png) [@danielfomin96](https://discourse.joplinapp.org/u/danielfomin96)\
**Post date:** [27 April 2023 10:21 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426/19 "2023-04-27T10:21:15Z")

</div>

This was really a strange bug however I found out that this bug is part of the markmap-lib library. I fixed it in the joplin markmap plugin in version 1.3.0. Here is the changelog:

```auto

Version 1.3.0

Changelog:

    Save to PNG
    Fix: code fences with language highlighting sometimes crashed the plugin

```

---

<div class="post-metadata">

**Author:** ![danielfomin96](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/danielfomin96/32/9053_2.png) [@danielfomin96](https://discourse.joplinapp.org/u/danielfomin96)\
**Post date:** [28 April 2023 11:15 UTC](https://discourse.joplinapp.org/t/plugin-markmap/30426/20 "2023-04-28T11:15:01Z")

</div>

I have now also added the feature to add the mindmap to the current markdown note:

```auto
Version 1.4.1

Changelog:

    Feature: Save to note (replace existing markmap in note if necessary)

```

If the mindmap already exists in the note, it will be replaced by the newest version.

[Next page](https://discourse.joplinapp.org/t/plugin-markmap/30426.md?page=2)
