vsch / idea-multimarkdown

Markdown language support for IntelliJ IDEA.
https://plugins.jetbrains.com/plugin/7896-markdown-navigator
Apache License 2.0
815 stars 127 forks source link

Suggestion: Option add a generated a tree view of files and folders to HTML export #739

Open Jelmerb opened 5 years ago

Jelmerb commented 5 years ago

It would be nice to have the option to add a generated tree view of all markdown files (optionally nested in folders) to the HTML export as an aside, just like in GitHub and GitLab . Right now I create my own breadcrumbs at the top of the wiki pages, which works for basic navigation, but if you have a lot of pages and a lot of directories it can be hard to track where you are. I don't know if this is something other are interested in too. Just a suggestion.

vsch commented 5 years ago

@Jelmerb, can you please clarify what you mean. I don't understand how what you are asking is different from the IDE project view for Wiki project.

Why is it hard to track where you are? You can always use the Scroll from source in project view to locate the current file in the project view.

Jelmerb commented 5 years ago

I meant a tree view in the HTML export. Let me clarify with an example:

Screen Shot 2019-04-17 at 11 35 15

I created this HTML export with markdown-folder-to-html. Unfortunately this tool doesn't do a good job of converting markdown to html, so for that I rely on Markdown Navigator. As you can see the tool creates a tree view of all the wiki pages as a sidebar. When I have a static website for offline viewing this would be a nice way to navigate around the site. Because the Gitlab server at our organisation is not accessible from the outside, I have to share our documentation as a static website with others.

vsch commented 5 years ago

@Jelmerb, thank you for the clarification. I understand the use case.

I am hesitant to add extra complexity to the plugin for generating HTML while the goal for the plugin is to provide editing, refactoring and preview for markdown to HTML processing.

One option is to create a stand-alone tool for generating HTML from markdown using Java. Then you can use the same library for markdown processing as used by the plugin: flexmark-java.

A simpler option would be to modify your existing tool to insert/replace the nav panel in existing HTML documents based on markdown source. That way you can use the plugin export for generating the HTML and your tool to update the navigation bar.

I will give this feature some thought and see if I can come up with a way to add this functionality in a generic way through an extension point or minimal configuration leaving all customization up to user defined CSS..

Jelmerb commented 5 years ago

Thanks for looking into this. I completely understand, no problem. Although your second suggestion doesn't sound like a hard thing to achieve, unfortunately I don't have the time right know to make this work.

I'll just watch this thread, and hopefully other people can upvote this suggestion. If not, no worries. We can't always get what we want. You have been a big help anyways.

vsch commented 4 years ago

@Jelmerb, one solution that can be easy to implement would be an option to invoke an IDE action after export is performed for a file or all files.

You can make that action do anything including launch external tools or batch scripts to process the exported file directory and create the side panel.

That way the export does not have to concern itself with any post processing and there is no limit to what that post-processing can do.