Content Publisher Pro

Dev Tools

一键将文章发布到 GitHub Pages 博客和 Dev.to 开发者社区,支持内容差异化、SEO优化、发布前去重检查。适合技术博主和内容运营者。

Install

openclaw skills install content-publisher-pro

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.exampleconfig.yaml,填入你的 API 密钥:

github:
  token: "ghp_xxxxxxxxxxxx"       # GitHub Personal Access Token
  repo: "username.github.io"       # 博客仓库名 (格式: 用户名/仓库名)

devto:
  api_key: "xxxxxxxxxx"            # Dev.to API Key

获取 API 密钥:

安装依赖

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

注意事项

  1. API 限制: 各平台有频率限制,请合理控制发布频率
  2. 内容原创: 确保发布内容原创或已获得授权
  3. 隐私保护: 不要将 config.yaml 提交到公共仓库(已在 .gitignore 中忽略)
  4. 错误处理: 网络异常时会输出错误信息,请检查网络连接和 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 文件