# markEdit **Repository Path**: lmw0_0/mark-edit ## Basic Information - **Project Name**: markEdit - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-30 - **Last Updated**: 2025-10-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MarkEdit - 现代化Markdown编辑器 ![MarkEdit Logo](web/static/favicon.svg) 基于Go语言开发的现代化B/S架构Markdown编辑器,支持实时预览、图表渲染和多格式导出。 ## ✨ 功能特性 ### 📝 编辑功能 - ✅ 标准Markdown语法支持 (CommonMark + GFM) - ✅ 实时语法高亮 - ✅ 智能自动补全 - ✅ 快捷键支持 (Ctrl+B/I/K等) - ✅ 行号显示 - ✅ 代码折叠 ### 👀 预览功能 - ✅ 实时预览 - ✅ 同步滚动 - ✅ 响应式布局 - ✅ 暗色/亮色主题 ### 📊 图表支持 - ✅ Mermaid图表渲染 (流程图、时序图、甘特图等) - ✅ PlantUML图表渲染 (UML图、架构图等) - ✅ LaTeX数学公式支持 (KaTeX) - ✅ 高清图片导出 (DPI可调) ### 📤 导出功能 - ✅ PDF导出 - ✅ Word文档导出 - ✅ HTML导出 - ✅ 图片导出 ### 🔧 其他功能 - ✅ 文件上传 - ✅ 字数统计 - ✅ 全屏编辑 - ✅ 打印支持 ## 🛠 技术栈 ### 后端 - **Go 1.19+** - 主要开发语言 - **Gin** - Web框架 - **goldmark** - Markdown解析器 - **chromedp** - 无头浏览器 (图表渲染) - **Viper** - 配置管理 - **logrus** - 日志管理 ### 前端 - **HTML5 + CSS3 + JavaScript** - 基础技术 - **CodeMirror 6** - 代码编辑器 - **Mermaid.js** - 图表渲染 - **KaTeX** - 数学公式渲染 - **Marked.js** - Markdown解析 (前端备用) ## 🚀 快速开始 ### 环境要求 - Go 1.19+ - Chrome/Chromium (用于图表渲染) - Git (可选) ### 方式一:直接运行 1. **克隆项目** ```bash git clone https://github.com/your-username/markEdit.git cd markEdit ``` 2. **安装依赖** ```bash go mod tidy ``` 3. **运行应用** ```bash # 开发模式 make dev # 或直接运行 go run cmd/server/main.go ``` 4. **访问应用** 打开浏览器访问: http://localhost:8080 ### 方式二:使用Docker 1. **构建镜像** ```bash make docker ``` 2. **运行容器** ```bash make docker-run ``` 3. **使用docker-compose** ```bash make docker-compose-up ``` ### 方式三:生产部署 1. **构建应用** ```bash make build ``` 2. **部署到服务器** ```bash make deploy ``` ## 📁 项目结构 ``` markEdit/ ├── cmd/server/ # 应用入口 │ └── main.go # 主程序 ├── config/ # 配置文件 │ └── config.yaml # 应用配置 ├── internal/ # 内部包 │ ├── handler/ # HTTP处理器 │ │ ├── config.go # 配置接口 │ │ ├── export.go # 导出功能 │ │ ├── markdown.go # Markdown处理 │ │ ├── render.go # 图表渲染 │ │ └── routes.go # 路由配置 │ ├── service/ # 业务逻辑 │ │ ├── markdown.go # Markdown服务 │ │ └── plantuml.go # PlantUML服务 │ └── model/ # 数据模型 ├── pkg/utils/ # 工具包 │ └── logger.go # 日志工具 ├── web/ # 前端资源 │ ├── static/ # 静态文件 │ │ ├── css/ # 样式文件 │ │ ├── js/ # JavaScript文件 │ │ └── favicon.svg # 网站图标 │ └── templates/ # HTML模板 │ └── index.html # 主页面 ├── scripts/ # 脚本文件 │ ├── build.sh # Linux构建脚本 │ ├── build.bat # Windows构建脚本 │ ├── dev.sh # 开发环境脚本 │ ├── deploy.sh # 部署脚本 │ └── docker-build.sh # Docker构建脚本 ├── docs/ # 文档 ├── Dockerfile # Docker配置 ├── docker-compose.yml # Docker Compose配置 ├── Makefile # 构建配置 ├── .air.toml # Air热重载配置 ├── .dockerignore # Docker忽略文件 ├── .gitignore # Git忽略文件 ├── go.mod # Go模块文件 └── README.md # 项目说明 ``` ## 🔧 开发指南 ### 本地开发 1. **安装开发工具** ```bash # 安装Air热重载工具 go install github.com/cosmtrek/air@latest # 安装代码检查工具 go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest ``` 2. **启动开发环境** ```bash make dev ``` 3. **代码检查** ```bash make lint ``` 4. **运行测试** ```bash make test ``` ### 构建和部署 1. **本地构建** ```bash # 构建Linux版本 make build # 构建Windows版本 make build-windows # 交叉编译所有平台 make cross ``` 2. **Docker部署** ```bash # 构建Docker镜像 make docker # 启动服务 make docker-compose-up ``` 3. **生产部署** ```bash # 部署到服务器 make deploy ``` ## 📖 使用说明 ### 基本操作 1. **编辑Markdown** - 在左侧编辑器中输入Markdown内容 - 支持标准Markdown语法和GFM扩展 - 使用快捷键快速格式化文本 2. **实时预览** - 右侧自动显示渲染结果 - 支持同步滚动 - 可切换预览模式 3. **图表支持** ```markdown # Mermaid流程图 ```mermaid graph TD A[开始] --> B[处理] B --> C[结束] ``` # PlantUML类图 ```plantuml @startuml class User { +name: string +email: string } @enduml ``` # LaTeX数学公式 $$E = mc^2$$ ``` 4. **导出功能** - 点击导出按钮选择格式 - 支持PDF、Word、HTML等格式 - 可自定义导出设置 ### 快捷键 | 快捷键 | 功能 | |--------|------| | Ctrl+B | 加粗 | | Ctrl+I | 斜体 | | Ctrl+K | 插入链接 | | Ctrl+S | 保存 | | F11 | 全屏 | | Ctrl+/ | 切换预览 | ## 🤝 贡献指南 1. Fork 项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 打开 Pull Request ## 📝 更新日志 ### v1.0.0 (开发中) - ✅ 基础Markdown编辑器 - ✅ 实时预览功能 - ✅ Mermaid图表支持 - ✅ PlantUML图表支持 - ✅ LaTeX数学公式 - ✅ Docker支持 - 🔄 导出功能开发中 ## 🐛 问题反馈 如果您遇到任何问题或有功能建议,请: 1. 查看 [Issues](https://github.com/your-username/markEdit/issues) 是否已有相关问题 2. 如果没有,请创建新的 Issue 3. 提供详细的问题描述和复现步骤 ## 📄 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情 ## 🙏 致谢 感谢以下开源项目: - [goldmark](https://github.com/yuin/goldmark) - Markdown解析器 - [CodeMirror](https://codemirror.net/) - 代码编辑器 - [Mermaid](https://mermaid-js.github.io/) - 图表渲染 - [KaTeX](https://katex.org/) - 数学公式渲染 - [Gin](https://gin-gonic.com/) - Web框架 --- ⭐ 如果这个项目对您有帮助,请给它一个星标!