← 返回
未分类

Huo15 Markdown Export

火一五排版发布技能 / 火一五 markdown 排版 / 火一五 PDF 导出 / 火一五出版 / 火一五发布 / huo15-markdown-export — 【青岛火一五】markdown 一键导出 PDF / Word / HTML / 长图 / 公众号 inline。**12 主题**默认 **app...
火一五排版发布技能 / 火一五 markdown 排版 / 火一五 PDF 导出 / 火一五出版 / 火一五发布 / huo15-markdown-export — 【青岛火一五】markdown 一键导出 PDF / Word / HTML / 长图 / 公众号 inline。**12 主题**默认 **app...
zhaobod1 zhaobod1 来源
未分类 clawhub v0.4.4 3 版本 100000 Key: 无需
★ 0
Stars
📥 538
下载
💾 0
安装
3
版本
#latest

概述

火一五 Markdown 视觉渲染管线 v0.1.0

> Typora 不需要复刻——它的能力本来就是开源拼装的。这个 skill 把同一套拼装做成 AI 可调用的版本。

愿景: 加速企业向全场景人工智能机器人转变

理念: 打破信息孤岛,用一套系统驱动企业增长


〇、与 huo15-openclaw-office-doc 的边界(必读)

维度huo15-openclaw-office-dochuo15-markdown-export(本 skill)
---------
输入自然语言指令(写合同/写 PRD)已有的 markdown 文件
引擎python-docx + reportlab(结构化直出)markdown-it + Puppeteer + Pandoc
适用合同 / PRD / 会议纪要 / 故障报告等结构化业务公文技术博客 / 复盘 / 营销文案 / 客户报告等视觉化 markdown
主题一套企业公文规范7 套(报纸风/暗色/学术/公众号/小红书/品牌等)
多端docx / PDFdocx / PDF / HTML / 长图 / 公众号 inline / live preview

选择规则:用户给"目的+主题"让你新文档 → office-doc;用户给一份已有的 .md 让你"导出/渲染/换主题/做长图" → 本 skill。


一、能干什么(7 个工具一图)

input.md ──┬──► md2pdf.sh        ──► input.pdf      Chromium 打印,7 主题
           │     └─ md2pdf-puppet.js  (推荐)
           │     └─ pandoc engine     (可选,需 weasyprint/xelatex)
           │
           ├──► md2docx.sh       ──► input.docx     Pandoc + reference.docx 模板
           │
           ├──► md2html.js       ──► input.html     单文件自包含,可邮件可离线
           │
           ├──► md2image.js      ──► input.png      1080px 长图(小红书/朋友圈)
           │
           ├──► md2wechat.js     ──► input.wechat.html  juice 内联,粘到公众号编辑器
           │
           ├──► md-preview.js    ──► http://localhost  改文件自动 reload + 主题热切换
           │
           └──► md-diff.sh <from> <to>  ──► changelog.pdf   git ref 之间的变更报告

二、最小可用流程

# 1. 第一次用先装依赖
bash scripts/install-deps.sh

# 2. 用样例文件试一发
node scripts/md2pdf-puppet.js examples/sample.md             # → examples/sample.pdf
node scripts/md2html.js       examples/sample.md             # → examples/sample.html
node scripts/md2image.js      examples/sample.md             # → examples/sample.png(小红书)
node scripts/md2wechat.js     examples/sample.md             # → examples/sample.wechat.html

# 3. 实时预览
node scripts/md-preview.js    examples/sample.md             # 浏览器开 http://127.0.0.1:7777

三、主题选择决策树(给 AI 用)

> v0.4.0 起 11 套主题分两大流派阵营:信息密集(给信息读者)/ 视觉沉浸(给阅读者)。

> 设计规范完整版见 themes/DESIGN.md

默认 / 通用首选

用户场景关键词选哪个用什么脚本
---------
"苹果风 / 科技风 / 产品发布稿 / 默认就行"apple-tech ⭐ v0.4.2 默认md2pdfmd2html

信息密集类(短段落 + 列表 + 代码)

