A markdown outline sidebar plugin for Joplin

https://github.com/cqroot/joplin-outline .

A toc sidebar plugin for joplin.

Modify from https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/toc/

Fixed the problem that # in the code block would be abnormally matched and simply adjusted the style.

I will continue to optimize it in the future, and everyone is welcome to try and submit issues.



Awesome! If add a hide/expand button would be perfect? Just suggest.


This is already in the plan. I will finish it as soon as possible.


Wait for this


Hi @cqroot, I'd like to have the "-" symbol on every entry in the Outline bar, as it will be easier for me to identify the different entries when the headers are long.
Actually this is what happens when you add the [TOC] at the beginning of any note, it creates the entries with and small circle at the beginning of each entry in the index.

My question/request is, where do I have to do the change in your code for this to happen? Or even better, if you consider this an improvement, you can add it into your code directly :slight_smile:


I will consider adding your needs to the settings.

1 Like

Anyone running this plugin with Joplin v1.6.6?

Clicking on a header in the outline no longer takes me to the header in the note.

Joplin 1.6.6 (prod, win32)

Downgraded to 1.6.4 and this plugin works.

There is a bug, and I am looking for the reason. Thank you for your feedback.

1 Like

A couple of @ ambrt's plugins were also broken by the update. Those, like your plugin, work in Joplin v1.6.4

1 Like

joplin 1.6.7 fixed it.

1 Like

Sweet. At least a couple of other plugins that were affected by 1.6.5 and 1.6.6 are now also working in 1.6.7.

This is a phenomenal plugin, thanks a lot! :heart: I'm also eagerly waiting for the function to hide/expand the toc pane.

Thanks for this! It would be cool to have a settings in this plugin to hide the TOC in the app, since having the TOC inline generally messes up the alignment between headers. I added this to my userstyle.css

nav.table-of-contents {
    display: none;
1 Like

By "TOC in the app", are you referring to having [toc] in the note?

If so, why bother including [toc] in the note since this plugin will work without it? External markdown editors with outline view such as Typora also don't need [toc] in the note to create an outline view, so I'm trying to understand the use case - I guess would be useful for notes you want to print/present or give to someone else to have a rendered ToC at the top.

Whoops, I didn't realize this! All my notes already had a TOC in them, so I wrongly assumed that it was needed to make it work. I'll remove them on my side.

1 Like

While I like the convenience of this plugin for skipping the need to write [toc] in each document. I'm conflicted, because on one hand I also miss the restyling flexibility of the build-in toc. Users on this forum already got their CSS creativity flowing and made several sliding toc menu's, which is an overlay on top of the reading panel. I think an option in the plugin to enable the legacy toc for each document would pretty much fill in that niche. (i.e. inject [toc] to the document)

If any of the headers are links to another note, this plugin will show the note title AND the address (i.e., it will show what the markdown view shows). Might be preferable to show just the note title (i.e., the rendered view) as showing the address in the outline serves no purpose, and looks ugly to boot.

Got it. Thanks.

1.0.6 supports it.