距離上一次編寫這個vscode在博客園發博客的插件已經過去好久了,那個時候vscode插件的功能也沒有那么強大,期間有人提出問題來,也有人提出建議來,我一直沒有抽出時間來維護,深感抱歉,直到有人加到我的群里我才下定決心要抽出時間來維護一下,畢竟還是有人想用的,不能讓所有人失望吧。好了廢話不說,下面介紹一下更新后的內容。
安裝
從marketplace安裝
點擊左邊的bar上面的擴展圖標,然后在輸入框輸入WriteCnblog
可以找到該插件,點擊安裝就可以了。
提示:如果是macOS或者Linux可能會從GitHub上下載一個支持獲取剪切板圖片的插件。
下載vsix安裝
如果不想從擴展市場直接安裝,也可以從GitHub上下載編譯好的vsix進行安裝,下載地址https://github.com/kotcmm/writecnblog/releases
下載到本地后,如下圖進行安裝
用戶相關配置
安裝完插件后,需要配置用戶信息,然后才可以進行下一步的操作
- 點擊配置用戶信息
- 輸入MetaWeblog訪問地址,按回車鍵( 在博客園配置拉到最下面可以看到這個地址,拷貝過來填入)
- 輸入用戶名,按回車鍵
- 輸入密碼,按回車鍵
MetaWeblog訪問地址
和用戶名
是存儲在vscode的配置里面,密碼
存儲在系統里面 Windowns憑據,或者是mac的鑰匙串。
如果輸入的配置信息是正確的話,會提示配置成功,然后把blogid
也更新到vscode的配置里面
如果有更改密碼的話,可以在文章列表的更多按鈕里面找到配置設置重新設置用戶信息
選擇博客文章存儲目錄
要操作博客文章之前需要先選擇一個文件夾當作博客的工作空間,可以點擊文章列表上面的刷新按鈕,如果沒有選擇過工作空間的話,會彈出一個對話框來選擇文件夾。
請選擇一個空的文件夾,選擇完文件夾后會在這個文件夾里面生成一個.cnblog
的文件夾,然后拉起網站上的文章到選擇的文件夾里面。
如果文章里面有markdown的圖片格式的話,會把圖片給下載到本地。存放到images
文件夾里面,然后把文章的路徑給替換成本地文件路徑。
.cnblog\imageIndex
存儲圖片的映射。.cnblog\index
文章的相關信息.cnblog\post
存儲網站拉取下來的文章內容,用於工作空間的文章進行修改對比
選擇完工作空間后,文件夾路徑也會存儲到vscode的配置里面,如果之前有選擇過工作空間,點擊這個刷新按鈕則只拉取最近文章。
默認拉取最近100個文章,如果需要改變這個值,可以配置Recent Post Count
功能介紹
文章預覽
文章只要有保存草稿或者發布到博客園的網站上,就可以進行預覽。點擊文章標題上的預覽按鈕,會彈出一個提示框,詢問是否訪問網站,點擊打開鏈接可以跳轉到網頁上預覽文章
新建文章
點擊文章列表上的新建文章按鈕,彈出一個輸入框,輸入文章標題,會新建一個文件,文件擴展名為md。文件的名字格式為 {文章標題}.{本地文章id}}.{md}
,但是在列表視圖里面只會顯示文章標題。
新建完文章后,可以打開文件進行文章內容編輯,也可以添加文章分類等其他操作。
保存草稿
新建完文章后,點擊預覽是會提示文章還未發布到網站,可以點擊文章標題上的快捷按鈕,進行保存草稿到博客園網站上。
修改文章
修改文章內容
可以本地修改完同步到網站上,也可以網站上修改后拉取到本地。
注意:本地修改完后,文章是不會直接顯示M標志,暫時沒有想到比較好的實現方式。網站上修改后拉取到本地只會更新.cnblog\post
里面的文章。工作空間里面的文章內容需要自己比較后,復制粘貼過來。
修改文章標題
本地修改完直接保存到網站上,也可以網站上修改完拉取回本地
刪除文章
如果是網站刪除文章的話,是無法同步回來刪除本地文章。需要本地點擊刪除文章才可以把本地的文章刪除掉。不過這個時候會提示文章不存在。
粘貼圖片
不知道為什么vscode不開放electron的圖片粘貼接口。只能自己想其他辦法解決。
雖然網上有其他解決方案例如electron-image-ipc-server 和 Paste Image,但是我還是想嘗試一下造輪子,寫了一個基於N-API的Nodejs插件。測試自己三台電腦都是可以(win,mac,ubuntu),如果你使用起來有問題的話,可以先用
Paste Image
,把問題也給我說一下,我試試看能不能解決
新增分類
這里只能新增不能刪除,沒有看到博客園有提供出來刪除接口。同時這個接口好像還有個bug。就是我新建一個test分類后,我在網站上刪除了這個分類后,就沒有辦法再建立一個叫做test的分類。除非到網站上建立。
結尾
上次編寫也就花了我幾個晚上,這次把整個源碼重新編寫,從10月10號左右開始,晚上每天8點到12點左右,加上周六日。感覺也挺累的。不過看着還有人想用的感覺還是可以的。本人也是比較菜,如果你使用了插件有什么問題,或者提出了問題,我抽不出時間來處理,也請不要噴我,謝謝。
由於本人水平有限,時間也有限,如果有什么寫錯,或者插件有問題,請多多包涵。有什么好建議也歡迎提出。