咱們使用Markdown編寫博文,總免不了文章中出現圖片,這裏的圖片有兩種類型,一種是放在互聯網上的,一種是放在本地的。若是我引用的是互聯網上的圖片(如 https://xxx.com/xxx.png ),咱們在各個渠道發佈的時候只須要複製粘貼便可,可是這帶來一個問題,若是咱們引用圖片的網站若是關閉了外鏈,那咱們所發的文章的圖片都將會失效,影響文章的質量。若是咱們的圖片放在本地,那麼咱們在多個渠道發佈的時候,又須要在每一個渠道一張張上傳圖片,豈不是太麻煩,太耗時間了。若是有一個工具能自動解析博文中引用的圖片,而後自動上傳到對應的渠道,而且把咱們博文中引用本地圖片的連接改成對應渠道圖片的連接,那麼咱們發佈也只用複製粘貼便可,瞬間完成十分高效。這裏介紹一下開源項目 BlogTools ,它是一個博文快速多渠道發佈工具包,支持博客園、阿里雲棲社區、騰訊雲+社區、慕課網手記 4種渠道。html
開源地址:https://github.com/stulzq/BlogToolsgit
若是你以爲有用,歡迎來個star。github
這套工具只適用於用Markdown寫博客或者文章的人羣,若是你還不會請花一個小時的時間去熟悉,你就能感覺到Markdown給你帶來的好處了。shell
使用這套工具前,建議先閱讀這篇文章:《如何高效的編寫與同步博客》windows
BlogTools工具包就是爲了解決前言中所述問題,它會解析Markdown文件中的圖片,而後上傳到對於渠道,而且替換本地連接,下面用幾張圖來表示:跨域
1.原文:瀏覽器
2.轉換爲 阿里雲棲社區 渠道cookie
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
打開命令提示符(cmd),輸入下面的命令進行安裝
dotnet tool install -g dotnet-aliyun
打開命令提示符(cmd),輸入下面的命令進行安裝
dotnet tool install -g dotnet-imooc
打開命令提示符(cmd),輸入下面的命令進行安裝
dotnet tool install -g dotnet-tcloud
打開命令提示符(cmd),輸入下面的命令進行安裝
dotnet tool install -g dotnet-cnblog
卸載工具的命令格式爲:
dotnet tool uninstall -g <工具名稱>
這套工具主要面向寫技術博客的人員,因此工具在某些細節的地方並未作處理,好比「登陸」。須要用戶本身登陸之後,提取Cookie給工具使用。
獲取工具的幫助說明,請執行下面的命令,對每一個參數都有說明:
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
a.使用瀏覽器登陸並訪問博客編寫的頁面:https://yq.aliyun.com/articles/new
b.打開瀏覽器的開發者工具並選擇 network 選項卡,準備查看上傳圖片的交互請求。
c.隨便選擇一張圖片上傳
d.查看此次請求裏的Cookie,並保存到文本文件中
提取Cookie演示:
只複製圖中的括號中的數據
操做演示:
獲取工具的幫助說明,請執行下面的命令,對每一個參數都有說明:
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
a.使用瀏覽器登陸並訪問博客編寫的頁面:https://www.imooc.com/article/publish
b.打開瀏覽器的開發者工具並選擇 network 選項卡,準備查看上傳圖片的交互請求。
c.隨便選擇一張圖片上傳
d.查看此次請求裏的Cookie,並保存到文本文件中
提取Cookie演示:
只複製圖中的括號中的數據
操做演示:
獲取工具的幫助說明,請執行下面的命令,對每一個參數都有說明:
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
a.使用瀏覽器登陸並訪問博客編寫的頁面:https://cloud.tencent.com/developer/article/write
b.打開瀏覽器的開發者工具並選擇 network 選項卡,準備查看上傳圖片的交互請求。
c.隨便選擇一張圖片上傳
d.查看此次請求裏的Cookie,並保存到文本文件中
e.根據本次上傳圖片請求url中的參數提取uin碼和csrf碼
提取Cookie演示:
只複製圖中的括號中的數據
操做演示:
因博客園工具本系列最先的一個工具,使用方法最簡單便捷,無需本身提取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,若是你有更好的想法,歡迎與我交流。