博客園自動發佈/更新博客系統

1、cnblogs_automatic_blog_uploading

博客園上傳博客過於麻煩,怎麼辦,自動上傳/更新博客來一套,簡單到網頁都不須要打開,帳號密碼都不須要輸入,懶是惟一的生產力。html

基於rpcxml協議,利用githook,在commit時自動發佈本地markdown文章到博客園,如文章已發佈,則會更新。python

2、項目地址

項目地址:https://github.com/nickchen121/cnblogs_automatic_blog_uploadinggit

3、參考效果

參考效果:http://www.javashuo.com/article/p-xylvnfya-gg.htmlgithub

4、使用說明

本腳本用python3.+編寫,請配置好運行環境。json

  1. 第一次使用前先把./hooks/commit-msg文件複製到./.git/hooks/中(若有則無需修改)。
  2. 運行cnblogs.py
    1. 程序有一個可選參數(如無特殊需求不要添加參數)。
      • config 設置博客信息。
      • download 下載文章。
    2. 第一次運行cnblogs.py時默認選擇config參數,設置博客信息,會生成一個blog_config.json文件(文件內有博客園帳號密碼,當心使用)。
    3. 此後每次運行程序時,./articles/*.md將被上傳到博客併發布;./unpublished/*.md將被上傳到博客,但不發佈(並標註分類「unpublished」)。文章均以文件名爲題,且不發佈的文章。若是博客中已經存在同名文章,將替換其內容!
  3. 編輯./articles/./unpublished/中markdown文件,在本地git倉庫commit更改,自動運行./cnblogs.py(須要使用終端命令才能查看返回信息)。

5、其餘腳本

5.1 md文檔添加索引

自動給md文檔添加索引,即:markdown

# 一級標題

## 二級標題

變爲併發

# 1、一級標題

## 1.1 二級標題

5.2 取出文件名序號

若是你的md文件爲01 第一篇md.md/02 第一篇md.md/03 第一篇md.md,則會變成第一篇md.md/第一篇md.md/第一篇md.mdpost

5.3 批量修改文檔內容

選擇特定文件目錄,批量修改文件下文件的內容,當心使用code

5.4 生成目錄

根據特定的字符串,生成特定的目錄結構,能夠參考:http://www.javashuo.com/article/p-xylvnfya-gg.htmlxml

5.5 讀取title_postid文件

博客上傳成功後,會生成一個title_postid.json文件,裏面保存了發佈成功文件的信息。

6、注意事項(已知Bug)

  1. 本程序不保證穩定性,爲防止數據丟失,建議使用前預先備份博客。
  2. clone倉庫不能下載.git文件夾,所以須要手動複製調用cnblogs.py的腳本./hooks/commit-msg.git
  3. 因爲metaWeBlog自己沒有提供查看文章是否已發佈的接口,全部使用「unpublished」分類標註未發佈文章。也就是說,當執行python cnblogs.py download命令時,博客中沒有發佈也沒有「unpublished」分類的文章也會存到./articles/,下次運行時將被自動發佈。
  4. 因爲接口不容許將已經發布的文章設置爲未發佈,因此若./unpublished/內的文章在博客內有同名文章時不會被上傳。
相關文章
相關標籤/搜索