全部技能 / 文档与知识 / dbs-wechat-html
文档与知识 · dontbesilent2025/dbskill

dbs-wechat-html

把 Markdown 转成可粘贴到微信公众号后台的 HTML,并提供 15 种内置风格。用户要求生成公众号 HTML、制作微信版本或排版公众号文章时使用。

风险提醒:蓝色 · 知晓即可AI 侦查报告
作者 dontbesilent2025GitHub dontbesilent2025/dbskill ↗Stars 10121许可 CC BY-NC 4.0(非商业授权):仓库根 LICENSE 为 Attribution-NonCommercial 4.0 International (CC BY-NC 4.0),Copyright (c) 2026 dontbesilent;GitHub API license.spdx_id = NOASSERTION (CC BY-NC 4.0 非 SPDX 标准文本,GitHub 无法自动识别),不得用于商业用途commit 8b8e33f1ec
agent 宿主通常会约束 skill 执行权限;风险提醒为 AI 侦查观点,不构成质量或安全保证。第三方 skill 仅作拆解与展示,安装使用风险自负,版权归原作者。

1实现原理 · 为什么它能做到

整个 skill 是"模型当转换器"的设计:不写脚本,靠一份极细的转换规则 + 一个外置样式库,把 Markdown 变成可粘贴的 HTML。

skills/dbs-wechat-html/SKILL.md
执行前必须读取 `templates/styles.md`,按里面的 style id、别名、适用场景和 CSS 生成。样式库中的 CSS 是设计源,生成时必须按本文件的「微信粘贴兼容性」规则展开到具体 HTML 元素。
注:样式库 197 行定义 15 种风格的 CSS;SKILL.md 负责把 CSS 展开到元素、并规定公众号粘贴兼容性。

设计前提是浏览器复制会丢 <head>/外层容器、公众号后台还会二次清洗,因此所有可见样式必须内联到每个元素。

skills/dbs-wechat-html/SKILL.md
正式交付 HTML 禁止使用:
注:禁用清单:<style> 标签、class/id 选择器、:before/:after、外部 CSS/字体/图片/脚本、依赖最外层容器的继承样式、hover/动画/position:fixed、JavaScript。

转换分两阶段:先做 Markdown→HTML 结构映射,再做"行内样式展开",并删除 <style>/class/id/伪元素。

skills/dbs-wechat-html/SKILL.md
2. 把选择器中的属性写到每个匹配的可见元素上。
注:展开阶段还要求把 background 单色值规范为 background-color,并逐元素检查是否拥有"独立、完整的粘贴样式"。

默认消除公众号双标题:文稿首个一级标题只进 <head><title>,不渲染为正文 <h1>。

skills/dbs-wechat-html/SKILL.md
- 不把这个一级标题渲染为 `<body>` 中的 `<h1>`;
注:后续再出现的一级标题降级为 <h2>,避免正文层级从 <h1> 重新开始;仅在用户明确要求时才让首标题进正文。

风格选择有三条入口:自然语言映射表(15 条)、参数(--style/--recommend/--preview/--all)、以及用户没指定时的四选一追问。

skills/dbs-wechat-html/SKILL.md
| `--preview` | 生成 6 个推荐风格 + 总览页 |
注:参数优先级最高;默认推荐 6 个风格为 minimal/medium/stripe/wired/ft/course。

Markdown 转换有明确取舍:表格不转 <table>(公众号兼容差)而转列表,图片不内嵌只留占位,硬换行不转 <br>,段落末尾中文句号删除。

skills/dbs-wechat-html/SKILL.md
8. 表格不直接生成 `<table>`,微信公众号兼容性差。优先转换为列表。
注:其余细节:连续列表项合并同一 <ul>、HTML 特殊字符必须转义、链接保留为文本、代码块转 <pre><code> 并按风格补 pre CSS。

交付前有 9 条静态检查,并给出可执行的检查命令(rg 应无输出)。

