TTokenySpace
返回 Skills 列表

wechat-formatter

把 Markdown 文稿转换成微信公众号可用的内联样式 HTML。**触发场景**:用户说 "把 markdown 转成公众号能用的 HTML" / "排版一下这篇文章" / "套个主题" / "微信编辑器不识别我的样式" / 任何提到「公众号排版 / 微信 HTML / md 转 html / doocs 主题」的请求。微信编辑器不识别 `<style>` 标签,必须把所有 CSS 内联到每个

#中文
0

安装到 Tokeny(自动)

下载 ZIP
安装"wechat-formatter"技能
技能信息:
- 名称: wechat-formatter
- 标识: wechat-formatter
- 描述: 把 Markdown 文稿转换成微信公众号可用的内联样式 HTML。**触发场景**:用户说 "把 markdown 转成公众号能用的 HTML" / "排版一下这篇文章" / "套个主题" / "微信编辑器不识别我的样式" / 任何提到「公众号排版 / 微信 HTML / md 转 html / doocs 主题」的请求。微信编辑器不识别 `<style>` 标签,必须把所有 CSS 内联到每个
- 版本: 51731dc
下载地址:
https://www.tokeny.space/api/skills/wechat-formatter/download
继续

复制上方内容到 Tokeny 客户端并在会话中发送即可自动安装;也可直接 下载 ZIP并拖动到技能窗口安装。

SKILL.md

wechat-formatter · Markdown → 微信 HTML

只解决一件事:把 Markdown 转成微信编辑器粘贴后样式不丢的 HTML

核心问题

微信公众号编辑器不识别 <style> 标签和 CSS class。所以普通的 markdown → html 转换器输出的 HTML 粘到微信里会变成裸文本,所有样式全丢。

唯一可靠方案:所有 CSS 都内联到元素的 style="..." 属性里。doocs/md 是这件事的开源标准,本 skill 直接调用它。

使用方法

python3 scripts/markdown_to_wechat_doocs.py \
  --input drafts/article.md \
  --output drafts/article.html \
  --theme <主题名>

输出的 HTML 可以直接复制粘贴到微信公众号编辑器,样式全部保留。

主题选择

8 个主题,按文章内容氛围选(不只看标题关键词):

文章基调推荐主题适用
温暖、励志、有人情味orange个人成长 / 励志 / 鸡汤 / 故事
专业、理性、技术感blue技术评测 / 工具教程 / 商业分析
清新、自然、放松green健康养生 / 户外 / 环保
文艺、清爽、小清新cyan文艺随笔 / 旅行 / 生活美学
优雅、高端、品牌purple品牌故事 / 艺术文化 / 设计
简约、高级、极简black摄影 / 极简主题 / 严肃话题
热情、节日、醒目red节日 / 重要通知 / 活动
甜美、浪漫、少女pink情感 / 美妆 / 少女向

选择原则:读完 Markdown 后,问自己"这篇要给读者什么情绪",再选主题。不要靠标题关键词匹配(比如标题里没"励志"也可能是励志文)。

如果用户已在 .env 设了 MARKDOWN_THEME:除非用户明确说"换个主题",否则用 .env 里的。

输出验收

转出来的 HTML 必须:

  • 不包含 <style> 标签(所有样式必须内联)
  • 不包含 CSS class(微信不解析)
  • 图片如果是本地路径 → 必须先用 wechat-publisher 的 upload_material.py 换成微信 URL,否则发布后图片裂掉

不做的事

  • 不发布到草稿箱 → 用 wechat-publisher
  • 不写文章 / 不改稿 → 用 wechat-writer
  • 不生成封面图 → 用 wechat-publisher 的 generate_cover.py
  • 不上传本地图片到微信 CDN → 用 wechat-publisher 的 upload_material.py(如果 Markdown 里有 ![](./local/img.png),先告诉用户调用 publisher 上传换链接,再回来排版)

配置

.env 文件支持的变量:

MARKDOWN_THEME=        # orange / blue / green / purple / red / cyan / black / pink
                       # 留空则让 agent 按内容判断

评论

加载中…