用户场景关键词选哪个用什么脚本
---------
"技术博客 / 长文随笔 / 个人复盘 / 报纸感"typora-newsprintmd2pdfmd2html
"技术博客 / 产品文档 / Anthropic 风 / Stripe 风 / 行业标杆审美"anthropic-doc ⭐ v0.4.0md2htmlmd2pdf
"GitHub / 开源 / API 文档"githubmd2pdf
"夜间阅读 / 投影 / 暗色"typora-nightmd2html
"学术论文 / IEEE / 投稿初稿"academicmd2pdf
"公司报告 / 客户提案 / 内部周报 / 带页眉页脚"huo15-brandmd2pdf
"changelog / release notes / 版本对比"huo15-brandmd-diff

视觉沉浸类(长段落 + 节奏 + 留白)

用户场景关键词选哪个用什么脚本
---------
"品牌故事 / 商业杂志 / 深度长文 / 访谈"editorial-magazine ⭐ v0.4.0md2pdfmd2html
"小说 / 长篇随笔 / 思考长文 / 沉浸阅读"manuscript-book ⭐ v0.4.0md2pdf
"研究报告 / 数据分析 / 教学讲义 / 论证型长文"tufte-handout ⭐ v0.4.0md2html(右挂边注需 ≥1100px 宽屏)

多端发布类(目标编辑器特殊)

用户场景关键词选哪个用什么脚本
---------
"微信公众号 / 推文"wechatmd2wechat(juice 内联化)
"小红书 / 朋友圈 / 长图文"xiaohongshumd2image(1080px PNG)

用户没说就默认 apple-tech(苹果科技风,通用 + 极简 + 黑白蓝 + 大留白,适合 90% 场景)。

做技术文档无脑选 anthropic-doc(2026 年行业主流审美)。


四、关键参数速查

md2pdf-puppet.js

node scripts/md2pdf-puppet.js <input.md> [output.pdf] \
  --theme typora-newsprint     # 11 选 1(见 §三 决策树)
  --paper A4                   # A4 / Letter / A3 / A5
  --margin 18                  # 四边等距 mm(默认 18)
  --header "我的文档"          # 自定义页眉(huo15-brand 主题已内置)
  --footer "{pageNumber} / {totalPages}"
  --print-urls                 # 链接后追加 (URL) 文本
  --no-mermaid                 # 跳过 mermaid 等待加速

md2docx.sh(需先装 pandoc)

bash scripts/md2docx.sh <input.md> [output.docx] \
  --no-toc                              # 不要目录
  --reference templates/reference.docx  # 自定义模板

md2image.js

node scripts/md2image.js <input.md> [output.png] \
  --theme xiaohongshu          # 默认 xiaohongshu
  --width 1080                 # 画幅宽度
  --scale 2                    # 倍清(2 = retina)

md-diff.sh

bash scripts/md-diff.sh <from-ref> <to-ref> [output.pdf] \
  --theme huo15-brand          # 默认 huo15-brand
  --repo /path/to/git/repo     # 默认当前目录

五、AI 调用模式(集成到对话流)

模式 A:一步导出

> 用户:"把这份分析报告导成 PDF 给我"

> AI:Bash → bash scripts/md2pdf.sh /tmp/report.md /tmp/report.pdf --theme huo15-brand

模式 B:导出 + 转发(联动 huo15-wecom)

> 用户:"复盘报告导成 PDF 发到运营群"

> 1. AI 写 report.md/tmp

> 2. AI 调本 skill 导 PDF → /tmp/report.pdf

> 3. AI 调 huo15-wecom 发文件到目标群

模式 C:多端并行(一份 md 多种产出)

> 用户:"这篇文章我要发公众号 + 小红书 + 个人博客"

> AI 并行:

> - md2wechat.js article.md → 公众号粘贴版

> - md2image.js article.md --theme xiaohongshu → 小红书长图

> - md2html.js article.md --theme typora-newsprint → 博客 HTML

模式 D:AI 改主题

> 用户:"主题再暖一点,标题大一点"

> AI 用 Edit 工具直接改 themes/typora-newsprint.css--accenth1 font-size,不需要写新脚本——这是本 skill 的元能力。

模式 E:版本对比 PDF

> 用户:"v1.2 到 v1.3 都改了什么,出个 PDF 给客户"