skills/dbs-wechat-html/SKILL.md
rg -n '<style|class=|id=|:before|:after|<script|https?://|@import' "输出文件.html"
注:检查项含:无 <style>、无 class/id、无伪元素/脚本/外链/@import、每个可见元素有 style、段落独立含 font-size/line-height/color、列表项有 style、HTML 结构校验、默认模式 body 不含首标题。

输出位置与命名规范化:写到源文件同级的 公众号HTML输出/,文件名带 style id 与风格名,多风格时附总览页与风格目录。

skills/dbs-wechat-html/SKILL.md
文件名:`原文件名_style-id_风格名_微信公众号版.html`
注:用户直接贴 Markdown 时改在当前工作目录生成,默认基名"公众号文章";总览页 00_公众号HTML风格总览.html 允许用 <style>/class(仅本地预览)。

明确的品牌与联网边界:不联网加载字体/CSS/图片/脚本,不复制来源媒体的品牌资产,只借鉴排版范式。

skills/dbs-wechat-html/SKILL.md
- 不要把来源媒体的品牌资产、logo、专有视觉原样复制进 HTML。这里只借鉴排版范式。
注:与"卡片式排版"类工具的差别:这里把每套风格拆成可移植的排版范式,规避商标与版权问题。

2核心能力

01Markdown → 公众号 HTML 转换(结构映射 + 行内样式展开)
0215 种内置风格(minimal/medium/wired/verge/stripe/apple/ft/linear/github/notion/magazine/editorial/newspaper/course/event)
03三种生成规模:单风格 / 6 个推荐(--preview)/ 全部 15 个(--all)
04自然语言 → style id 映射(15 条,匹配多个时取更具体者)
05公众号粘贴兼容性规则(禁 style/class/伪元素/JS/外链,强制行内样式)
06默认消除双标题(首标题只进 <title>,后续 h1 降级 h2)
07交付前静态检查 + 可执行检查命令(xmllint / rg)
08多风格总览页与风格目录,便于用户挑选后再复制
09输出目录/命名规范与用户操作提示(Cmd+A/C/V 粘贴流程)

3外部依赖

类型依赖
clixmllint(可选的 HTML 结构校验;缺失时用等价工具)
clirg(可选:扫描 style/class/伪元素/脚本/外链等违规项)

4风险提醒 风险提醒:蓝色 · 知晓即可

风险提醒:蓝色 · 知晓即可
  • 排版效果依赖模型对样式库的手工展开,风格一致性可能有波动 — 15 套 CSS 由模型逐元素展开,同一风格多次生成可能在间距/字号上有细微差异;skill 的静态检查覆盖合规性,但不校验视觉一致性。
  • 产物中含用户文稿原文,转义若漏做则有本地脚本执行风险 — 规则要求转义且禁 <script>,但无脚本兜底;建议粘贴前用浏览器与后台预览各看一次(skill 的用户提示也是这个流程)。
  • 公众号后台仍可能在后续改版中清洗更多属性 — "稳定 CSS 子集"是当前经验集合,平台规则变化会带来新的粘贴失真,需要更新样式库。
  • 风格借鉴可能被误用为品牌模仿 — skill 禁止复制 logo/品牌资产,但版式接近 Stripe/Apple/WIRED 等;对外发布时应注意观感联想与商标边界。
