上传本地 markdown 笔记至博客园

前言

无论是学习还是工作中,写博客都是必备的技能之一。你的博客里,可以记录自己的学习笔记,可以记录自己在学习过程中的心得体会或疑难问题。

如果博客内容仅仅是文字等,那么直接复制本地书写的 MarkDown 笔记,然后粘贴到博客园即可。可问题是,记笔记的时候,除了文字描述,有时候还会穿插一些配图,而这些配图往往存储到了本地目录下,无法上传到博客园中。而我们在博客园直接写文章的时候,如果想要配图,直接将图片拖拽到博客园中,在发布的时候,会自动生成一个网络链接。

想要解决这个问题,除了使用图床外,还可以使用如下办法。

一、插件安装

1.1 安装 dotnet

1.1.1 下载

阿里云盘:https://www.aliyundrive.com/s/6DsVu7tr4yc

由于后续用到的插件 dotnet-cnblog 只能在 dotnet5.0 版本中使用,并未适配最新的 6.0 版本,所以需要使用本篇博客所述方法的同学请下载 5.0 版本。

1.1.2 安装

下载后双击「dotnet-sdk-5.0.407-win-x64.exe」进行安装。

Windows 下,dotnet 会直接安装到 c 盘,并自动配置环境变量。

1.1.3 检测

安装完成后,打开cmd,输入命令dotnet --info,如果出现下图所示内容,即安装成功。

image-20220419114019207

1.2 安装dotnet-cnblog插件

在cmd中输入命令dotnet tool install -g --version 1.4.0 dotnet-cnblog

注意:该插件作者在 GitHub 上发布了 1.4.0 和 1.4.1 两个版本,如果安装时不指定版本,会默认安装 1.4.1 版本。经过亲自测试,只有 1.4.0 版本可用。

如果下载错误版本,可以使用命令dotnet tool uninstall -g dotnet-cnblog卸载该插件。
出现下图所示界面,表示安装成功:

image-20220419114438889

1.3 博客信息配置

在 cmd 中输入命令dotnet-cnblog,按照提示进行博客配置:

image-20220419114632009

上述步骤全部完成后,还需在博客园「设置-其他设置」中打开「允许 MetaWeblog 博客客户端访问」。设置完成后记得点击「保存」按钮。

image-20220419114859584

二、上传

2.1 上传图片

在 cmd 中输入命令dotnet-cnblog proc -f <markdown文件路径>,例如:

dotnet-cnblog proc -f E:\Documents\上传本地 markdown 笔记至博客园.md

处理后生成一个「上传本地 markdown 笔记至博客园-cnblog.md」文件,保存在你处理的文件的同级目录下。然后复制「上传本地 markdown 笔记至博客园-cnblog.md」笔记内容,粘贴到博客园的编辑器(MarkDown模式)发布即可。

注意:1、该方法仅上传本地路径的图片;2、图片格式必须为![]() 才可以。

2.2 添加快捷方式

应用了上述方法后,编写 markdown 到上传到博客园的步骤变得简单了许多,不用再一张张图片的上传了。但是,依旧会输入一些命令才能实现,比较复杂,不长期使用很难记住。

2.2.1 设置「右键\(\rightarrow\)发送到」的功能

打开「我的电脑」,在地址栏中输入%AppData%\Microsoft\Windows\SendTo并按下回车键:

image-20220419115758447

2.2.2 创建bat文件

  1. 在打开的文件夹中新建 bat 文件,根据自己的喜好为文件命名,例如我命名为「上传至博客园.bat」。
  2. 打开新建的 bat 文件(不要双击打开,右键选择编辑),复制以下代码:
dotnet-cnblog.exe proc -f %1
pause

image-20220419120747633

  1. 保存并关闭该文件。

2.2.3 使用

在需要上传的 markdown 文件上右键,选择「发送到\(\rightarrow\)前面 bat 的文件名」。

image-20220419120954886

三、问题及解决方案

3.1 修改图片大小无法上传

3.1.1 问题描述

正常情况下,复制到 Typora 的图片格式为![alt](本地图片路径),但有时候图片太大,想要缩小,那么你可以「右击-缩放图片」,那么此时图片格式就变成了<img src="本地图片路径" alt="alt" style="zoom:67%;" />,对于这种图片格式,是不会被识别的:

image-20220419121653150

3.1.2 解决方法

将需要上传的笔记中的所有图片全部重新复制到文章结尾(注意是![]()格式),然后选择「右键\(\rightarrow\)发送到\(\rightarrow\)前面 bat 的文件名」,你会发现,成功上传了文章中的所有图片。

打开「文件名-cnblog.md」 ,你会发现<img src="" alt="alt" style="zoom:67%;" />格式中的 src 地址也变成了网络地址,最后,删除掉文末的临时图片,将文章复制、粘贴到博客园即可。

注意:图片不要太大,不然会上传失败。