# md2html **Repository Path**: alanplus/md2html ## Basic Information - **Project Name**: md2html - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-24 - **Last Updated**: 2026-07-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # md2html —— Markdown 转 HTML 全能工具 `md2html` 是一个轻量、高效、跨平台的命令行工具,用于将 Markdown 文件转换为美观的 HTML 页面。内置 11 种精心设计的渲染风格(含 GitHub、微信公众号、暗黑极客、赛博未来、可爱萌趣等),支持**单文件转换**与**批量递归转换**,并允许用户使用自定义 HTML 模板。 ## ✨ 特性 - 🚀 **一键转换**:单文件或批量递归转换所有 `.md` 文件 - 🎨 **11 种内置风格**:纯白阅读、暗黑代码、商务汇报、治愈文艺、赛博科技等 - 📁 **批量处理**:并发转换,支持排除目录、预览模式、强制覆盖 - 🧩 **高度定制**:支持外部模板(文件或目录),自由设计 HTML 样式 - 📱 **响应式设计**:所有模板均适配移动端与暗色模式(部分风格) - 🔒 **安全**:Markdown 内容通过 JSON 安全注入,避免 XSS ## 📦 安装 ### 方式一:直接下载二进制(推荐) 从 [Releases](https://github.com/yourname/md2html/releases) 页面下载对应平台的二进制文件,放入 `PATH` 路径即可。 ### 方式二:从源码构建 ```bash git clone https://github.com/yourname/md2html.git cd md2html go build -o md2html main.go # 可选:将二进制移动到系统路径 sudo mv md2html /usr/local/bin/ ``` ## 🚀 快速使用 ### 单文件转换 ```bash # 默认风格(purewhite)输出为 输入文件名.html md2html -i README.md # 指定风格并自定义输出路径 md2html -i doc.md -o output/article.html -s darkgeek # 从标准输入读取 cat README.md | md2html -i - > out.html ``` ### 批量转换 ```bash # 转换当前目录下所有 .md 文件 md2html -b # 转换指定目录,使用暗黑风格,排除 node_modules 和 .git md2html -b --root ./docs -s darkgeek --exclude node_modules,.git # 预览即将转换的文件(不实际生成) md2html -b --dry-run # 强制覆盖已有的 HTML 文件 md2html -b --force ``` ### 使用自定义模板 ```bash # 使用单个模板文件(覆盖所有风格设置) md2html -i doc.md -t mytemplate.html # 使用模板目录:程序会读取 <目录>/<风格名>.html md2html -i doc.md -t ./my_templates -s cute ``` ## 🖌️ 内置风格速览 | 风格名 | 适用场景 | 预览特点 | |--------|----------|----------| | `purewhite` | 日常写作、博客 | 极简纯白,高可读性,护眼 | | `darkgeek` | 技术文档、代码分享 | 暗色背景,代码高亮(Atom One Dark) | | `business` | 工作汇报、正式报告 | 蓝灰商务色调,表格清晰 | | `freshart` | 随笔、散文、文艺创作 | 米黄纸质感,圆角柔和 | | `cyberfuture` | 科技前沿、极客博客 | 赛博发光边缘,半透明毛玻璃 | | `cute` | 萌系内容、儿童读物 | 粉色渐变,Emoji 点缀,带复制按钮 | | `github` | 开源项目文档 | GitHub 经典风格,暗色模式自动适配 | | `wechat` | 微信公众号文章 | 符合公众号排版规范,字号舒适 | | `minimal` | 深度长文 | 仿书籍排版,衬线字体 | | `technical` | 数据报告、技术手册 | 侧边目录栏,表格镂空设计 | | `interactive` | 交互式长文 | 固定侧边目录,适合带多级标题的文档 | ## 🛠️ 命令行参数 ### 基本参数 | 参数 | 简写 | 说明 | |------|------|------| | `-i` | `-input` | 输入 Markdown 文件路径(`-` 表示标准输入) | | `-o` | `-output` | 输出 HTML 文件路径(默认:输入文件名 `.html`) | | `-s` | `-style` | 预置风格,见上表(默认:`purewhite`) | | `-t` | `-template` | 自定义模板路径(文件或目录,优先级高于 `-s`) | | `-v` | `-version` | 显示版本信息 | ### 批量转换参数 | 参数 | 说明 | |------|------| | `-b` / `-batch` | 启用批量转换模式(与 `-i` 互斥) | | `--root` | 批量转换的根目录(默认:当前目录) | | `--exclude` | 排除的目录或文件,逗号分隔(例如 `node_modules,.git,dist`) | | `--dry-run` | 仅预览要转换的文件,不实际生成 HTML | | `--force` | 强制覆盖已存在的 HTML 文件 | ## 📂 批量转换行为说明 - 递归遍历 `--root` 下所有 `.md` 文件(包括子目录) - 输出文件与源文件**同目录**,扩展名改为 `.html` - 自动跳过以点开头的隐藏目录(如 `.git`、`.idea`) - 并发处理(最多 10 个文件),转换时显示进度 - 若输出文件已存在且未使用 `--force`,则跳过 ## 🧩 自定义模板详解 ### 使用单个模板文件 ```bash md2html -i doc.md -t custom.html ``` 此时 `-s` 参数被忽略,工具直接使用 `custom.html` 作为模板。 模板文件中需要包含 `{{.Title}}` 和 `{{.MarkdownJSON}}` 两个占位符: ```html