风险提醒:蓝色,知晓即可。判级依据取自本 skill 目录内行为,可自证:无脚本、无网络外發(不加载外部字体/CSS/图片/脚本,全文 URL/字体/CDN 命中均出现在"不要联网加载""禁止使用"等约束条款与本地校验命令里,无真实外發调用)、无凭证读取;但交付必然在用户目录写盘(公众号HTML输出/*.html、00_公众号HTML风格总览.html、风格目录.md)并打开预览,属"仅本地脚本/CLI 与本地读写,无外發",按批4终版口径与站内先例(canvas-design / dbs-decision 等本地读写类)落 🔵 而非 🟢。

5第二遍独立确认

  • [ok] 目录仅 3 个文件、无脚本可执行 — find skills/dbs-wechat-html -type f 返回 SKILL.md、agents/openai.yaml、templates/styles.md。
  • [ok] 无网络外发(不加载外部字体/CSS/图片/脚本) — 全文 URL/字体/CDN 相关命中均为禁止条款与本地校验示例;无 fetch/curl/http 请求指令。
  • [ok] 15 个风格 id 与样式库条目一一对应 — SKILL.md 风格表 15 项与 styles.md 的「01 minimal … 15 event」15 个小节完全对齐。
  • [ok] 粘贴兼容性规则与实际检查项一致 — "禁止 <style>/class/id/伪元素/JS/外链"与静态检查 1–3 条、rg 扫描表达式互相覆盖。
  • [ok] "执行前必须读取 templates/styles.md"确有对应资产 — 样式库文件存在(197 行),开头自述为样式权威来源。
  • [ok] 无凭证读取 / 无远程调用 — 全文无 env/API_KEY/token/keychain 类指令,也无任何外部服务调用。
  • [ok] 写盘范围是否被夸大或漏记 — SKILL.md 明确输出目录、文件名规则与总览页/风格目录三处产物,已如实记入 file_writes(含用户直接贴 Markdown 时改用当前工作目录)。
  • [ok] "不复制品牌资产"的边界声明 — 注意事项原文存在;属设计纪律,已在 traits/risks 中如实标注为"范式相似仍可能联想"。

6结论

  • 以真实复制行为为约束反推设计:先是"浏览器丢 <head>、公众号再清洗",因此强制逐元素内联样式,产出可粘贴率显著更高。
  • 15 种风格外置为可审计的样式库,风格选择既支持参数也支持自然语言映射,用户没指定时先问不擅自决定。
  • 交付有机械可验的检查清单与命令,避免"预览好看、粘贴变形"。
  • 细节取舍务实:表格转列表、图片留占位、默认去双标题、保留链接文本,都是为公众号后台兼容性服务。
  • 零联网、纯本地产物:不加载外部资源,单文件行内样式 HTML 可离线预览与复制。
  • 适合:适合公众号作者把已写好的 Markdown 稿件快速转成可粘贴 HTML,并需要在多种视觉风格间挑选的场景(单风格交付、6 个推荐对比、或一次生成 15 套);适合没有排版工具、只有 Markdown 与浏览器的创作者。
    不适合:不适合需要维护统一设计系统/组件库的团队(这里是单次生成的行内样式 HTML,不是可复用样式工程);不适合要求像素级还原某媒体版式的需求(明确只借鉴范式、不复制品牌资产);不适合非公众号平台的原生发布(规则是为微信公众号后台的清洗行为定制的);不适合期望自动截图/发布到公众号的流程(skill 只生成并打开文件)。
    安装 agent 直装可复制
    ① 本站镜像 更新 2026-09-15
    方式 A · 人下载镜像包下载 dbs-wechat-html.tar.gz
    sha256: ab53f46d3e3f4706…
    方式 B · JSON 格式安装指南,复制给 agent
    安装指南
    agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
    ② 上游 GitHub · 原始来源
    能访问 GitHub?直接去上游安装(实时版,可能已更新)GitHub 原始 ↗
    本页镜像锁定 commit 8b8e33f1ec;上游为实时仓库。
    来源信息 GitHub 原始
    作者 / 仓库dontbesilent2025 / dontbesilent2025/dbskill
    Stars10121
    最近推送2026-09-07
    本 skill commit8b8e33f1ec
    许可CC BY-NC 4.0(非商业授权):仓库根 LICENSE 为 Attribution-NonCommercial 4.0 International (CC BY-NC 4.0),Copyright (c) 2026 dontbesilent;GitHub API license.spdx_id = NOASSERTION (CC BY-NC 4.0 非 SPDX 标准文本,GitHub 无法自动识别),不得用于商业用途
    本站信息
    收录日期2026-09-06
    分类文档与知识
    侦查报告AI 侦查 · 2 遍 · 2026-09-06
    本站镜像与 GitHub 原始是不同来源:本站锁定 commit 快照经 /r2 分发;GitHub 为实时上游,内容可能已更新。
    同分类邻近