8000 GitHub - fengdu2077/wx-layout: 免费、离线、可复用的公众号模块化排版工具:Markdown 写稿,一键生成可粘贴到公众号后台的排版;可插拔主题,附两个 AI Agent Skills。 · GitHub
[go: up one dir, main page]

Skip to content
fengdu2077Public

About

免费、离线、可复用的公众号模块化排版工具:Markdown 写稿,一键生成可粘贴到公众号后台的排版;可插拔主题,附两个 AI Agent Skills。

Resources

Stars

16 stars

Watchers

0 watching

Forks

Repository files navigation

公众号排版工坊・wx-layout

一套免费、离线、可复用的公众号模块化排版工具:你用 Markdown 写文章、选定一套主题,

一键生成排好版的网页,点「一键复制」后粘贴到公众号后台即可。

不付费、不联网、不依赖任何第三方服务,采用「共享内核 + 可插拔主题」结构:

内核只一份,主题可无限增加;同一篇稿子换个主题就换一种排版。


快速开始

普通用户(不想装 Python):直接下载单文件

  • 下载 dist/公众号排版工坊.html(约 80 KB),双击用浏览器打开即可。

  • 内核、多套主题、示例全部内联,零依赖、断网可用,无需安装任何软件。

想要源码 / 自定义主题:

  1. 准备好文章,用普通 Markdown 写(按《docs/AI排版手册.md》加模块标记)。

  2. 把 .md 拖到 渲染.bat 图标上(Windows,默认「蓝白杂志」主题),自动弹出网页。

  3. 点网页顶部「一键复制排版结果」→ 公众号后台新建图文 → 正文区 Ctrl+V。

也可以直接双击

离线网页版.bat

打开纯网页版(无需 Python / 服务器),在左侧编辑、右侧预览。

用 AI Agent 排版:把 Skill 装进 AI,之后直接发文章给它

  • 复制下一节《把两个 Skill 装进 AI Agent》里的一段话发给 AI,它会自动安装并验证; 装好后只要说「帮我把这篇文章排成公众号」即可。

把两个 Skill 装进 AI Agent(复制一段话即可)

仓库自带两个 AI Skill(wx-layout 排版器、wx-theme-extractor 主题提取器)。 无需手动找目录、复制文件:把下面这段话连同仓库路径发给你的 AI Agent,它会自动完成安装与验证。

前提:AI Agent 能访问你下载 / 克隆的 wx-layout 仓库;本机已装 Python 3.8+(用于安装验证与日常排版)。

第一步:复制以下内容,把 <仓库路径> 替换为实际路径后发给 AI

请帮我把「公众号排版工坊(wx-layout)」配套的两个 AI Skill 安装到你的技能目录,并验证。

仓库路径(含 README 的目录):<仓库路径,例如 E:\fengdu\wx-layout>
(若你在本对话中已经能访问这个仓库,直接使用即可。)

要求:
1. 识别你所在平台的用户技能目录(Agent Skills 目录);若你不确定路径,先告诉我准确位置,不要随意放置。
2. 把仓库 skills/ 下的 wx-layout/ 和 wx-theme-extractor/ 两个目录完整复制过去,保持 SKILL.md
   文件名与 references/、scripts/ 子目录结构不变,不要只复制 SKILL.md。
3. 这两个 skill 运行时依赖完整的 wx-layout 项目仓库(wx_core.py、render.py、themes/)。请任选其一配置项目根:
   - 永久设置环境变量 WX_LAYOUT_ROOT 指向仓库路径;或
   - 之后调用 scripts/theme_contract.py 与 render.py 时一律加 --root <仓库路径>。
4. 安装后运行验证:
   python "<技能目录>/wx-layout/scripts/theme_contract.py" 蓝白杂志 --root <仓库路径>
   能打印主题令牌与 roles 即成功;失败则把报错原文告诉我并修复。
5. 最后告诉我:安装路径、两个 skill 的触发方式(如「帮我把这篇文章排成公众号」),
   以及日常排版时我该如何把文章发给你。

第二步:AI 回复安装成功后,直接把写好的文章发给它(或拖入 .md 文件),说明想用的主题即可。

也可以手动安装:把两个 skill 目录复制到对应平台的技能目录,结构保持不变:

平台 技能目录
豆包办公(Doubao Work) C:\Users\<用户名>\AppData\Local\DoubaoWork\User Data\<Profile>\.doubaowork\agent_mode\workspace\.user_skills\
Claude Code ~/.claude/skills/(Windows:C:\Users\<用户名>\.claude\skills\)
Cursor ~/.cursor/skills/(全局)或项目内 .cursor/skills/
其他兼容 Agent Skills 的平台 该平台约定的 skills 目录,保持 SKILL.md 结构不变

