关于 exporting-to-png
将代码、Markdown、终端输出、图表或渲染后的界面转换为 PNG 图片的技能。它介绍多种方法,包括无头浏览器、代码截图工具和针对不同格式的转换器。
主要功能
- 01通过无头浏览器渲染 HTML
- 02使用 Carbon 或 Silicon 截取代码
- 03将 Mermaid 图表转换为 PNG
- 04将 SVG 文件转换为 PNG
- 05把终端输出保存为图片
适用场景
- 01为代码片段生成 PNG
- 02导出 Mermaid 图表用于文档
- 03将终端输出保存为图片
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ spencerpauly/ awesome-cursor-skills --skill exporting-to-png安装后在 Claude Code 中输入/exporting-to-png确认已加载。
详细介绍
导出为 PNG
将代码片段、Markdown 内容、终端输出、图表或渲染后的 UI 组件转换为 PNG 图像文件。
方法
1. 通过无头浏览器将 HTML 转换为 PNG
最灵活的方法。将任意内容渲染为 HTML 并截图。
# Using Playwright (if available)
npx playwright screenshot --full-page "file:///path/to/content.html" output.png
# Using Puppeteer one-liner
node -e "
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setContent(\`<html>...</html>\`);
await page.screenshot({ path: 'output.png', fullPage: true });
await browser.close();
})();
"
步骤:
- 生成一个 HTML 文件,并为内容设置合适的样式(语法高亮、内边距、字体)
- 使用无头浏览器进行渲染和截图
- 如有需要,使用图像工具裁剪
2. 使用 Carbon 或 Silicon 将代码转换为 PNG
用于生成带样式的代码截图:
# silicon (Rust CLI, fast)
silicon --language python --output code.png source.py
silicon --from-clipboard --output code.png
# Or generate a Carbon URL for browser capture
# https://carbon.now.sh/?l=python&code=<url-encoded-code>
3. 将 Mermaid 图表转换为 PNG
# Using mermaid-cli
npx @mermaid-js/mermaid-cli mmdc -i diagram.mmd -o diagram.png -b transparent
# Or with Docker
docker run --rm -v "$(pwd)":/data minlag/mermaid-cli mmdc -i /data/diagram.mmd -o /data/diagram.png
4. 将 SVG 转换为 PNG
# Using sharp (Node.js)
node -e "
const sharp = require('sharp');
sharp('input.svg').png().toFile('output.png');
"
# Using Inkscape CLI
inkscape input.svg --export-type=png --export-filename=output.png
# Using ImageMagick
convert input.svg output.png
5. 将终端输出转换为 PNG
# Using termshot (if installed)
termshot -- ls -la
# Manual approach: capture output, wrap in HTML with monospace font, screenshot
工作流
- 确定内容类型(代码、图表、HTML、终端、SVG)
- 检查环境中有哪些可用工具(
which silicon、npx --help等) - 选择最佳方法并生成 PNG
- 验证输出文件存在且非空:
file output.png && ls -la output.png - 报告文件路径和尺寸
提示
- 生成代码截图时,使用深色主题并留出充足的内边距(32px 以上),以获得精致的效果
- 在 Playwright/Puppeteer 中将
deviceScaleFactor: 2设为视网膜级输出 - 对于透明背景,使用
--background transparent或omitBackground: true - 如果没有安装专用工具,请使用 HTML + 无头浏览器方法作为备用方案——它适用于所有内容
评论
支持 Markdown