Editable Popover and Exportable Markdown Mindmap

20240916

Chore

  • All code used to be in a single JS file for users to modify it regardless of their environment. Now, it’s split into multiple JS files and built for better organization.

Mindmap

  • Supported Magic Comments. See Magic Comments - markmap docs

  • Compatible with list headings since I noticed some people use this format.

    - ## List heading
        - like this
    
  • Set mmView.navigation to false, as it feels better.

Popover

  • For those wanting to write an editable popover in Ob, a conflict with the Excalidraw plugin causes an error (non-fatal) if you select “More options - Delete file” in the popover’s top-right menu. The author of that plugin avoided it by checking app.plugins.plugins['obsidian-hover-editor'].

    Currently I use Proxy. Since Ob itself detects through hasOwnProperty(), this ensures that the Setting - Community plugins panel can be loaded correctly while being compatible with Excalidraw. Glad to see better solutions.

    app.plugins.plugins = new Proxy(app.plugins.plugins, {
      get: (target, prop)=> !!(prop == 'obsidian-hover-editor')||target[prop]
    })
    
  • But starting from 1.7.0, the Core plugin Page preview became editable. I guess fewer people may want customizations going forward.
    Having updated to 1.7.4, I feel the built-in editable feature still has a lot of room for optimization …

20241230

  • Better export.
  • Packaged markmap to the latest 0.18.

Additionally, would be greatly appreciated any related ideas regarding the limitations mentioned in #1.