博客园文章批量发布工具,支持 Markdown 文章自动发布到博客园。
pip install cnblog-publisher
uv pip install cnblog-publisher
export CNBLOGS_BLOG_NAME="your-blog-name" # 博客名(英文)
export CNBLOGS_USERNAME="your-username" # 用户名
export CNBLOGS_PAT="your-pat-token" # Open API 个人访问令牌
export CNBLOGS_META_TOKEN="your-meta-token" # MetaWeblog 令牌
在当前目录下创建 articles 目录,放入 Markdown 文件:
---
title: 我的第一篇文章
categories:
- 技术
tags:
- Python
- 博客
---
# 文章正文
这是一篇使用 Markdown 编写的博客文章。

在执行目录下创建 keywords.txt 文件,根据文章标题中的关键词自动添加分类和标签:
# 格式:关键词;分类1,分类2;标签1,标签2 Python;技术,编程;python,代码 JavaScript;技术,前端;js,前端 Docker;技术,DevOps;docker,容器
如果文章标题包含 "Python 入门",会自动添加分类 "技术"、"编程" 和标签 "python"、"代码"。
cnblog-publish
或指定文章目录:
cnblog-publish -d /path/to/articles
-v, --version 显示版本号 -d, --dir 指定文章目录(默认: ./articles)
from cnblog_publisher import CnblogsPublisher, load_article
from pathlib import Path
# 初始化发布器
publisher = CnblogsPublisher(
blog_name="your-blog-name",
username="your-username",
pat="your-pat-token",
meta_token="your-meta-token"
)
# 发布文章
result = publisher.publish_post(
title="文章标题",
content="文章内容(Markdown)",
categories=["分类1", "分类2"],
tags=["标签1", "标签2"]
)
# 克隆项目
git clone https://cnb.cool/zhenxiauto/articles/cnblogs.git
cd cnblogs
# 安装开发依赖
uv sync --all-extras
# 本地安装
uv pip install -e .
详见 CHANGELOG.md
MIT License