# 思维导图大师 (Mind Map Master) - 项目深度解析 > 本文档旨在辅助面试准备,详细解读项目的功能、架构设计、技术实现及核心难点。 ## 1. 项目概览 (Project Overview) **项目名称**:思维导图大师 (Mind Map Master) **核心价值**:一个轻量级、实时渲染的在线思维导图工具,解决传统导图软件笨重、收费、分享困难的痛点。 **目标用户**:开发者、产品经理、学生等需要快速整理思路和进行知识可视化的群体。 **在线演示**:[Hugging Face Spaces Link](https://huggingface.co/spaces/duqing26/mind-map-master) ### 1.1 核心功能 * **Markdown 驱动 (Markdown-First)**:左侧编写 Markdown,右侧实时生成导图。符合开发者习惯,内容可版本控制。 * **实时预览 (Real-time Rendering)**:基于 `markmap` 库实现毫秒级渲染,所见即所得。 * **双模式导出 (Dual Export)**: * **SVG**: 矢量格式,无限缩放,适合嵌入网页或打印。 * **PNG**: 高清位图,支持自动适配深色/浅色背景,适合社交分享。 * **深色模式 (Dark Mode)**:完整支持深色主题,包括 UI 和 SVG 导图内容的颜色自适应。 * **本地存储 (Local Storage)**:自动保存用户编辑内容,防止意外丢失。 --- ## 2. 技术架构 (Technical Architecture) 本项目采用 **前后端分离** 的思想,但在部署上为了简化,采用了 **Flask 托管静态资源** 的单体应用模式。 ### 2.1 技术栈 (Tech Stack) * **Frontend (核心)**: * **HTML5 / CSS3**: 语义化标签,Flexbox 布局。 * **Tailwind CSS**: 原子化 CSS 框架,实现快速响应式开发和深色模式支持。 * **JavaScript (Vanilla)**: 原生 JS 实现交互逻辑,无重型框架依赖(React/Vue),保证极致轻量。 * **Markmap (markmap-view/lib)**: 核心库,负责将 Markdown AST 转换为 SVG 思维导图。 * **D3.js**: Markmap 的底层依赖,用于 SVG 的 DOM 操作和力导向图计算。 * **html2canvas**: 辅助截图(但在本项目中主要通过 Canvas API 直接绘制 SVG 实现更高质量导出)。 * **Backend (服务)**: * **Python Flask**: 轻量级 Web 框架,主要负责静态文件服务 (`render_template`)。 * **Gunicorn**: 生产环境 WSGI 服务器。 * **DevOps (部署)**: * **Docker**: 容器化部署,确保环境一致性。 * **Hugging Face Spaces**: 托管平台。 ### 2.2 数据流 (Data Flow) 1. **Input**: 用户在 `