用途
Table Image 用于将 Markdown 表格渲染成 PNG 图片,解决消息平台(如 Telegram)不支持 Markdown 表格、导致表格数据难以阅读的问题。当需要在消息中展示表格数据时,可使用该技能生成图片后再发送。
主要能力
- 将 Markdown 表格渲染为 PNG 图片。
- 支持 dark、light 两种主题,默认 dark,以匹配 Telegram、Discord 的深色模式。
- 支持设置字号(像素)和单元格内边距(像素)。
- 自动调整尺寸以适配内容。
- 输出体积约 10-20KB,适合在消息平台中发送。
- 内置 Inter 字体,跨平台显示一致。
- 提供 emoji 支持:内置部分 emoji(✅ ❌ 🔴 🟢 🟡 ⭕ ⚠️)开箱即用;完整 emoji 需一次性下载安装,未安装时不受支持的 emoji 会显示为 □。
使用方式
前置条件:安装 tablesnap。
通过 go install 安装:
go install github.com/joargp/tablesnap/cmd/tablesnap@latest
或从源码构建:
git clone https://github.com/joargp/tablesnap.git cd tablesnap go build -o tablesnap ./cmd/tablesnap
基本用法:把 Markdown 表格通过标准输入传给 tablesnap,并指定输出文件。
echo "| Header 1 | Header 2 | |----------|----------| | Data 1 | Data 2 |" | tablesnap -o /tmp/table.png
生成后以 MEDIA:/tmp/table.png 的形式发送。
命令选项:
| Flag | 默认值 | 说明 |
|---|---|---|
| -i | stdin | 输入文件 |
| -o | stdout | 输出文件 |
| --theme | dark | 主题:dark 或 light |
| --font-size | 14 | 字号(像素) |
| --padding | 10 | 单元格内边距(像素) |
示例工作流:
创建表格图片
echo "| Task | Status | |------|--------| | Build | ✅ | | Deploy | 🚀 |" | tablesnap -o /tmp/table.png
在回复中发送
MEDIA:/tmp/table.png
完整 emoji 安装命令:
tablesnap emojis install
适用场景
- 在 Telegram、Discord 等不支持 Markdown 表格的消息平台中展示表格数据。
- 需要在聊天回复中发送结构化表格内容,并希望保持较好可读性的场景。
限制
- 依赖 tablesnap 命令行工具,需先完成安装或源码构建。
- 未安装完整 emoji 集时,不支持的 emoji 会渲染为 □。
- 更多功能、收费或平台兼容性信息暂未提供。