Content Publisher Pro
功能概述
一套内容多平台发布工具,帮助技术博主将 Markdown 文章快速发布到 GitHub Pages 博客和 Dev.to 开发者社区,同时提供 SEO 优化和发布前去重检查。
核心功能
1. 多平台发布
- GitHub Pages (Jekyll 博客) - 发布完整版文章
- Dev.to (开发者社区) - 发布文章并自动检查重复
2. 内容差异化
- 完整版 (100%) - 发布到 GitHub Pages 博客
- 精简版 (70%) - 自动截取正文前 70%,附加引流链接
- 摘要版 (30%) - 生成简短摘要,适合社交平台分享
3. SEO 优化
- 自动生成 meta description(160 字符以内)
- 智能提取关键词(基于词频统计)
- 标题长度优化(建议 30-60 字符)
- 生成 Open Graph 标签
4. 发布前去重
- Dev.to 平台:发布前自动检查已有文章标题,防止重复发布
- GitHub Pages:提供
check_duplicate方法可手动调用检查
使用前提
必需配置
复制 config.yaml.example 为 config.yaml,填入你的 API 密钥:
github:
token: "ghp_xxxxxxxxxxxx" # GitHub Personal Access Token
repo: "username.github.io" # 博客仓库名 (格式: 用户名/仓库名)
devto:
api_key: "xxxxxxxxxx" # Dev.to API Key
获取 API 密钥:
- GitHub Token: https://github.com/settings/tokens
- Dev.to API Key: https://dev.to/settings/account
安装依赖
pip install -r requirements.txt
使用方法
发布单篇文章
python publish.py --article ./article.md
预览模式(不实际发布)
python publish.py --article ./article.md --dry-run
指定平台
# 仅发布到博客
python publish.py --article ./article.md --platforms blog
# 仅发布到 Dev.to
python publish.py --article ./article.md --platforms devto
# 同时发布到两个平台
python publish.py --article ./article.md --platforms all
指定配置文件
python publish.py --config /path/to/config.yaml --article ./article.md
命令行参数
python publish.py [选项]
必需参数:
--article, -a 文章文件路径
可选参数:
--config, -c 配置文件路径 (默认: config.yaml)
--platforms, -p 发布平台: all / blog / devto (默认: all)
--mode, -m 发布模式: full / summary / abstract / auto (默认: auto)
--dry-run, -d 预览模式,不实际发布
--verbose, -v 详细输出
文章格式
创建 Markdown 文件,包含 YAML front matter:
---
title: "文章标题"
date: 2026-05-23
tags: ["技术", "AI", "教程"]
cover_image: "./assets/cover.jpg"
---
文章正文内容...
支持的 front matter 字段:
| 字段 | 必需 | 说明 |
|------|------|------|
| title | 是 | 文章标题 |
| date | 否 | 发布日期(默认为当前日期) |
| tags | 否 | 标签列表 |
| cover_image | 否 | 封面图片路径 |
| excerpt | 否 | 自定义摘要(不填则自动提取前 200 字) |
文件结构
content-publisher/
├── SKILL.md # 技能描述文件
├── README.md # 使用文档
├── LICENSE # MIT 许可协议
├── publish.py # 主程序入口
├── config.yaml.example # 配置文件示例
├── requirements.txt # Python 依赖
├── utils/
│ ├── __init__.py
│ ├── github_publisher.py # GitHub Pages 发布模块
│ ├── devto_publisher.py # Dev.to 发布模块
│ ├── content_processor.py # 内容解析与差异化处理
│ └── seo_optimizer.py # SEO 优化模块
├── templates/
│ ├── blog_template.md # 博客文章模板
│ └── devto_template.md # Dev.to 文章模板
└── examples/
├── sample-article.md # 示例文章
└── sample-config.yaml # 示例配置
高级功能
自定义内容模板
编辑 templates/ 目录下的模板文件,自定义各平台发布格式。
定时发布
使用系统定时任务(cron):
# 每天上午 9 点自动发布
0 9 * * * cd /path/to/content && python publish.py --article ./today.md
批量发布
# 发布目录下所有 Markdown 文章
for file in ./articles/*.md; do
python publish.py --article "$file"
done
注意事项
- API 限制: 各平台有频率限制,请合理控制发布频率
- 内容原创: 确保发布内容原创或已获得授权
- 隐私保护: 不要将
config.yaml提交到公共仓库(已在 .gitignore 中忽略) - 错误处理: 网络异常时会输出错误信息,请检查网络连接和 API 密钥
故障排除
发布失败
- 检查 API Token 是否过期
- 确认网络连接正常
- 使用
--verbose查看详细错误信息
内容格式错误
- 确保 Markdown 文件格式正确
- 检查 YAML front matter 语法
- 使用
--dry-run预览发布内容
更新日志
v1.1.0 (2026-05-23)
- 修正文档,移除未实现平台(掘金、知乎、公众号)的描述
- 移除未实现的"智能去重"功能描述(Dev.to 内置去重保留)
- 统一命令行参数文档与代码实现
- 添加 LICENSE、templates/、examples/
v1.0.0 (2026-05-23)
- 初始版本发布
- 支持 GitHub Pages 和 Dev.to 双平台发布
- 内容差异化处理(完整版/精简版/摘要版)
- SEO 自动优化
许可协议
MIT License - 详见 LICENSE 文件
微信扫一扫