返回顶部
a

auto-md2imgMarkdown转图片

Convert Markdown content to images automatically with GitHub styling, full Chinese support, smart pagination, emoji support, and syntax highlighting. Supports height-based pagination and JPEG quality adjustment.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.3.1
安全检测
已通过
312
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

auto-md2img

🥑 Auto MD2IMG 技能

自动将 Markdown 内容转换为图片,用于在任何消息平台发送,提升阅读体验。



✨ 功能特性

  • - 🖼️ 自动将 Markdown 转换为高清图片
  • 📄 支持智能分页,每页最多 500 行
  • 📏 新增:基于高度的分页模式(不依赖行数,按像素高度阈值分割)
  • 🧱 按内容块分割,不会截断标题、代码块、表格等
  • 🔢 自动添加页码标注
  • 🀄 完美支持中文字体
  • 😊 支持彩色 Emoji
  • 🎨 GitHub 风格渲染
  • 📸 自动检测 JPEG/PNG 格式,支持质量调整
  • 🔍 调试模式,输出详细日志并保存分页内容
  • ⚡ 后台浏览器管理,提升重复转换性能
  • 🧹 自动缓存清理,保护隐私

📖 使用方法

当需要向用户回复 Markdown 格式内容时:

基本用法

  1. 1. 将 Markdown 内容保存到临时文件(或直接传递字符串)
  2. 调用 scripts/mdtopng.js 生成图片
  3. 使用 标签向用户发送图片
  4. 根据不同消息平台使用对应的图片标签嵌入路径
  5. 如果图片生成失败,则回退到发送纯文本 Markdown

脚本调用

bash

基本用法


node scripts/mdtopng.js input.md

指定输出目录

node scripts/mdtopng.js input.md ./output

自定义每页行数

node scripts/mdtopng.js input.md ./output 300

自定义 JPEG 质量(1-100,默认 80)

node scripts/mdtopng.js input.md ./output 300 75

基于高度的分页(自定义高度阈值,单位像素,例如 2000px)

node scripts/mdtopng.js input.md ./output --height 2000

完全禁用分页(输出单张图片)

node scripts/mdtopng.js input.md ./output --height 0

启用调试模式(输出详细日志 + 保存分页内容)

node scripts/mdtopng.js input.md ./output --debug

参数说明

参数类型必填默认值说明
inputFilestring-输入 Markdown 文件路径
outputDir
string | ❌ | 当前目录 | 输出图片目录 | | maxLinesPerPage | number | ❌ | 500 | 每页最大行数(基于行数的分页) | | imageQuality | number | ❌ | 80 | JPEG 图片质量(1-100) | | --height | number | ❌ | - | 基于高度的分页阈值(像素)。≤0 时完全禁用分页(输出单张图片)。会覆盖基于行数的分页。 | | --debug | 标志 | ❌ | - | 启用调试模式,输出详细日志并保存中间分页内容 |

🔧 配置

字体配置

  • - 默认字体:文泉驿微米黑、文泉驿正黑、Noto CJK SC、Noto Color Emoji
  • 支持系统字体回退

输出配置

  • - 输出分辨率:2x(高清)
  • 最大宽度:900px
  • 自动适应内容高度
  • PNG 格式输出

分页配置

  • - 默认每页最大行数:500(基于行数的分页)
  • 基于高度的分页:按像素阈值分割(--height 参数),不依赖行数
  • 按内容块智能分割
  • 不会截断标题、代码块、引用、表格、列表
  • 设置 --height 0 可完全禁用分页

调试模式

使用 --debug 标志启用时:
  • - 输出详细处理日志(内容块检测、分割点、渲染步骤)
  • 保存中间 HTML 渲染文件用于调试
  • 将原始分页分割内容保存为单独的文本文件
  • 包含性能分析的时间指标

📂 脚本路径

scripts/mdtopng.js - 主要的 Markdown 转图片工具

scripts/mdtopng.js 功能:

  • - 读取 Markdown 文件
  • 智能内容块分割
  • HTML 渲染
  • Puppeteer 截图
  • 缓存清理



