咱们使用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,若是你有更好的想法,欢迎与我交流。