博客园上传博客过于麻烦,怎么办,自动上传/更新博客来一套,简单到网页都不须要打开,帐号密码都不须要输入,懒是惟一的生产力。html
基于rpcxml协议,利用githook,在commit时自动发布本地markdown文章到博客园,如文章已发布,则会更新。python
项目地址:https://github.com/nickchen121/cnblogs_automatic_blog_uploadinggit
参考效果:http://www.javashuo.com/article/p-xylvnfya-gg.htmlgithub
本脚本用python3.+
编写,请配置好运行环境。json
./hooks/commit-msg
文件复制到./.git/hooks/
中(若有则无需修改)。cnblogs.py
:
config
设置博客信息。download
下载文章。cnblogs.py
时默认选择config
参数,设置博客信息,会生成一个blog_config.json
文件(文件内有博客园帐号密码,当心使用)。./articles/*.md
将被上传到博客并发布;./unpublished/*.md
将被上传到博客,但不发布(并标注分类“unpublished”)。文章均以文件名为题,且不发布的文章。若是博客中已经存在同名文章,将替换其内容!./articles/
,./unpublished/
中markdown文件,在本地git仓库commit
更改,自动运行./cnblogs.py
(须要使用终端命令才能查看返回信息)。自动给md文档添加索引,即:markdown
# 一级标题 ## 二级标题
变为并发
# 1、一级标题 ## 1.1 二级标题
若是你的md文件为01 第一篇md.md
/02 第一篇md.md
/03 第一篇md.md
,则会变成第一篇md.md
/第一篇md.md
/第一篇md.md
post
选择特定文件目录,批量修改文件下文件的内容,当心使用。code
根据特定的字符串,生成特定的目录结构,能够参考:http://www.javashuo.com/article/p-xylvnfya-gg.htmlxml
博客上传成功后,会生成一个title_postid.json
文件,里面保存了发布成功文件的信息。
.git
文件夹,所以须要手动复制调用cnblogs.py
的脚本./hooks/commit-msg
到.git
。python cnblogs.py download
命令时,博客中没有发布也没有“unpublished”分类的文章也会存到./articles/
,下次运行时将被自动发布。./unpublished/
内的文章在博客内有同名文章时不会被上传。