不安装也能用:直接把 skills/wx-layout/SKILL.md 连同你写好的文章发给 AI,它会照流程执行。 完整说明见 skills/README.md,让任意 AI 排版的通用规则见《docs/AI调用指南.md》。


特性

  • 免费离线:只用 Python 标准库,无需 pip install、无需联网;单文件版连 Python 都不需要。

  • 模块化排版:刊头、章节标题、正文、截图、引用、小标题、视频卡片、结尾、作者名片等按模块拼。

  • 多主题:主题放在 themes/,加一套 = 新增一个文件,不改内核、不影响老主题。

  • 内容与样式分离:同一份稿子在不同主题下自动呈现不同形态(纵向 / 横向、含图 / 不含图等)。

  • 微信内部格式输出:生成的是微信认可的 leaf 内部格式,配合一键复制,粘贴干净、不错位。

  • 配套两个 AI Skill:skills/ 内置 wx-layout(把你写好的成稿只做排版、不代写) 与 wx-theme-extractor(从任意公众号文章复刻新主题);可安装到 Agent,也可让任意 AI 直接照《docs/AI 调用指南.md》执行。


四种使用方式

方式 是否需要 Python 入口 适用
单文件 否 dist/公众号排版工坊.html,双击 普通用户、分享给他人
命令行渲染 是 python render.py 文章.md --open,或拖 渲染.bat 写作者、批量使用
本地工作台 是 双击 工作台.bat(serve.py) 可视化三栏、实时预览
纯网页版 否 双击 离线网页版.bat(web/index.html) 不想装 Python、想用网页

目录结构

wx-layout/
├─ README.md                  项目说明(本文件)
├─ LICENSE                    MIT 开源协议
│
├─ 渲染 / 工作台 / 离线网页版.bat   Windows 双击/拖拽入口(普通用户用这三个)
├─ 打包单文件.bat                  重新打包分发用单文件(进阶)
├─ render.py                  命令行入口(渲染单篇)
├─ serve.py                   本地工作台(三栏可视化)
├─ wx_core.py                 共享内核:解析 + 微信适配 + 复制(一般不用改)
│
├─ themes/                    主题:每套一个 .py(蓝白杂志 / 暖橙横向 / 暖棕手记 / 翠绿科技)
├─ web/                       纯网页版:内核 core.js + 主题 js + 示例(双击 bat 打开)
├─ examples/                  各主题示例源稿(.md)与渲染预览(.html)
├─ skills/                    两个 AI Skill(wx-layout 排版器 / wx-theme-extractor 主题提取器)
│
├─ docs/                      全部文档
│  ├─ AI排版手册.md            模块语法手册(写稿/排版先看它)
│  ├─ AI调用指南.md            让任意 AI 帮你排版的可复制规则
│  ├─ 主题Demo生成规范.md       新增主题时如何生成示例(维护者向)
│  └─ 项目架构蓝图.html         架构设计与技术决策(维护者向)
│
├─ tools/                     主题提取、保真对比、打包、双端校验脚本(维护者向)
└─ dist/                      打包好的单文件分发产物(公众号排版工坊.html)

普通用户只用得到根目录的三个 bat 或 dist/ 单文件;写作者用 render.py 与 docs/AI排版手册.md;要扩展主题 / 安装 AI Skill 才会进入 tools/、skills/、docs/。


环境要求

  • 单文件 / 纯网页版:无需 Python,任意现代浏览器即可(Edge、Chrome、360、QQ、Safari、手机浏览器)。

  • 命令行 / 工作台:Python 3.8+,仅使用标准库,无需联网、无需安装第三方包。


命令行用法

# 用默认主题渲染并打开
python render.py "文章.md" --open

# 指定主题(主题名 = themes 下文件名,不带 .py)
python render.py "文章.md" --theme 翠绿科技 --open

# 指定输出位置
python render.py "文章.md" -o "out.html"

# 列出当前所有主题
python render.py --list-themes
参数 作用
--theme 主题名 选择主题,不填用默认(蓝白杂志)
--open 渲染后自动在浏览器打开
-o 路径 指定输出 HTML 路径
--list-themes 列出所有可用主题

两个 AI Skill(可选)

