如何高效的編寫與同步博客(二)- 快速發佈到多個渠道

系列目錄

一.前言

咱們使用Markdown編寫博文,總免不了文章中出現圖片,這裏的圖片有兩種類型,一種是放在互聯網上的,一種是放在本地的。若是我引用的是互聯網上的圖片(如 https://xxx.com/xxx.png ),咱們在各個渠道發佈的時候只須要複製粘貼便可,可是這帶來一個問題,若是咱們引用圖片的網站若是關閉了外鏈,那咱們所發的文章的圖片都將會失效,影響文章的質量。若是咱們的圖片放在本地,那麼咱們在多個渠道發佈的時候,又須要在每一個渠道一張張上傳圖片,豈不是太麻煩,太耗時間了。若是有一個工具能自動解析博文中引用的圖片,而後自動上傳到對應的渠道,而且把咱們博文中引用本地圖片的連接改成對應渠道圖片的連接,那麼咱們發佈也只用複製粘貼便可,瞬間完成十分高效。這裏介紹一下開源項目 BlogTools ,它是一個博文快速多渠道發佈工具包,支持博客園、阿里雲棲社區、騰訊雲+社區、慕課網手記 4種渠道。html

開源地址:https://github.com/stulzq/BlogToolsgit

若是你以爲有用,歡迎來個star。github

二.BlogTools的做用

這套工具只適用於用Markdown寫博客或者文章的人羣,若是你還不會請花一個小時的時間去熟悉,你就能感覺到Markdown給你帶來的好處了。shell

使用這套工具前,建議先閱讀這篇文章:《如何高效的編寫與同步博客windows

BlogTools工具包就是爲了解決前言中所述問題,它會解析Markdown文件中的圖片,而後上傳到對於渠道,而且替換本地連接,下面用幾張圖來表示:跨域

1.原文:瀏覽器

File

2.轉換爲 阿里雲棲社區 渠道cookie

Aliyun.

3.轉換爲 慕課網手記 渠道工具

Imooc

主要就是減小你到每一個渠道去上傳圖片的操做。你只需複製轉換之後的內容,粘貼到對於的渠道便可完成發佈。測試

三.各個渠道工具包

工具名 說明 版本號
dotnet-aliyun 阿里雲棲社區 Latest version
dotnet-imooc 慕課網手記 Latest version
dotnet-tcloud 騰訊雲+社區 Latest version
dotnet-cnblog 博客園 Latest version

四.安裝

使用這套工具須要你的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

Aliyun Install

2.慕課網手記 工具安裝

打開命令提示符(cmd),輸入下面的命令進行安裝

dotnet tool install -g dotnet-imooc

Imooc Install

3.騰訊雲+社區 工具安裝

打開命令提示符(cmd),輸入下面的命令進行安裝

dotnet tool install -g dotnet-tcloud

Tcloud Install

4.博客園 工具安裝

打開命令提示符(cmd),輸入下面的命令進行安裝

dotnet tool install -g dotnet-cnblog

Cnblog Install

五.卸載

卸載工具的命令格式爲:

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

a.使用瀏覽器登陸並訪問博客編寫的頁面:https://yq.aliyun.com/articles/new

b.打開瀏覽器的開發者工具並選擇 network 選項卡,準備查看上傳圖片的交互請求。

c.隨便選擇一張圖片上傳

d.查看此次請求裏的Cookie,並保存到文本文件中

提取Cookie演示:

Aliyun Cookie

只複製圖中的括號中的數據

操做演示:

ys

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

a.使用瀏覽器登陸並訪問博客編寫的頁面:https://www.imooc.com/article/publish

b.打開瀏覽器的開發者工具並選擇 network 選項卡,準備查看上傳圖片的交互請求。

c.隨便選擇一張圖片上傳

d.查看此次請求裏的Cookie,並保存到文本文件中

提取Cookie演示:

Imooc Cookie

只複製圖中的括號中的數據

操做演示:

ys

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

a.使用瀏覽器登陸並訪問博客編寫的頁面:https://cloud.tencent.com/developer/article/write

b.打開瀏覽器的開發者工具並選擇 network 選項卡,準備查看上傳圖片的交互請求。

c.隨便選擇一張圖片上傳

d.查看此次請求裏的Cookie,並保存到文本文件中

e.根據本次上傳圖片請求url中的參數提取uin碼和csrf碼

提取Cookie演示:

Tcloud Cookie

只複製圖中的括號中的數據

操做演示:

ys

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,若是你有更好的想法,歡迎與我交流。

相關文章
相關標籤/搜索