> AI:bash scripts/md-diff.sh v1.2.0 v1.3.0 release-notes.pdf --theme huo15-brand

模式 F:企微/钉钉/微信对话渲染送达(harness 思维,最常用)

> 用户(在企微对话框):"把这份复盘渲染成 PDF 发给我"

> 1. AI 调 bash scripts/md-share.sh report.md --mode pdf --label "Q1 复盘报告"(默认 --prefer file)

> 2. AI 拿到 stdout 的 JSON,看到 files[0].path = /tmp/.../report-20260505.pdf + 3 个 next_actions

> 3. priority=1 send_file_to_channel:AI 看当前会话有哪个 _send_file / _upload_file 工具(wecom_send_file / wechat_send_file / dingtalk_send_file 等),直接发文件到对话框——用户在企微/钉钉/微信里看到的是带预览的文件消息,点开下载

> 4. priority=2 share_via_public_url(fallback):send_file 类工具都不可见 / 文件 > 25MB / 用户明确说"给我链接" → 才调 enhance_share_file 拿公网 URL。收到 URL 后检查 host:含 localhost:18789 就不要发(用户看 404 — 见 §八踩坑 §14),降级 priority=3

> 5. priority=3 local_path(降级):把 file.path 告诉用户(终端 / SSH 场景)

> 用户明确要链接:加 --prefer link 反转顺序,先拿 URL 再降级到发文件

模式 F 变体:用户明确要分享链接

> 用户:"给我个公网链接发给客户,链接形式"

> AI:bash scripts/md-share.sh report.md --mode pdf --label "..." --prefer link

> → JSON.next_actions 的 priority=1 变成 share_via_public_url,AI 调 enhance_share_file 拿 URL 发出

模式 G:发布 + 多端 + 自动归档(v0.3.0,复盘场景首选)

> 用户:"把 Q1 复盘发布出去,我可能要发企微 + 朋友圈 + 邮件"

> AI:bash scripts/md-publish.sh report.md --slug q1-summary --label "Q1 复盘"(默认 mode=all)

> → 一次渲染 4 端产物 + 写归档 ~/knowledge/huo15/<日期>-.md + JSON.post_share_actions

> → 4 个 file 各调一次 enhance_share_file 拿 URL → AI 用 Edit 把 URL 回写到 KB 归档 frontmatter share_urls:

> → 组装"多版本菜单"消息回当前会话(PDF / 长图 / HTML / 公众号 inline)— 用户自己决定转发哪个,不替用户广播

> 加 --with-qr 触发"二阶段二维码":AI 用 PDF URL 二刷 md2pdf-puppet --qr-url 出打印版

模式 H:卡片预览(v0.3.0)

> 用户:"发个链接给同事,要在企微对话框里直接看到标题+摘要预览"

> AI:md2html.js 生成 HTML(默认从 markdown 抽 H1 + 首段作 OG title/description)→ enhance_share_file → 发企微

> 同事看到带卡片预览的链接(微信/企微/Slack/Twitter 都支持 OG)

模式 I:线下纸质 ↔ 线上文档(v0.3.0)

> 用户:"客户提案打印 50 份发线下,客户能扫码看在线版"

> 两阶段:① md-publish.sh proposal.md --mode pdf --with-qr 拿 PDF URL ② md2pdf-puppet --qr-url --qr-label "扫码看完整在线版" 二维码进每页页脚

> 用户打印 → 客户扫码 → 跳 enhance 公网链接看高保真 PDF


六、自定义主题(给 AI 的)

用户说"我要 X 风格" → AI 直接改 CSS,不要重写脚本:

  1. 先读 themes/DESIGN.md(8 大设计范式 + 红线清单 + 命名规范)
  2. 复制最相近的主题到新文件:cp themes/typora-newsprint.css themes/.css
  3. :root 中的 token override(差异化变量,如 --font-body / --color-accent / --measure / --leading)— 不要复制 _tokens.css 的内容,render.js 自动 prepend
  4. 写本主题独有的"特征"(双线 / drop cap / 边注 / 居中标题等)
  5. scripts/lib/render.jsAVAILABLE_THEMES 数组加新名字
  6. 在本 SKILL.md 第三节决策树加一行
  7. 立刻可用:--theme

主题文件不允许: