# markdown2html-SKILL **Repository Path**: duzc2/markdown2html-skill ## Basic Information - **Project Name**: markdown2html-SKILL - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-24 - **Last Updated**: 2026-08-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Markdown 转公众号 HTML 将 Markdown 文件一键转换为带内联样式的 HTML,可直接粘贴到微信公众平台编辑器。 ## 核心能力 - **无缝粘贴** — 所有样式内嵌(`style=""`),无外部 CSS 依赖,直接粘贴到公众号编辑器即生效 - **代码块防吞** — 代码每行末尾用 `
` 替换换行符,防止公众号编辑器吃掉缩进和换行 - **语义样式** — 只根据 Markdown 语义设置字体粗细、斜体、字号大小,不设 `font-family`,兼容公众号默认字体 - **背景透明** — 不设背景色,自动适应公众号浅色/深色模式 - **原位输出** — 默认在 `.md` 文件同级目录生成 `.html`,不受执行目录影响 ## 快速开始 ```bash # 安装依赖(仅首次) cd scripts/ npm init -y npm install marked # 转换单个文件 node markdown-to-html.mjs path/to/article.md # → 在 article.md 同级目录生成 article.html # 指定输出路径 node markdown-to-html.mjs input.md output.html ``` ## 通过 run_skill_script 调用 此 Skill 已将 `marked` 打包进脚本,通过 `run_skill_script` 调用无需安装依赖: ```javascript run_skill_script({ skill: "d234ec86-a889-463b-862a-766f33a9f674", scriptPath: "scripts/markdown-to-html.mjs", args: ["/absolute/path/to/article.md"] }) ``` ## 样式规格 | 元素 | 字号 | 行高 | 说明 | |------|------|------|------| | h1 | 24px | — | 居中加粗 | | h2 | 20px | — | 加粗 | | h3 | 18px | — | 加粗 | | 正文 p | 17px | 1.8 | 正常粗细 | | 代码 pre | 14px | 1.6 | 灰底圆角 | | 行内 code | 14px | — | 灰底 | | 引用 blockquote | 17px | 1.8 | 灰色左边框 | | 图片 | — | — | 居中,max-width:100% | | 表格 th/td | 17px | 1.8 | 带边框 | | 分割线 hr | — | — | 浅灰 1px | ## 文件结构 ``` scripts/ ├── markdown-to-html.mjs # 核心转换脚本(含 bundled marked) ├── md2html.ps1 # PowerShell 包装(解决中文路径问题) README.md # 本文件 ``` ## 技术架构 ``` Markdown input │ ▼ marked.parse() ← marked 库已打包进脚本 │ ▼ 自定义渲染器 ├── heading() → + 内联字号/粗细 ├── paragraph() →

+ 17px/行高1.8 ├── code() →

 + 
换行 ├── codespan() → 行内样式 ├── image() → 居中/自适应 ├── table() → 带边框 └── ... → 其余块级/行内元素 │ ▼
... HTML ...
│ ▼ 输出 .html 到源文件同级目录 ``` ## 约束 - 依赖 Node.js 18+ - 脚本使用 ESM 模块(`import`/`export`),本地执行时 `package.json` 需设置 `"type": "module"` - 图片路径保持 Markdown 中的原样,不会自动上传或转换 - 不支持 GFM 任务列表(`- [x]`)、脚注等扩展语法 ## 常见问题 **Q: 生成的 HTML 在公众号预览中样式乱了?** 检查是否在「公众号编辑器」中粘贴。所有样式均为内联,理论上应正确渲染。若仍有问题,检查是否有外部 CSS 影响,或确认公众号编辑器版本。 **Q: 代码块里的空格被吞了?** 脚本已用 `
` 替代换行符。若仍有缩进丢失,检查源代码中的缩进是否为空格而非 Tab。 **Q: 怎么批量转换多个文件?** ```bash # Linux/macOS for f in *.md; do node markdown-to-html.mjs "$f"; done # Windows PowerShell Get-ChildItem *.md | ForEach-Object { node markdown-to-html.mjs $_.FullName } ``` ## License MIT