Mind Map Generator · Dark Aurora / GIF / WebP / PNG · emploidai Marketplace
emploidai Marketplace
Add-onsAppletsPlugins
Search tools, teams, and capabilitiesPublish
MarketplacePluginsMind Map Generator · Dark Aurora / GIF / WebP / PNG
Plugin
Limited listing

Mind Map Generator · Dark Aurora / GIF / WebP / PNG

by zhangyu · v0.0.17

Generate left-to-right ribbon mind maps from Markdown with a dark aurora theme by default, border-only animated GIF, lossless WebP, or PNG. PNG remains the default format for maximum compatibility. GIF animates only node borders while text, node interiors, the background, and uniform-brightness ribbon links remain static. Includes classic light mode, unified list parsing, multilingual font fallback across 28 scripts, script-aware wrapping, RTL support, and output-size safeguards.

189k installsUpdated Jul 22, 2026
Publisher information is incomplete

This community listing does not yet include every recommended support, privacy, pricing, and permission disclosure. Review the available package permissions before installing.

Capabilities

Tools

Available inside your emploidai workspace after installation.

Data sources

Available inside your emploidai workspace after installation.

Category

tool

Version

0.0.17zhangyu

Requirements

Maximum memory 100MB

Pricing

Not disclosed by publisher

Security & access

Review before installing

CompatibleRequires emploidai 1.0.0+

Permissions

  • Uses app capability
  • Uses endpoint capability
  • Uses model capability
  • Uses storage capability

Dependencies

No additional dependencies

Resources

Privacy policy
emploidai Marketplace

Discover capabilities. Review access. Install inside your workspace.

DocumentationSecuritySupportPrivacyTerms

Stable Ribbon Mind Map Generator

A Dify tool plugin that converts Markdown hierarchy text into a left-to-right ribbon-style mind map image. PNG is the default output format; selectable lossless WebP typically saves approximately 40%, while GIF animates only node borders and uses static, uniform-brightness ribbon links without end-to-end fading.

A Simplified Chinese README is available at readme/README_zh_Hans.md.

Preview - dark aurora, animated GIF, and lossless WebP

Dark aurora theme - the new default

Version 0.0.17 renders on a deep near-black background by default, with soft aurora-gradient node borders. Set theme to light to retain the classic white-background appearance.

Dark aurora theme - large multilingual stress render

Border-only animated GIF

Select output_format=gif for a real three-second loop. Only node-border pixels animate; text, node interiors, the background, and uniform-brightness ribbon links remain static.

Border-only animated GIF example

Lossless WebP

Select output_format=webp for lossless WebP output. It preserves rendered pixels while usually reducing file size; actual savings depend on the mind-map content. PNG remains the default for maximum compatibility.

Lossless WebP example

Setup

Install directly from the Dify Marketplace, or download the .difypkg from the distribution directory and install it via Plugins -> Install from local file on a self-hosted Dify. No external API, credential, or network connection is required at runtime - rendering happens entirely inside the Dify plugin runtime.

Installation requirements & troubleshooting

Since 0.0.16 the package is ~15 MB and installs under Dify's default plugin size limit. If installing an older version from the Marketplace fails with Max file size reached, your Dify instance is falling back to the built-in default plugin-download limit of 15 MB (PLUGIN_MAX_PACKAGE_SIZE not set in .env). Two fixes:

  1. Local install (no configuration change): download the .difypkg from the distribution directory and install it via Plugins -> Install plugin -> Local file - this path is not subject to the marketplace download limit on Dify 1.x.
  2. Align the config with the official default: add PLUGIN_MAX_PACKAGE_SIZE=52428800 (50 MB, the value recommended in the official .env.example) to your .env, then run docker compose up -d.

What's New in 0.0.17

  • Dark aurora is now the default theme. Every rounded node border uses a soft branch-aware aurora gradient on a deep background. The root uses a distinct cross-spectrum aurora, while theme=light retains the classic white-background design.
  • Dark-theme border rings are 1.2x thicker and grow outward only. The text area and internal node geometry are unchanged, and layout slots expand to prevent collisions.
  • Real animated GIF output. output_format=gif creates a three-second loop: normally 12 frames at 250 ms, automatically reduced to 8 or 6 frames for large images.
  • GIF animation is restricted to node borders. Text, node interiors, the background, and ribbon links remain pixel-stable; the former outward animated glow has been removed.
  • GIF ribbon links use uniform brightness from parent to child. This avoids indexed-color banding and dark segments while preserving ribbon tapering, curves, branch colors, and edge antialiasing. PNG and WebP retain their original ribbon gradients.
  • Lossless WebP output. output_format=webp preserves rendered pixels while usually reducing file size. PNG remains the compatibility-first default, and empty or unsupported format values fall back to PNG.
  • Strict output contract. PNG, WebP, and GIF use matching extensions and MIME types, and every successful call returns exactly one selected-format image blob.
  • Output-size safeguards. render_scale limits the base bitmap before GIF frames are created; max_blob_mb establishes a pixel/frame budget and verifies encoded bytes, reducing frames or proportionally downscaling when necessary without changing the mind-map hierarchy or layout.
  • Unified ordered and unordered list parsing. Ordered markers (1., 1), and ideographic-comma forms) and unordered markers (-, *, +) now use one indentation ladder. Indentation alone determines nesting.
  • Long numeric identifiers and horizontal rules are protected. Long leading numbers such as 20-digit case identifiers are not misread as list markers, and Markdown horizontal rules are skipped rather than rendered as stray nodes.
  • All established capabilities remain available: nine bundled open-source fonts, character-level Han fallback, automatic fallback across 28 scripts, script-aware wrapping, RTL support, oversized-document pixel guards, stable ribbon geometry, and concurrency hardening.

