Token导航 LogoToken导航TokenDH.com
开发操作浏览器clawhub未标认证来源可访问clear审计提醒

auto-md2img自动 MD2IMG

Agent Skill

auto-md2img 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 OpenClaw 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

11,432

周安装

467

GitHub Stars

公开资料未说明

下载量

3,699
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:auto-md2img(自动 MD2IMG)
来源仓库:https://github.com/fried-avocado/auto-md2img
安装命令:
openclaw skills install auto-md2img
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install auto-md2img

简介

auto-md2img 用于处理 GitHub 仓库、Issue 和 Pull Request 信息,适合在 OpenClaw 中围绕代码变更进行协作时使用。

  • 支持 Markdown 转图像,适用于文档可视化展示。
  • 通过 clawhub 安装,命令为 openclaw skills install auto-md2img,需结合来源仓库进一步确认具体用法。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写操作。
  • 当前功能描述基于原始 README,实际能力以官方文档为准。

SKILL.md

name
auto-md2img
emoji
🖼️
description
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.
author
OpenClaw Community
version
1.3.1
license
MIT
tags
["markdown", "image", "convert", "md2img", "puppeteer", "pagination", "quality", "chinese"]

🥑 Auto MD2IMG Skill

Automatically converts Markdown content to images for sending in any messaging platform, improving reading experience.


✨ Features

  • 🖼️ Automatically converts Markdown to high-definition images
  • 📄 Supports smart pagination, up to 500 lines per page
  • 📏 New: Height-based pagination mode (line count independent, split by pixel height threshold)
  • 🧱 Splits by content blocks, does not cut off headings, code blocks, tables, etc.
  • 🔢 Automatically adds page number annotations
  • 🀄 Perfect support for Chinese fonts
  • 😊 Supports colored Emoji
  • 🎨 GitHub-style rendering
  • 📸 Auto-detect JPEG/PNG format, supports quality adjustment
  • 🔍 Debug mode, output detailed logs and save pagination content
  • ⚡ Background browser management, improved performance for repeated conversions
  • 🧹 Automatic cache cleaning, privacy protection

📖 Usage

When you need to reply to users with Markdown formatted content:

Basic Usage

  1. Save Markdown content to a temporary file (or pass string directly)
  2. Call scripts/md_to_png.js to generate images
  3. Send images to users using <img> tags
  4. Embed paths using corresponding image tags for different messaging platforms
  5. Fall back to sending plain text Markdown if image generation fails

Script Invocation

# Basic usage
node scripts/md_to_png.js input.md

# Specify output directory
node scripts/md_to_png.js input.md ./output

# Custom lines per page
node scripts/md_to_png.js input.md ./output 300

# Custom JPEG quality (1-100, default 80)
node scripts/md_to_png.js input.md ./output 300 75

# Height-based pagination (custom height threshold in pixels, e.g. 2000px)
node scripts/md_to_png.js input.md ./output --height 2000

# Disable pagination entirely (output single image)
node scripts/md_to_png.js input.md ./output --height 0

# Enable Debug mode (output detailed logs + save pagination content)
node scripts/md_to_png.js input.md ./output --debug

Parameter Description

ParameterTypeRequiredDefaultDescription
inputFilestring-Path to input Markdown file
outputDirstringCurrent directoryOutput image directory
maxLinesPerPagenumber500Maximum lines per page (line-based pagination)
imageQualitynumber80JPEG image quality (1-100)
--height <px>number-Height-based pagination threshold in pixels. ≤0 disables pagination entirely (single output image). Overrides line-based pagination.
--debugflag-Enable Debug mode, output detailed logs and save intermediate pagination content

🔧 Configuration

Font Configuration

  • Default fonts: WenQuanYi Micro Hei, WenQuanYi Zen Hei, Noto CJK SC, Noto Color Emoji
  • Supports system font fallback

Output Configuration

  • Output resolution: 2x (HD)
  • Maximum width: 900px
  • Automatically adapts to content height
  • PNG format output

Pagination Configuration

  • Default maximum lines per page: 500 (line-based pagination)
  • Height-based pagination: Split by pixel threshold (--height parameter), independent of line count
  • Smart splitting by content blocks
  • Does not cut off headings, code blocks, quotes, tables, lists
  • Disable pagination entirely by setting --height 0

Debug Mode

When enabled with --debug flag:

  • Outputs detailed processing logs (content block detection, split points, rendering steps)
  • Saves intermediate HTML render files for debugging
  • Saves raw pagination split content as separate text files
  • Includes timing metrics for performance analysis

📂 Script Paths

scripts/md_to_png.js - Main Markdown to image tool

scripts/md_to_png.js Functions:

  • Reads Markdown files
  • Smart content block splitting
  • HTML rendering
  • Puppeteer screenshot
  • Cache cleaning

