wechat-article-preset-preview

公众号文章预设主题排版--Markdown 一键渲染主题并生成复制页预览链接(不含 AI 结构化预览)

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "wechat-article-preset-preview" with this command: npx skills add shiker1996/wechat-article-typeset

公众号文章预设主题排版

当用户需要对文章做预设主题排版并生成可复制到公众号的预览链接时:输入是用户的 Markdown 文件,本技能只产出 预设主题渲染版 的预览链接(不做 AI 结构化预览)。

When to Use

  • 用户明确要「预设主题/主题排版/preset」并希望直接得到复制页预览链接
  • 用户提供一篇 Markdown(如 article.md),希望用主题/版式快速美化并复制到公众号后台。
  • 若用户希望「AI 自由排版/结构化改写 HTML/自定义卡片样式」等,请使用AI 生成预览对应技能;本技能不处理该链路。

输入与输出

  • 输入:用户的 Markdown 文件(如 article.md 或用户指定的 .md 路径)。
  • 输出(两种等价形态,至少满足其一):
    • 链接形态:一条文章预览链接https://edit.shiker.tech/copy.html?id=xxx),即预设主题渲染版。
    • 完整产物形态:在返回上述预览链接的同时,一并给出本技能约定的全部技能产物(预设主题 HTML、含预览地址的 txt),可为:
      • 直接给出这两个文件的内容
      • 或明确给出这两个文件在本地/远端的路径(脚本已按约定写入,详见下文「技能产物(必交)」)。

技能产物(必交,防止 AI 执行时偷懒)

执行本技能时必须在用户 Markdown 同目录(或约定工作目录)产出以下文件,缺一不可:

产物说明约定路径/文件名
预设主题 HTML使用主题/版式(或 preset)将 Markdown 渲染为公众号可复制 HTMLarticle.preset.html
含预览地址的 txt包含预设主题版的预览链接,以脚本输出为准,便于用户直接打开wechat-preview-url.txt
  • 不得仅口头返回链接而不写入 txt;不得跳过预设主题 HTML 的落盘,否则视为未完成技能。
  • 预览链接以脚本标准输出或上述 txt 文件内容为准,勿以 AI 转述为准(长 id 易抄错)。

1. 整体流程(Md → 预设主题预览链接)

  1. 读取用户的 Markdown 文件(用户提供的 .md 路径)。
  2. 生成预设主题 HTML:使用预设(--preset)或主题/版式(--theme + --layout)对 Markdown 做主题渲染,得到 article.preset.html
  3. 请求复制页:将渲染后的 HTML POST 到 edit.shiker.tech/api/copy,得到一条预览链接。
  4. 将链接交给用户:以脚本标准输出或同目录写入的 wechat-preview-url.txt 为准(勿让 AI 自行"转述"链接,否则长 id 易漏数字导致链接错误);用户浏览器打开 → 点击「复制到剪贴板」→ 粘贴到公众号后台。
  5. 必交产物:同目录须存在 预设主题 HTMLarticle.preset.html)与 含预览地址的 txtwechat-preview-url.txt),详见上文「技能产物(必交)」表。

2. 脚本入口

  • **wechat-copy.js(推荐)**:输入一个 .md,生成预设主题 HTML + 单条预览链接,并在 md 同目录写入 article.preset.htmlwechat-preview-url.txt
  • wechat-html.js:仅从 Markdown 生成预设主题 HTML(不请求预览链接)。

3. 文章类型与推荐预设(便于选主题)

本技能仅做预设主题渲染(PRESET),不区分“格式一/格式二”。你只需要按文章气质选择 --preset(或 --theme + --layout)即可。

文章类型/气质推荐选择说明
资讯密集(早报/周报/速读)优先用 --preset <预设名>更强调层级与可扫读性。
深度长文(复盘/观点/教程)优先用 --preset <预设名>更强调段落节奏与引用块。
通知/公告(偏正式)--theme <themeId> --layout <layoutId> 微调方便固定到一套“公司风格”组合。
追求稳定一致(团队长期复用)固定一个 --preset 或固定 --theme/--layout所有人使用同一组合,输出风格一致。

查看可用预设/主题/版式:

  • node wechat-html.js --list-presets
  • node wechat-html.js --list-themes
  • node wechat-html.js --list-layouts

4. API 说明(edit.shiker.tech)

  • 接口POST https://edit.shiker.tech/api/copy
  • 请求体Content-Type: application/json{ "html": "完整 HTML 字符串" }
  • 响应{ success: true, data: { id, url } }url 即为预览页地址。

5. 注意点

  • 图片:内容中的图片需为可公网访问的 URL,否则公众号内无法显示。
  • 公众号粘贴时,仅引用(blockquote)和表格会保留背景色与边框;脚本已按此规则将需强调的块转为 blockquote。
  • 预览链接勿以 AI 转述为准:长 id 容易被 AI 抄错或漏数字,导致链接失效。请以脚本标准输出同目录下生成的 wechat-preview-url.txt 中的链接为准;若 AI 提供了链接,请与上述文件内容核对。

简要流程小结

  1. 执行 **node wechat-copy.js <input.md>**(可选加 --preset--theme/--layout)。
  2. 得到一条预览链接(标准输出),并在同目录写入 article.preset.htmlwechat-preview-url.txt
  3. 打开链接复制后粘贴到公众号。

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Podcast Episode Launch Pack

Turn a podcast transcript, episode outline, or topic into a complete launch package. Outputs episode titles (curiosity + clarity variants), full show notes w...

Registry SourceRecently Updated
610Profile unavailable
General

LinkedIn Post Optimizer

Takes an existing LinkedIn draft and returns a fully optimized version with a change log explaining every decision. Use when a user pastes a LinkedIn post an...

Registry SourceRecently Updated
600Profile unavailable
General

YouTube Launch Kit

Turn a video topic, rough notes, or transcript into a complete YouTube launch package. Outputs two title variants, a keyword-optimized description with times...

Registry SourceRecently Updated
600Profile unavailable
General

Topic Selection Expert

选题专家:全网热点监控 → 筛选打分 → 初步三要素 → 写入飞书选题库 → 推送Telegram。Use when user asks to 启动选题专家 / 获取选题推荐 / 查看热点 / 帮我选题。

Registry SourceRecently Updated
3490Profile unavailable