Compatibility note: workflows that require the former white-background appearance must set theme=light explicitly.

What's New in 0.0.16

  • Package slimmed to ~15 MB - now installs under Dify's default plugin size limit, no configuration change needed.
  • The bundled Han sans font is now Ribbon Han Sans SC, a character subset of Source Han Sans SC (renamed per the OFL Reserved Font Name requirement; rendering of retained characters is byte-identical). Coverage: GB2312 plus high-frequency extensions, the full Japanese Joyo Kanji table, full Hangul syllables, full Kana, basic Cyrillic.
  • Character-level fallback: Basic-plane Han characters outside the subset automatically render with Zhuque Fangsong - a rare character switches typeface instead of becoming a missing-glyph box.

What's New in 0.0.14

New features

  • Nine bundled open-source fonts with a nine-option font selector; every option shows the font name plus the languages it actually renders, each written in its own script.
  • Global multilingual auto-detection: mixed input across 28 scripts - Latin family, Chinese / Japanese / Korean, Cyrillic, Greek, Hebrew, Arabic, Thai, Devanagari, Bengali, Tamil, Telugu, Kannada, Malayalam, Gujarati, Gurmukhi, Odia, Sinhala, Lao, Myanmar, Khmer, Tibetan, Ethiopic, Georgian, Armenian, Thaana and more - renders with zero missing glyphs under any font option.
  • Script-aware wrapping: continuous digit runs never split (across all scripts), words keep their integrity, combining marks never start a line, and Thai / Lao / Myanmar / Khmer / Tibetan wrap per character as their orthography requires.
  • Right-to-left support for Hebrew and Arabic: visual-order rendering with mirrored brackets (simplified bidi).
  • Refreshed parameter panel: parameters reordered for daily use; the font selector carries its multilingual description inline.

Bug fixes & stability

  • Oversized-document overlap fixed: the old 200-inch hard cap squeezed layouts and made sibling nodes overlap. Replaced with a pixel-budget guard - geometry is never truncated; only the render DPI is lowered, with single-pass scale locking so layout reservation equals rendered box size exactly.
  • Ribbon-end visibility fixed: deep-level ribbons used to fade below the visible threshold near the child node. End visibility now adapts to branch color depth, with a minimum on-screen ribbon width and a control-arm clamp preventing end hook-back. Dark branches keep the original fade curve point-for-point.
  • Arabic layout consistency: measuring and drawing now share the same layout direction.
  • Concurrency hardening: thread-safe object-oriented matplotlib canvas; render gate and transmission serialization gate; heavy rendering handed to a real worker thread under cooperative schedulers so the communication loop is never starved; import warm-up against cold-start deadlocks; runtime footprint logging.

Under heavy parallel workloads, large renders are serialized by the render gate for stability - later requests queue instead of crashing.

Features

  • Two themes: dark aurora (default) and classic light; selectable per call via theme.
  • Convert Markdown headings, ordered / unordered lists, and indented text into a left-to-right mind map.
  • Verified Style-5 ribbon links, branch colors, rounded depth-aware borders, render-scale-safe output.
  • Automatic multilingual detection and mixing across 28 scripts with zero missing glyphs.
  • Continuous digit sequences are never split in the middle - across every script.
  • PNG (default), lossless WebP, or border-only animated neon GIF generated locally inside the Dify plugin runtime; exactly one selected-format image blob is returned.

Bundled fonts & font licensing

Font licensing clarification: the upstream plugin by sawyer-shi bundles Microsoft's commercial Chinese font (Microsoft YaHei family) inside its package; redistributing Microsoft commercial fonts with a plugin infringes Microsoft's font copyright. This edition has replaced that font with Source Han Sans SC - an open-source typeface of a closely comparable style released under the SIL Open Font License - so this package carries no font-infringement risk whatsoever.

All nine bundled fonts are open-source and freely redistributable, with their license files shipped inside the package:

