用途
wechat-theme-extractor 用于从微信公众号文章提取视觉样式,并生成可供 markdown-wechat-converter 使用的主题。其工作流会从文章中推导字体排版、颜色、间距和区块样式,将生成的主题写入 markdown-to-wechat.html,并支持预览结果。
主要能力
- 从微信公众号文章 HTML 中提取标题与 js_content 正文片段。
- 直接读取 .extracted_content.html 并分析样式特征。
- 生成与 markdown-wechat-converter 兼容的主题对象。
- 将新主题注入 markdown-to-wechat.html,且不破坏已有主题定义。
- 写入后重新读取文件,校验主题条目是否真正写入。
- 校验成功后,在浏览器中打开 markdown-to-wechat.html 进行预览。
使用方式
运行脚本抓取文章:
python3 scripts/extract.py "https://mp.weixin.qq.com/s/xxxxx"
脚本职责
该 Python 脚本仅负责:
- 抓取文章 HTML
- 提取文章标题
- 提取 js_content 正文片段
- 将结果保存到 .extracted_content.html
AI 负责:
- 样式分析
- 主题生成
- 配置注入
- 写入后校验
- 打开预览
工作流
用户提供 URL -> 运行提取脚本 -> 生成 .extracted_content.html -> 分析样式 -> 生成主题配置 -> 写入 markdown-to-wechat.html -> 校验写入结果 -> 打开预览
注入 markdown-to-wechat.html 的规则
更新 markdown-to-wechat.html 时需遵循以下规则:
- 先找到真正的主题来源。编辑前搜索与主题相关的对象、数组、映射或 const 赋值。除非文件中确实存在,否则不要假设固定变量名。
- 保留既有结构。匹配文件当前的对象风格、引号风格、缩进和尾随逗号约定。不要重排无关部分。
- 追加而非盲目覆盖。若新主题名不存在,则在现有主题集合中追加新条目。若同名主题已存在,仅更新该条目,不要重复添加。
- 保持改动范围受控。只触碰主题定义块以及使主题可选择所需的最小注册钩子。除非文件结构要求最小连线改动,不要修改渲染逻辑、事件处理器或无关 UI 代码。
- 写入后校验。重新读取编辑过的段落,确认主题 key、标题和核心样式属性存在。若无法安全定位主题块,则停止并报告目标文件结构需人工确认。
主题片段示例
生成与目标文件现有结构匹配的主题对象。以下为最小参考形状:
{ id: "wechat-clean-blue", name: "WeChat Clean Blue", styles: { body: { fontFamily: ""PingFang SC", "Helvetica Neue", sans-serif", fontSize: "16px", color: "#2b2b2b", lineHeight: "1.75", backgroundColor: "#ffffff" }, h1: { fontSize: "24px", fontWeight: "700", textAlign: "center", color: "#1f3a5f" }, h2: { fontSize: "20px", fontWeight: "700", color: "#1f3a5f", borderBottom: "2px solid #9ec1ff" }, blockquote: { color: "#4a5568", backgroundColor: "#f7fbff", borderLeft: "4px solid #7fb3ff", padding: "12px 16px" } } }
写入时:
- 匹配 markdown-to-wechat.html 中实际使用的字段名
- 若目标文件使用数组、映射或嵌套注册,则转换此形状
- 至少包含主题 key、显示名称和核心排版样式
适用场景
当用户符合以下情况时使用该技能:
- 提供 mp.weixin.qq.com 文章 URL
- 希望从微信公众号文章提取排版、颜色、间距和区块样式
- 希望为 markdown-wechat-converter 生成新主题
- 希望将主题写入 markdown-to-wechat.html 并进行预览
限制
以下情况不要使用该技能:
- URL 不是微信公众号文章
- 用户仅需提取文章文本,不需要主题分析
- 目标项目不包含 markdown-wechat-converter 或 markdown-to-wechat.html
输出文件
scripts/.extracted_content.html:提取的文章正文 HTML,顶部带标题与来源 URL 注释。
校验清单
- 文章 HTML 抓取成功
- .extracted_content.html 存在且非空
- 标题和 js_content 已提取
- 新主题条目已存在于 markdown-to-wechat.html
- 预览页面成功打开
暂未提供的信息
官方文本(official_text)为空,其余收费方式、价格、支持平台与具体效果等信息暂未提供。