系列目錄
- 如何高效的編寫與同步博客(一)- 編寫
- 如何高效的編寫與同步博客(二)- 快速發布到多個渠道
一.前言
我們使用Markdown編寫博文,總免不了文章中出現圖片,這里的圖片有兩種類型,一種是放在互聯網上的,一種是放在本地的。如果我引用的是互聯網上的圖片(如 https://xxx.com/xxx.png ),我們在各個渠道發布的時候只需要復制粘貼即可,但是這帶來一個問題,如果我們引用圖片的網站如果關閉了外鏈,那我們所發的文章的圖片都將會失效,影響文章的質量。如果我們的圖片放在本地,那么我們在多個渠道發布的時候,又需要在每個渠道一張張上傳圖片,豈不是太麻煩,太耗時間了。如果有一個工具能自動解析博文中引用的圖片,然后自動上傳到對應的渠道,並且把我們博文中引用本地圖片的鏈接改為對應渠道圖片的鏈接,那么我們發布也只用復制粘貼即可,瞬間完成十分高效。這里介紹一下開源項目 BlogTools ,它是一個博文快速多渠道發布工具包,支持博客園、阿里雲棲社區、騰訊雲+社區、慕課網手記 4種渠道。
開源地址:https://github.com/stulzq/BlogTools
如果你覺得有用,歡迎來個star。
二.BlogTools的作用
這套工具只適用於用Markdown寫博客或者文章的人群,如果你還不會請花一個小時的時間去熟悉,你就能感受到Markdown給你帶來的好處了。
使用這套工具前,建議先閱讀這篇文章:《如何高效的編寫與同步博客》
BlogTools工具包就是為了解決前言中所述問題,它會解析Markdown文件中的圖片,然后上傳到對於渠道,並且替換本地鏈接,下面用幾張圖來表示:
1.原文:
2.轉換為 阿里雲棲社區 渠道
3.轉換為 慕課網手記 渠道
主要就是減少你到每個渠道去上傳圖片的操作。你只需復制轉換以后的內容,粘貼到對於的渠道即可完成發布。
三.各個渠道工具包
工具名 | 說明 | 版本號 |
---|---|---|
dotnet-aliyun | 阿里雲棲社區 | ![]() |
dotnet-imooc | 慕課網手記 | ![]() |
dotnet-tcloud | 騰訊雲+社區 | ![]() |
dotnet-cnblog | 博客園 | ![]() |
四.安裝
使用這套工具需要你的pc具備 .NET Core 2.1版本 SDK 環境或者更高版本。且完全支持跨平台,你可以在.NET Core 支持的任意Linux發行版、Windows、MAC OSX上使用。
.NET Core SDK 下載地址:https://www.microsoft.com/net/learn/get-started/windows
1.阿里雲棲社區 工具安裝
打開命令提示符(cmd),輸入下面的命令進行安裝
dotnet tool install -g dotnet-aliyun
2.慕課網手記 工具安裝
打開命令提示符(cmd),輸入下面的命令進行安裝
dotnet tool install -g dotnet-imooc
3.騰訊雲+社區 工具安裝
打開命令提示符(cmd),輸入下面的命令進行安裝
dotnet tool install -g dotnet-tcloud
4.博客園 工具安裝
打開命令提示符(cmd),輸入下面的命令進行安裝
dotnet tool install -g dotnet-cnblog
五.卸載
卸載工具的命令格式為:
dotnet tool uninstall -g <工具名稱>
六.使用
這套工具主要面向寫技術博客的人員,所以工具在某些細節的地方並未做處理,比如“登錄”。需要用戶自己登錄以后,提取Cookie給工具使用。
1.阿里雲棲社區 工具的使用
(1).使用
獲取工具的幫助說明,請執行下面的命令,對每個參數都有說明:
dotnet-aliyun -h
輸出:
Usage: dotnet-aliyun [arguments] [options]
Arguments:
MarkdownFilePath Required.Your mrkdown File Path.
Options:
-h|--help Show help information
-c|--cookie Required.Cookie file path.
使用命令的格式為:
dotnet-aliyun <Markdown文件路徑> -c <cookie文件路徑>
例如:
dotnet-aliyun c:\blog\test.md -c c:\blog\cookies\aliyun-cookie.txt
(2).Cookie 的提取
a.使用瀏覽器登錄並訪問博客編寫的頁面:https://yq.aliyun.com/articles/new
b.打開瀏覽器的開發者工具並選擇 network 選項卡,准備查看上傳圖片的交互請求。
c.隨便選擇一張圖片上傳
d.查看這次請求里的Cookie,並保存到文本文件中
提取Cookie演示:
只復制圖中的括號中的數據
操作演示:
2.慕課網手記 工具的使用
(1).使用
獲取工具的幫助說明,請執行下面的命令,對每個參數都有說明:
dotnet-imooc -h
輸出:
Usage: dotnet-imooc [arguments] [options]
Arguments:
MarkdownFilePath Required.Your mrkdown File Path.
Options:
-h|--help Show help information
-c|--cookie Required.Cookie file path.
使用命令的格式為:
dotnet-imooc <Markdown文件路徑> -c <cookie文件路徑>
例如:
dotnet-imooc c:\blog\test.md -c c:\blog\cookies\imooc-cookie.txt
(2).Cookie 的提取
a.使用瀏覽器登錄並訪問博客編寫的頁面:https://www.imooc.com/article/publish
b.打開瀏覽器的開發者工具並選擇 network 選項卡,准備查看上傳圖片的交互請求。
c.隨便選擇一張圖片上傳
d.查看這次請求里的Cookie,並保存到文本文件中
提取Cookie演示:
只復制圖中的括號中的數據
操作演示:
3.騰訊雲+社區 工具的使用
(1).使用
獲取工具的幫助說明,請執行下面的命令,對每個參數都有說明:
dotnet-tcloud -h
輸出:
Usage: dotnet-tcloud [arguments] [options]
Arguments:
MarkdownFilePath Required.Your mrkdown File Path.
Options:
-h|--help Show help information
-c|--cookie Required.Cookie file path.
--uin Required.
--csrf Required.
使用命令的格式為:
dotnet-imooc <Markdown文件路徑> -c <cookie文件路徑> --uin <uin碼> --csrf <跨域驗證碼>
例如:
dotnet-tcloud c:\blog\test.md -c c:\blog\cookies\imooc-cookie.txt --uin 55566677 --csrf 7788991
(2).Cookie 的提取
a.使用瀏覽器登錄並訪問博客編寫的頁面:https://cloud.tencent.com/developer/article/write
b.打開瀏覽器的開發者工具並選擇 network 選項卡,准備查看上傳圖片的交互請求。
c.隨便選擇一張圖片上傳
d.查看這次請求里的Cookie,並保存到文本文件中
e.根據本次上傳圖片請求url中的參數提取uin碼和csrf碼
提取Cookie演示:
只復制圖中的括號中的數據
操作演示:
4.博客園 工具的使用
因博客園工具本系列最早的一個工具,使用方法最簡單便捷,無需自己提取cookie,是單獨開發。詳細的使用說明請移步查看:https://github.com/stulzq/CnBlogPublishTool
特殊說明,關於使用js代碼
document.cookie
獲取cookie,經測試騰訊雲+社區和慕課網手記可以,阿里雲棲社區js獲取到的cookie無效,因為必須的cookie項設置為了httponly,js無法獲取。
七.寫在最后
項目開源地址:https://github.com/stulzq/BlogTools
寫這個工具的初衷就是解決博文發布到多個渠道的麻煩,工具不會收集你的任何數據,如有疑問可以查看源碼。關於Cookie提取確實是增加了工具使用的復雜度,不過提取的Cookie根據網站登錄的選項 “xx天自動登錄”,可以讓Cookie用很長一段時間,不需要每次發布都去提取。為什么不寫自動提取Cookie的代碼,那是因為wo lan,bu xiang xie le,如果你有更好的想法,歡迎與我交流。