功能概述
baoyu-markdown-to-html 是一款专注于内容发布的 Markdown 转 HTML 工具,核心定位是将 Markdown 文档转换为内联 CSS 样式化的 HTML,特别针对微信公众号等平台的排版需求进行优化。
核心用法
基础转换:bun scripts/main.ts article.md --theme default
完整工作流:
1. 中文内容预检:检测 CJK 字符,可选调用 baoyu-format-markdown 进行格式化
2. 主题解析:按优先级(CLI参数 → EXTEND.md → 跨技能回退 → 交互询问)确定主题
3. 引用模式:仅当用户明确要求时启用「微信外链转底部引用」功能
4. 执行转换:通过 Bun 运行时执行 TypeScript 脚本
5. 结果报告:输出 HTML 路径、备份信息及内容图片清单
显著优点
| 维度 | 优势 |
|------|------|
| **微信生态深度适配** | 专门优化微信公众号显示效果,支持外链转底部引用(规避微信外链限制) |
| **丰富渲染能力** | 代码高亮、Mermaid/PlantUML 图表、数学公式、脚注、Alert 块、Ruby 注音 |
| **灵活主题系统** | 4 种预设主题(default/grace/simple/modern)+ 12 种配色方案 + CSS 变量自定义 |
| **零外部依赖** | 纯 Bun 生态,输出单文件 HTML(内联 CSS),无需外部样式表 |
| **智能冲突处理** | 自动备份现有 HTML 文件,避免覆盖丢失 |
| **跨技能协作** | 与 `baoyu-format-markdown`、`baoyu-post-to-wechat` 形成内容发布工作流 |
潜在局限
- 运行时依赖:强制需要 Bun 或 npx,未预装环境需额外安装
- 主题配置分散:EXTEND.md 多级查找逻辑(项目/XDG/用户目录)可能增加配置心智负担
- 中文场景侧重:CJK 预检和格式化建议对纯英文内容用户为无效步骤
- 引用模式非默认:「外链转底部引用」这一微信刚需功能需显式开启,新手可能遗漏
- 无实时预览:纯 CLI 工具,需外部浏览器查看效果
适合人群
- 公众号运营者:需要将技术文章、教程转换为微信兼容格式
- 内容创作者:追求「Markdown 写作 + 自动化排版」的发布流程
- 开发者/技术博主:依赖代码块、图表、数学公式的技术写作场景
常规风险
- HTML 注入风险:若输入 Markdown 包含恶意脚本,输出 HTML 将保留(无自动消毒)
- 图片路径处理:
contentImages的占位符机制需确保最终发布平台支持对应替换逻辑 - 版本兼容性:依赖 Bun 特定版本特性,大版本升级可能需跟进
安全认证状态
> ⚠️ 安全认证报告为系统自动生成的占位内容,未执行实际安全扫描。建议生产环境使用前进行依赖审计(Bun 生态包)和 XSS 输出测试。