mcpField
M
markdown-to-image

markdown-to-image

github.com/spacezephyrDesign & UI34061 installsUpdated 31w ago
Repository

About markdown-to-image

markdown-to-image is a skill that lays out Markdown as shareable poster images, including content such as podcast summaries. It supports automatic pagination, title extraction, and topic-based SVG header art.

Key features

  1. 01Creates PNGs in a fixed 3:4 ratio
  2. 02Paginates content automatically
  3. 03Generates SVG header art from topic keywords
  4. 04Extracts guest and topic for the title
  5. 05Styles bold text, numbered items, and quotes

Use cases

  1. 01Turn podcast summaries into shareable images
  2. 02Create Markdown posters for social platforms
  3. 03Split long content across pages automatically

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/spacezephyr/myskill --skill markdown-to-image

After installing, type/markdown-to-imagein Claude Code to confirm it loaded.

Bundled filesscripts/md_to_image.pyscripts/md2img.py

Details

From the project README

Markdown 转精美图片

将 Markdown 内容渲染为精美的分享海报图片,适合微信、小红书、微博等平台。

核心特性

  • 固定 3:4 比例(1080×1440 像素)
  • 自动分页 - 内容较多时生成多张图片
  • 智能 SVG 头图 - 根据主题关键词自动生成相应风格的手绘线条图
  • 智能标题 - 自动提取嘉宾名和主题,格式为「嘉宾:主题」
  • 白色背景 + 大字体 - 清晰易读,专业排版
  • 自适应布局 - 内容均匀分布,减少留白
  • 宽字间距行间距 - 参考优秀海报排版

快速开始

基本用法
# 转换 Markdown 文件为图片(自动分页)
python3 scripts/md_to_image.py --file /path/to/content.md

# 指定输出目录
python3 scripts/md_to_image.py --file /path/to/content.md --output-dir /path/to/output

# 调整每页条目数
python3 scripts/md_to_image.py --file /path/to/content.md --items-per-page 4
参数说明
参数说明默认值
--file, -fMarkdown 文件路径必填
--output-dir, -o输出目录attachments/MMDD
--width, -w图片宽度(像素)1080
--items-per-page每页显示条目数5
输出规格
  • 比例: 固定 3:4(1080×1440 像素)
  • 格式: PNG
  • 分页: 自动根据内容生成多张图片
  • 命名: page_1.png, page_2.png, ...
  • 保存位置: 默认 attachments/MMDD(MMDD 为当日日期)

智能 SVG 头图

根据文章主题自动生成不同风格的 SVG 装饰图:

主题关键词生成的 SVG 风格
AI、AGI、通用神经网络节点 → 大脑 → 对话泡泡
开源、open source开源符号 → 代码括号 → 分享图标
其他(默认)麦克风 → 声波 → 人物对话

SVG 特点:

  • 手绘风格,黑色线条白底
  • 宽幅 16:9 比例
  • 140px 高度,居中显示
  • 底部带主题文字标签

智能标题提取

自动从 Markdown 元信息中提取嘉宾和主题:

输入格式:

# 播客名称

> **嘉宾**: Sebastian Raschka(LLM研究员)
> **主题**: 2025年AI技术趋势

输出标题:Sebastian Raschka:2025年AI技术趋势

Markdown 格式处理

格式渲染效果
# 标题自动提取并组合为「嘉宾:主题」
> **嘉宾**: ...提取嘉宾名(移除 **)
> **主题**: ...提取主题内容
**加粗**红色加粗文字(移除 ** 标记)
1、2、3、红色圆形数字编号
"引用内容"蓝色高亮引用

工作流程

当用户请求将 Markdown 转为图片时:

  1. 确定输入内容

    • 如果用户指定了文件路径,使用该文件
    • 如果用户当前打开了 Markdown 文件,默认使用该文件
  2. 自动处理

    • 提取嘉宾和主题生成标题
    • 根据主题关键词生成相应 SVG 头图
    • 提取短版摘要(📱 短版摘要 部分)
    • 移除所有 ** markdown 标记,转为真正的加粗样式
    • 根据条目数量自动分页
  3. 输出结果

    • 返回所有图片路径给用户
    • 图片保存在 attachments/MMDD 目录

常见用法

用户说操作
「把这个转成图片」转换当前打开的 Markdown 文件
「生成分享海报」同上
「这个播客摘要转图片」转换播客摘要文件
「Markdown 转图片」同上

依赖

脚本依赖以下 Python 包:

  • playwright - 浏览器自动化渲染
  • markdown - Markdown 解析
  • requests - 网络请求(备用)

首次使用需安装:

pip3 install playwright markdown requests
playwright install chromium

更新日志

v1.1 (2026-02-01)
  • ✅ 智能 SVG 头图:根据主题关键词自动生成相应风格
  • ✅ 智能标题:自动提取「嘉宾:主题」格式
  • ✅ 移除 ** 标记:元信息和正文中的 markdown 加粗正确转换
  • ✅ SVG 更大更醒目:140px 高度,600px 宽
  • ✅ 优化排版:更大字体、更宽间距、自适应布局
v1.0 (2026-02-01)
  • 初始版本
  • 固定 3:4 比例
  • 自动分页
  • 白色背景设计

Comments

Markdown supported