仓库自带两个 AI Skill,自动安装的方法见上方《把两个 Skill 装进 AI Agent》, 完整说明见 skills/README.md:

  • wx-layout(排版器,高频):把你已写好的文章(文件或全文)交给它,它读取主题真实 契约,保留你的原文、只加模块标记,再调 render.py 渲染并引导一键复制。只排版、不代写。
  • wx-theme-extractor(主题提取器,偶尔):给它一篇公众号文章的保存页(.mhtml/.html), 它用 tools/ 脚本抽 DOM 与样式,归纳出一套新主题(Python + JS 双端),生成示例并通过 保真 / 双端校验后入库。

不安装 Skill 也能用任意 AI 排版:你先写好文章,AI 只负责排版(保留内容、只加模块标记), 程序负责精确渲染:

  1. 把《docs/AI 调用指南.md》里的「通用排版规则」连同你已写好的文章发给任意 AI(ChatGPT / Claude /

    Gemini / Kimi / DeepSeek / 文心 / 通义 / 豆包等)。

  2. AI 输出排版后的 Markdown,你把它粘进单文件 / 工作台,选主题、看预览。

  3. 一键复制 → 粘贴公众号后台。

最稳的做法是把「主题示例」发给 AI 当范本,让它照示例的版式排版、不改动你的内容; 没给公众号名称时,AI 会写「【请改成你的公众号名称】」占位并提醒你替换。


模块与主题

  • 模块语法见《docs/AI排版手册.md》:刊头 issue、章节 part、小标题 sub、截图 shot、

    引用 quote、视频卡片 video、结尾 end、作者名片 author 等。

  • 同一模块在不同主题下形态可以不同:例如「卡片」在某主题里是封面图 + 标题 + 摘要 + 按钮(纵向),

    在另一主题里仅标题 + 摘要(横向、无图无按钮)。

  • 作者写「语义 + 全量字段」,主题按需取用;字段缺失时自动降级,不会报错留白。


如何加一套主题(贡献指南)

  1. 在 themes/ 新增一个 .py(可复制现有主题改),定义 THEME 令牌与各 render_<role>。

  2. 在 web/themes/ 增加对应的 JS 主题(与 Python 保持一致)。

  3. 用 examples/ 下的示例验证;运行 python tools/web_parity.py(并 node tools/web_parity.js)

    确保 Python 与 JS 两端渲染一致。

  4. 从现有公众号文章提取主题的规范见《docs / 主题 Demo 生成规范.md》。

约束:样式只来自真实 HTML / 主题代码,不臆造;新增主题不改内核、不改老主题。


打包与分享

  • 双击 打包单文件.bat(或 python tools/build_web_single.py),会重新生成

    dist/公众号排版工坊.html,把这一个文件发给他人即可,对方双击即用。

  • 可进一步部署到免费静态托管(GitHub Pages / Cloudflare Pages 等)得到在线网址。


常见问题

Q:双击 渲染.bat 一闪而过?

A:需要把 .md 拖到 bat 图标上,而不是直接双击;不想装 Python 就用单文件版。

Q:提示「找不到 python」?

A:Python 未加入 PATH,安装时勾选 Add Python to PATH,或改用 py render.py 文章.md。

Q:粘贴后图片不显示?

A:外链图片可能被拦截;先在公众号后台上传、复制 mmbiz.qpic.cn 地址最稳妥;图片不支持本地路径。

Q:提示「文字背景尽量不要使用渐变」?

A:这是编者按 / 作者卡片的底色、与主题一致,不影响阅读,点「继续插入」即可。

Q:视频怎么处理?

A:视频需先上传到公众号素材库、是播放框,无法用网页样式生成;用 :::video 渲染成视频卡片,

发布时把光标放进上方视频位、点工具栏「视频」插入,下方文字不丢失。

Q:模块能重复用吗?

A:part / sub / shot / quote / video 可多次使用;issue / author / end 每篇各一次。


路线图

  • 共享内核 + 可插拔主题、微信内部格式与一键复制

  • 多套主题(蓝白杂志 / 暖橙横向 / 暖棕手记 / 翠绿科技)

  • 纯网页版、本地工作台、单文件打包

  • 任意 AI 可调用的通用规则

  • 两个 AI Skill 随仓库提供(skills/wx-layout 只排版不代写、skills/wx-theme-extractor 复刻新主题)

  • 免费静态托管的在线版本

  • 更多主题与移动端 / 深色模式等体验打磨


开源协议

本项目基于 MIT 协议开源,见根目录 LICENSE,可自由使用、修改与分发。

About

免费、离线、可复用的公众号模块化排版工具:Markdown 写稿,一键生成可粘贴到公众号后台的排版;可插拔主题,附两个 AI Agent Skills。

Resources

Stars

16 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

0