🎯 Usage Examples

Example 1: Simple Conversion

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

const markdownContent = `# Hello World\
\
This is test content.`;

// Save to temporary file
const tempFile = path.join('/tmp', 'temp.md');
fs.writeFileSync(tempFile, markdownContent);

// Call conversion script
exec(`node scripts/md_to_png.js ${tempFile}`, (error, stdout, stderr) => {
  if (error) {
    console.error('Conversion failed:', error);
    return;
  }
  console.log('Conversion successful:', stdout);
});

Example 2: Usage in Chat Applications

// When needing to reply with Markdown content
async function replyWithMarkdown(content, outputDir) {
  try {
    // Call md2img conversion
    const baseName = `reply_${Date.now()}`;
    const files = await convertMarkdown(content, outputDir, baseName);
    
    // Send images using <img> tags
    for (const file of files) {
      await sendMessage(`<img src="${file.path}">`);
    }
  } catch (error) {
    // Fall back to plain text on failure
    await sendMessage(content);
  }
}

Example 3: Height-based Pagination

# Split by 2000px height, ideal for mobile viewing
node scripts/md_to_png.js long_article.md ./output --height 2000

# No pagination, output single long image
node scripts/md_to_png.js short_note.md ./output --height 0

# JPEG quality adjustment for faster sharing
node scripts/md_to_png.js report.md ./output 500 60 --height 1500

Example 4: Debug Mode

# Debug mode for troubleshooting conversion issues
node scripts/md_to_png.js problem_content.md ./output --debug

🔒 Security Features

  • ✅ Path traversal protection (output directory whitelist)
  • ✅ Filename sanitization (illegal character replacement)
  • ✅ Content size limit (max 10MB)
  • ✅ Line count range validation (10-10000)
  • ✅ Configurable cache cleaning policy

📊 Performance Metrics

MetricValue
First browser startup~260ms
Small document conversion (200 words)~2.3s
Medium document conversion (2KB)~2.6s
Large document conversion (5KB)~3.6s
Repeated conversion performance improvement4.5% (single) / 50-70% (batch)

🎨 Rendering Effects

Supported Markdown elements:

  • ✅ Headings (H1-H6)
  • ✅ Text styles (bold, italic, strikethrough, inline code)
  • ✅ Code blocks (syntax highlighting)
  • ✅ Lists (ordered, unordered)
  • ✅ Tables
  • ✅ Quote blocks
  • ✅ Links
  • ✅ Images
  • ✅ Emoji

🆕 New in v1.3.1

  • 📏 Height-based pagination mode (pixel-based splitting, no line count dependency)
  • 📸 JPEG quality adjustment (1-100, balance between quality and file size)
  • 🔍 Debug mode for troubleshooting conversion issues
  • ⚡ 50%+ performance improvement for repeated conversions
  • 🧹 More aggressive cache cleaning for better privacy
  • 📁 Auto directory creation: Automatically creates output directories if they don't exist (no manual setup needed)
  • 🐛 Fixed ENOENT error when output directory doesn't exist
  • 🐛 Fixed "png screenshots do not support quality" error
  • 🐛 Fixed JPEG quality setting not working issue

🛠️ Tech Stack

  • Node.js >= 14
  • Puppeteer (headless browser)
  • marked (Markdown parsing)
  • GitHub style CSS

📝 Trigger Scenarios

All reply scenarios that require outputting Markdown formatted content:

  • Code snippet sharing
  • Technical document replies
  • Tabular data display
  • List organization
  • Long text formatting
  • Use skill-cn.md when user inputs Chinese

⚠️ Notes

  1. First conversion requires browser startup, slightly slower
  2. Recommend enabling skipCacheClear configuration for batch conversions
  3. Large documents may be split into multiple pages
  4. Image files occupy disk space, remember to clean up

Chinese Instructions (中文说明)

Usage

When you need to reply to users with Markdown formatted content:

  1. First save Markdown content to a temporary file (or pass string directly)
  2. Call scripts/md_to_png.js to generate images
  3. Send images to users using <img> tags
  4. Embed paths using corresponding image tags for different messaging platforms
  5. Fall back to sending plain text Markdown if image generation fails

Script Path

scripts/md_to_png.js - Markdown to image tool

Configuration

  • Default fonts: WenQuanYi Micro Hei, WenQuanYi Zen Hei, Noto CJK SC, Noto Color Emoji
  • Output resolution: 2x, clearer images
  • Maximum width: 900px
  • Automatically adapts to content height
  • Default maximum lines per page: 500 lines

Auto MD2IMG Skill - Make Markdown replies more beautiful! 🎉

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

77.05%
按下载量换算2,850

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills