Skip to content

Releases: markmap/markmap

v0.18.0

19 Dec 06:31
Compare
Choose a tag to compare

Breaking Changes

  • Node Data Type Change: The data of each node now uses the INode type instead of FlextreeNode<INode>. Ensure your implementation is updated to handle this change.

  • Asynchronous mm.setData: The mm.setData method is now asynchronous. If your code depends on the rendered DOM of markmap, you must await the promise returned by mm.setData. For example:

    await mm.setData(root);
    mm.fit();

Notable Changes

  • Render Efficiency: Enhanced rendering performance by eliminating the test round rendering process.
  • Size Detection: Improved size detection accuracy by adding ResizeObserver for rendered nodes.
  • Active Node Highlighting: Automatically highlights the active node for better user interaction.

Full Changelog: v0.17.2...v0.18.0

v0.17.0

21 Apr 16:17
Compare
Choose a tag to compare

Notable Changes

  • Added dark mode
  • Display doc title as root node if no root node exists

Breaking Changes

  • Switched to markdown-it because it is more popular and actively maintained. Plugins may need to be adjusted accordingly.

v0.15.0

16 Jul 14:16
Compare
Choose a tag to compare

Features

  • Added offline mode for the downloaded HTML so it could work without Internet connection
  • Added custom URL builder to easily switch between different CDNs or self-hosted assets
  • Switched from Prism.js to highlight.js for better esm/bundler support

Breaking Changes

  • Dropped CJS for markmap-view and markmap-cli

Toolbar

// Old
const el = Toolbar.create(mm);

// Now
const toolbar = Toolbar.create(mm);
const { el } = toolbar;

v0.14.0

21 Jul 12:02
Compare
Choose a tag to compare

Features

  • Support loading custom JS/CSS defined in frontmatter

Breaking Changes

  • Renamed transformHooks.transform to transformHooks.beforeParse