将 Markdown 转换为微信公众号兼容的 HTML 格式,支持丰富的样式和预览功能。
- 📝 完整 Markdown 支持:标题、列表、代码块、表格、引用等
- 🎨 微信优化样式:内联 CSS 样式,完美适配微信公众号编辑器
- 📱 响应式设计:自动适配移动端和桌面端
- 🖼️ 分屏预览:支持 Markdown 和 HTML 并排对比预览
- 🚀 命令行工具:简单易用的 CLI,支持批量转换和全局别名
- 🔧 Python API:可编程接口,轻松集成到你的工作流
- 🔒 安全可靠:HTML 转义防止 XSS 攻击
pip install markdown-to-wechatgit clone https://github.com/jingyu525/markdown-to-wechat.git
cd markdown-to-wechat
pip install -e .为了更好的 Markdown 转换质量,建议安装 markdown 库:
pip install markdown# 将 Markdown 文件转换为 HTML(自动生成输出文件名)
markdown-to-wechat article.md
# 或指定输出文件名
markdown-to-wechat article.md article.html
# 查看转换结果
open article.html# 转换目录中所有 Markdown 文件
markdown-to-wechat ./articles/
# 批量转换并生成分屏预览
markdown-to-wechat ./articles/ --split批量转换会:
- 自动扫描目录中所有
.md文件 - 为每个文件生成对应的
.html文件 - 显示转换统计信息(总数、成功、失败)
# 安装简短别名 md2wx
markdown-to-wechat --install-alias
source ~/.zshrc # 或 source ~/.bashrc
# 之后可以使用简短命令
md2wx article.md
md2wx ./articles/
# 卸载别名
markdown-to-wechat --uninstall-alias
source ~/.zshrc# 生成包含 Markdown 和 HTML 的分屏预览
markdown-to-wechat article.md preview.html --split
# 或使用简写
markdown-to-wechat article.md preview.html -s# 不指定输出文件,结果输出到终端
markdown-to-wechat article.md# 只输出 HTML,不包含样式
markdown-to-wechat article.md output.html --no-cssfrom markdown_to_wechat import MarkdownToWeChatConverter
# 初始化转换器
converter = MarkdownToWeChatConverter()
# 转换 Markdown 文本
markdown_text = """
# 欢迎使用
这是一个 **Markdown** 示例。
- 列表项 1
- 列表项 2
"""
print('Hello, WeChat!')
html_content = converter.convert(markdown_text)
# 保存到文件
with open('output.html', 'w', encoding='utf-8') as f:
f.write(html_content)from markdown_to_wechat import MarkdownToWeChatConverter
converter = MarkdownToWeChatConverter()
# 转换文件
html_content = converter.convert_file(
'input.md',
'output.html',
include_css=True
)
print(f"转换成功!")from markdown_to_wechat import MarkdownToWeChatConverter, PreviewGenerator
# 转换 Markdown
converter = MarkdownToWeChatConverter()
html_content = converter.convert_file('article.md')
# 生成分屏预览
preview_generator = PreviewGenerator()
preview_html = preview_generator.generate_from_file(
'article.md',
html_content,
output_file='preview.html',
split=True
)本项目支持以下 Markdown 元素:
# 一级标题
## 二级标题
### 三级标题**粗体文本**
*斜体文本*
`行内代码`
[链接文本](https://example.com)- 无序列表项 1
- 无序列表项 2
1. 有序列表项 1
2. 有序列表项 2使用 4 个反引号可以展示代码块语法:
```python
def hello():
print('Hello, WeChat!')
```
| 列1 | 列2 | 列3 |
|-----|-----|-----|
| 数据1 | 数据2 | 数据3 |
| 数据4 | 数据5 | 数据6 |> 这是一段引用文本---- 微信公众号运营:将 Markdown 技术文档转换为微信富文本
- 技术博客:编写博客文章,一键转换发布
- 文档编写:编写产品文档,生成友好的预览界面
- 自动化发布:集成到 CI/CD 流程,自动转换和发布
如果需要自定义样式,可以修改转换器的 CSS:
from markdown_to_wechat import MarkdownToWeChatConverter
converter = MarkdownToWeChatConverter()
converter.css_styles = """
<style>
/* 自定义样式 */
body {
font-family: 'Your Font', sans-serif;
line-height: 2.0;
}
</style>
"""默认会自动移除标题中的"目前"前缀,可以通过修改配置改变:
from markdown_to_wechat.config import TITLE_PREFIX_TO_REMOVE
# 修改要移除的前缀
TITLE_PREFIX_TO_REMOVE = '自定义前缀'详细的 API 文档请参考 API 文档
欢迎贡献代码!请参考 贡献指南
本项目采用 MIT 许可证
感谢所有为本项目做出贡献的开发者
- 作者:疯狂的小宇宙
- 邮箱:jingyu525@gmail.com
- GitHub:https://github.com/jingyu525/markdown-to-wechat
如果遇到问题或有功能建议,请在 GitHub Issues 中提交。
享受使用 Markdown to WeChat! 🎉