博客園上傳博客過於麻煩,怎麼辦,自動上傳/更新博客來一套,簡單到網頁都不須要打開,帳號密碼都不須要輸入,懶是惟一的生產力。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/
內的文章在博客內有同名文章時不會被上傳。