FontLicenseRenders
Ribbon Han Sans SC (subset of Source Han Sans SC; default)SIL OFL 1.1Chinese (common set + fallback), Japanese, Korean, Russian
Zhuque FangsongSIL OFL 1.1Chinese, Japanese
GNU FreeSerifGPLv3 + font exceptionEnglish, French, German, Spanish, Vietnamese and other Latin-script languages; Russian, Greek, Hebrew, Arabic, Thai, Hindi, Bengali, Tamil, Malayalam, Gujarati, Punjabi, Odia, Sinhala, Amharic, Georgian, Armenian, Dhivehi
Noto Sans Lao / Myanmar / Khmer / Telugu / Kannada, Noto Serif TibetanSIL OFL 1.1Lao / Burmese / Khmer / Telugu / Kannada / Tibetan

Tool

mind_map_horizontal

Generate a horizontal ribbon-style mind map image from Markdown hierarchy content.

ParameterRequiredDescription
markdown_contentYesMarkdown hierarchy text to render.
themeNoColor theme: dark (default, aurora gradient borders on a deep background) or light (classic white background).
font_modeNoNine-option font selector; multilingual input is auto-detected, unselected scripts fall back to their default fonts.
output_formatNopng (default), webp (lossless, typically approximately 40% smaller), or gif (only node borders animate; text and ribbon links stay static).
render_scaleNoClarity scale; lower values reduce the base bitmap before GIF frame creation.
max_blob_mbNoOutput size guard (MB); GIF uses it before frame creation and verifies actual encoded bytes.
download_mdNoAlso return the Markdown file (legacy).
filenameNoOptional image filename; .png, .webp, or .gif is applied according to output_format.

Gallery - multilingual examples

Every image links to the exact Markdown input that produced it, hosted at zhangyuqz/ribbon-mind-map-assets.

Digit-safety classic

Digit-safe example

Markdown input: digit_safe_example.md

Chinese baseline in both Chinese fonts

Chinese baseline - Source Han Sans (default)

Chinese baseline - Source Han Sans (default)

Chinese baseline - Zhuque Fangsong

Chinese baseline - Zhuque Fangsong

Markdown input: 00_chinese_baseline.md

Large-scale multilingual stress cases

English - large-scale stress case

English - large-scale stress case

Markdown input: 01_english.md

Hebrew + Arabic (right-to-left)

Hebrew + Arabic (right-to-left)

Markdown input: 02_rtl_hebrew_arabic.md

South Asia - 10 scripts

South Asia - 10 scripts

Markdown input: 03_south_asia_10scripts.md

Southeast Asia - Thai / Lao / Myanmar / Khmer / Tibetan

Southeast Asia - Thai / Lao / Myanmar / Khmer / Tibetan

Markdown input: 04_southeast_asia.md

East Asia - Korean + Japanese

East Asia - Korean + Japanese

Markdown input: 05_east_asia_ko_ja.md

Europe - Russian / Greek / Georgian / Armenian

Europe - Russian / Greek / Georgian / Armenian

Markdown input: 06_europe.md

Global mix - 28 scripts in one document

Global mix - 28 scripts in one document

Markdown input: 07_global_28scripts.md

Small sample - global mix

Small sample - global mix

Markdown input: small_07_global.md

Small samples (Markdown only)

Compact, human-readable samples for quick verification - rendered previews not included yet.

  • small_01_english.md - English small sample
  • small_02_rtl_hebrew_arabic.md - Hebrew + Arabic small sample
  • small_03_south_asia.md - South Asia small sample
  • small_04_southeast_asia.md - Southeast Asia small sample
  • small_05_east_asia_ko_ja.md - Korean + Japanese small sample
  • small_06_europe.md - Europe small sample

Source repository

Distribution directory (this .difypkg, which contains the full plugin source): github.com/zhangyuqz/dify-plugins/tree/main/zhangyuqz/si_wei_dao_tu_sheng_cheng_qi
Example assets: github.com/zhangyuqz/ribbon-mind-map-assets

Privacy

The plugin renders Markdown into PNG, lossless WebP, or animated GIF locally inside the Dify plugin runtime. It does not call an external mind map rendering service. See PRIVACY.md for details.

Acknowledgements

This plugin is an enhanced derivative work based on sawyer-shi/dify-plugins-mind_map, licensed under the Apache License 2.0. The bundled Microsoft commercial Chinese font from the upstream package has been replaced with open-source fonts in this edition (see the font licensing section above).

Original author: sawyer-shi
Enhanced version maintainer: Zhang Yu (GitHub: zhangyuqz)

License

Apache License 2.0 - dual attribution shipped inside the package: LICENSE (Copyright 2025 sawyer-shi, the original work) and LICENSE-zhangyuqz (Copyright 2026 Zhang Yu (zhangyuqz), this enhanced edition).