🎯 使用示例

示例 1:简单转换

javascript
import { exec } from child_process;
import path from path;

const markdownContent = # Hello World\n\n这是测试内容。;

// 保存到临时文件
const tempFile = path.join(/tmp, temp.md);
fs.writeFileSync(tempFile, markdownContent);

// 调用转换脚本
exec(node scripts/mdtopng.js ${tempFile}, (error, stdout, stderr) => {
if (error) {
console.error(转换失败:, error);
return;
}
console.log(转换成功:, stdout);
});

示例 2:在聊天应用中使用

javascript
// 当需要回复 Markdown 内容时
async function replyWithMarkdown(content, outputDir) {
try {
// 调用 md2img 转换
const baseName = reply_${Date.now()};
const files = await convertMarkdown(content, outputDir, baseName);

// 使用 标签发送图片
for (const file of files) {
await sendMessage();
}
} catch (error) {
// 失败时回退到纯文本
await sendMessage(content);
}
}

示例 3:基于高度的分页

bash

按 2000px 高度分割,适合移动端查看


node scripts/mdtopng.js long_article.md ./output --height 2000

不分页,输出单张长图

node scripts/mdtopng.js short_note.md ./output --height 0

调整 JPEG 质量以加快分享速度

node scripts/mdtopng.js report.md ./output 500 60 --height 1500

示例 4:调试模式

bash

调试模式,用于排查转换问题


node scripts/mdtopng.js problem_content.md ./output --debug


🔒 安全特性

  • - ✅ 路径遍历防护(输出目录白名单)
  • ✅ 文件名净化(非法字符替换)
  • ✅ 内容大小限制(最大 10MB)
  • ✅ 行数范围验证(10-10000)
  • ✅ 可配置的缓存清理策略

📊 性能指标

指标数值
首次浏览器启动~260ms
小文档转换(200 字)
~2.3s | | 中等文档转换(2KB) | ~2.6s | | 大文档转换(5KB) | ~3.6s | | 重复转换性能提升 | 4.5%(单次)/ 50-70%(批量) |

🎨 渲染效果

支持的 Markdown 元素:

  • - ✅ 标题(H1-H6)
  • ✅ 文本样式(加粗、斜体、删除线、行内代码)
  • ✅ 代码块(语法高亮)
  • ✅ 列表(有序、无序)
  • ✅ 表格
  • ✅ 引用块
  • ✅ 链接
  • ✅ 图片
  • ✅ Emoji

🆕 v1.3.1 新增功能

  • - 📏 基于高度的分页模式(按像素分割,不依赖行数)
  • 📸 JPEG 质量调整(1-100,在质量和文件大小之间取得平衡)
  • 🔍 调试模式,用于排查转换问题
  • ⚡ 重复转换性能提升 50% 以上
  • 🧹 更积极的缓存清理,更好的隐私保护
  • 📁 自动创建目录:如果输出目录不存在,自动创建(无需手动设置)
  • 🐛 修复输出目录不存在时的 ENOENT 错误
  • 🐛 修复png 截图不支持质量错误
  • 🐛 修复 JPEG 质量设置不生效的问题

🛠️ 技术栈

  • - Node.js >= 14
  • Puppeteer(无头浏览器)
  • marked(Markdown 解析)
  • GitHub 风格 CSS

📝 触发场景

所有需要输出 Markdown 格式内容的回复场景:

  • - 代码片段分享
  • 技术文档回复
  • 表格数据展示
  • 列表整理
  • 长文本格式化
  • 用户输入中文时使用 skill-cn.md



⚠️ 注意事项

1.

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 auto-md2img-1776126676 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 auto-md2img-1776126676 技能

通过命令行安装

skillhub install auto-md2img-1776126676

下载

⬇ 下载 auto-md2img v1.3.1(免费)

文件大小: 20.67 KB | 发布时间: 2026-4-15 11:47

v1.3.1 最新 2026-4-15 11:47
🐛 Bug fixes: auto directory creation, fix ENOENT error on missing output dir, fix PNG quality error, fix JPEG quality not working

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部