1. 程式人生 > >如何高效的編寫與同步博客(二)- 快速發布到多個渠道

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

block str 登錄 publish sof 兩種 關閉 ins mac osx

系列目錄

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

一.前言

我們使用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

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

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

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

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