Markdown 转飞书富文本消息
将标准 Markdown 转换为飞书 Post 消息的 JSON 结构。
使用方法
# 直接输入 Markdown 文本
python3 scripts/markdown_to_feishu_post.py "markdown内容"
# 从文件读取
python3 scripts/markdown_to_feishu_post.py --file input.md
# 紧凑输出(单行 JSON)
python3 scripts/markdown_to_feishu_post.py --compact "markdown内容"
支持的 Markdown 语法
| 语法 | 飞书标签/样式 |
|---|---|
# 标题 |
title 字段(一级标题) |
## ### 标题 |
加粗文本 |
**粗体** |
style: ["bold"] |
*斜体* |
style: ["italic"] |
~下划线~ |
style: ["underline"] |
~~删除线~~ |
style: ["lineThrough"] |
[链接](url) |
{"tag": "a", "href": "url", "text": "链接"} |
<at user_id="ou_xxx">@名字</at> |
{"tag": "at", "user_id": "ou_xxx"} |
 |
{"tag": "img", "image_key": "..."} |
1. 有序列表 |
带数字前缀的文本 |
- 无序列表 |
带 • 前缀的文本 |
```语言\ncode\n``` |
{"tag": "code_block", "language": "...", "text": "..."} |
> 引用 |
普通文本段落 |
--- |
{"tag": "hr"} |
输出结构
{
"zh_cn": {
"title": "一级标题",
"content": [
[{"tag": "text", "text": "段落内容"}],
[{"tag": "hr"}]
]
}
}
注意事项
- 一级标题:第一个
#标题会作为消息标题(title字段) - 图片:飞书使用
image_key而非 URL,需要先上传图片获取 key - @用户:
user_id可为open_id、user_id、union_id或all(@所有人) - 代码块:支持 PYTHON、GO、JAVA、JAVASCRIPT 等语言标识
- 多语言:默认输出
zh_cn,可手动添加en_us等其他语言版本
