Overview of simple-mind-map
mainsimple-mind-map
simple-mind-map is a lightweight implementation of a web-based mind mapping tool. It provides the core logic and components for creating and managing mind maps in a web environment.
repository·main·Indexed 11 days ago
https://github.com/wanglin2/mind-mapA versatile mind mapping ecosystem featuring a framework-agnostic JavaScript library (simple-mind-map v0.14.0-fix.3) and a privacy-first desktop client. It supports various diagram types including mind maps, logic charts, timelines, and fishbone diagrams, with a plugin-based architecture for extending functionality such as rich text, collaborative editing, and SVG export.
simple-mind-map is a lightweight implementation of a web-based mind mapping tool. It provides the core logic and components for creating and managing mind maps in a web environment.
The mind-map repository consists of two main parts: an open-source JavaScript library and closed-source client software/plugins.
simple-mind-map: A framework-agnostic JavaScript mind map library used for building web-based mind mapping products. Note: This library is currently in a low-maintenance state.simple-mind-map, Vue2.x, and ElementUI. It supports local file operations and can be self-hosted or used as an online service.The simple-mind-map library is a framework-independent JavaScript library designed for quickly developing web-based mind map products. It is the core engine used in the project's web applications.
For detailed API documentation, visit the official documentation site: https://wanglin2.github.io/mind-map-docs/
The following features are explicitly not implemented in this library:
The library uses a plugin-based architecture to keep the core bundle size small. Many advanced features (like Rich Text, Export, or Collaborative Editing) are not enabled by default and must be imported as plugins. If a feature is not working, ensure you have imported the corresponding plugin.
Available Official Plugins:
| Plugin Name | Description |
|---|---|
RichText | Node Rich Text Plugin |
Select | Mouse Multi-Select Node Plugin |
Drag | Node Drag Plugin |
AssociativeLine | Associative Line Plugin |
Export | Export Plugin |
KeyboardNavigation | Keyboard Navigation Plugin |
MiniMap | Mini-Map Plugin |
Watermark | Watermark Plugin |
TouchEvent | Mobile Touch Event Support Plugin |
NodeImgAdjust | Drag to Adjust Node Image Size Plugin |
Search | Search Plugin |
Painter | Node Format Painter Plugin |
Scrollbar | Scrollbar Plugin |
Formula | Mathematical Formula Plugin |
Cooperate | Collaborative Editing Plugin |
RainbowLines | Rainbow Lines Plugin |
Demonstrate | Presentation Mode Plugin |
OuterFrame | Outer Frame Plugin |
MindMapLayoutPro | Mind Map Layout Plugin |
思绪 in the uTools market or by visiting the plugin homepage and clicking the 【Launch】 button.Install the simple-mind-map package using npm to include the core mind map functionality in your project.
npm i simple-mind-mapYou can extend Obsidian with the 思绪思维导图 plugin. Download the latest release from GitHub to install it into your Obsidian environment.
Download Link: GitHub Releases
Download the plugin from the GitHub releases page: https://github.com/wanglin2/obsidian-simplemindmap/releases
uTools plugin market.思绪 (SxMind).To use simple-mind-map, you must provide a container element with a non-zero width and height. Ensure you reset the default margins and padding for the container's children via CSS to avoid layout issues.
Initialize the map by passing an options object to the MindMap constructor containing the el (the container element) and the initial data structure.
<!-- 1. Prepare the container -->
<div id="mindMapContainer"></div>
<style>
/* 2. Reset container styles */
#mindMapContainer * {
margin: 0;
padding: 0;
}
</style>
<script type="module">
import MindMap from "simple-mind-map";
// 3. Create the instance
const mindMap = new MindMap({
el: document.getElementById("mindMapContainer"),
data: {
data: {
text: "Root Node",
},
children: [],
},
});
</script>The 思绪思维导图 (SxMind) Client is a privacy-first, local-storage-based desktop application for Windows, Mac, and Linux. It supports offline use and various diagram types including mind maps, organizational charts, timelines, and fishbone diagrams.
Download Links:
The Command class can emit a data_change_detail event on the mindMap instance. This event provides a list of specific changes (create, update, or delete) between the previous state and the current state, which is highly efficient for syncing with external databases or performing partial updates.
Event Payload Structure: Each change object in the array contains:
action: 'create', 'update', or 'delete'.data: The node data (for create and delete).oldData: The previous node data (only for update).Performance Note:
To save resources, the data_change_detail event is only calculated if there is at least one active listener for it on the mindMap instance.
mindMap.on('data_change_detail', (changes) => {
changes.forEach(change => {
if (change.action === 'create') {
console.log('New node:', change.data)
} else if (change.action === 'update') {
console.log('Updated from:', change.oldData, 'to:', change.data)
} else if (change.action === 'delete') {
console.log('Deleted node:', change.data)
}
})
})