OTHER 六月 17, 2021

Typora 图片自动上传与免费图床

文章字数 3.8k 阅读约需 3 mins. 阅读次数 1000000

  之前写过一个基于Gitee搭建免费图床的教程,但是每个图片都需要使用Git命令或者使用Git相关的可视化工具进行上传,使用起来并不是很方便。Typora 是当下比较火的一款Markdown写作工具,其图片自动上传功能为更方便的使用图床提供了可能。

引言

  之前的教程里讲述了基于Gitee搭建免费图床的方法,因为一些众所周知的原因,Github的访问速度比较受限,所以当时想到了在Gitee上搭建图床。但是因为需要手动上传每张图片,还无法快捷的获取图片调用链接,操作并不方便,因此更多的还是使用 PicGo + Github 的方式搭建图床。至于 PicGo + Github 搭建图床的教程网上很多,此处不多赘述。但是最近因为电脑重装系统,重新安装和配置了 PicGo, 出现了图片上传失败的问题。不清楚是自己配置有误还是什么其他原因,因此再一次产生了研究 Typora 图片自动上传功能的想法。没错,这并不是我第一次研究这个功能,但是第一次尝试以失败告终,这一次经过一个晚上的反复尝试,终于如愿以偿。因为访问速度的原因,这里仍然以 Gitee 举例说明,该方法同样适用于 Github ,感兴趣的小伙伴可以自己尝试举一反三或与我交流。

Typora 自动上传功能配置

  打开 Typora 编辑器,依次选择文件->偏好设置->图像,如下图所示进行配置:

选择插入图片时上传图片,勾选对本地位置的图片应用上述规则,上传服务选择Custom Command。也可以选择PicGo(app)或者Picgo-Core(command line),但是因为楼主PicGo趴窝了,所以这里选择自定义命令。感兴趣的同学可以尝试下其他选项。

  这里说明一下自定义命令,命令的含义是调用“D:\picture\pictures\”文件夹下一个名为“giteeupload.bat”的批处理文件,楼主把该批处理文件也放到了图床所用的仓库里。

创建批处理文件

  不知道什么是批处理文件的请自行找某度获取答案,创建方式是直接新建文本文件,然后直接改名为 “xx.bat” 即可,需要注意要把文件的扩展名改为“.bat”,电脑设置了不显示扩展名的小伙伴要注意扩展名是否正确。一般情况下修改扩展名会有一个提示是否修改扩展名的弹窗,选择确定即可,如果没看到这个弹窗,大概率是没有修改扩展名。

  话不多说,上代码:

@echo off
echo %0
set i=0
echo Upload Success:

::图片调用地址头部
set head=http://gitee.com/username/reponame/raw/branchname/path/

:loop
if [%1]==[] goto end
set source=%~f1
::echo %source%
set name=%~nx1

::图床本地仓库存放图片的路径
set path=D:\picture\pictures\pic\

set aim=%path%%name%
copy %source% %aim% >nul
set ul=%head%%name%
echo %ul%
shift
set/a i=%i%+1
goto loop
:end

::下一行中路径改为图床本地仓库的根目录
cd /d D:\picture\pictures

::后面几行中"C:\Program Files\Git\cmd\git"修改为git.exe的完整路径,注意不要加“”.exe”
"C:\Program Files\Git\cmd\git" add .
"C:\Program Files\Git\cmd\git" commit -m "add picture(s) %date:~0,10% %time%"
"C:\Program Files\Git\cmd\git" push origin master
"C:\Program Files\Git\cmd\git" status

  将上述代码粘贴到刚刚创建的 .bat文件中,根据注释稍作修改即可使用。修改点如下:

  1. set head=http://gitee.com/username/reponame/raw/branchname/path/中,username修改为自己在Gitee的用户名,reponame 修改为图床的仓库名称,branchname 修改为图床在仓库中的分支,通常默认为master,path 修改为图片在图床仓库中的路径,如在根目录下则直接删除“path/”;
  2. set path=D:\picture\pictures\pic\中,将“D:\picture\pictures\pic\” 修改为图床本地仓库中存放图片的路径;
  3. cd /d D:\picture\pictures中,将 “D:\picture\pictures” 修改为图床本地仓库的根目录路径;
  4. 最后几行中 “C:\Program Files\Git\cmd\git” 修改为 “git.exe” 的完整路径,注意本例中 “git.exe” 在 “C:\Program Files\Git\cmd” 路径下;
  5. "C:\Program Files\Git\cmd\git" commit -m "add picture(s) %date:~0,10% %time%"中, “-m” 后面的内容为提交信息,可以自行修改,也可以直接使用。

最后要注意的是批处理文件的文件名要与 Typora 中自定义命令的配置相对应。

功能验证

  至此,Typora 图片自动上传功能已经配置完成,点击 验证图片上传选项 按钮,j经过短暂的运行,如果能成功上传,则会提示“成功上传图片并获得新的URL”,如下图所示:

使用自动上传功能

  需要插入图片时,依次点击格式->图像->插入本地图片...然后在弹出窗口中选择想要插入的图片,稍等几秒中,图片就会上传到 Gitee 的服务器中,并以 Markdown 的格式插入服务器上的图片。

  目前该功能还不适用于插入剪切板中的图片。对于网站的图片是否有效目前也还没有验证,有兴趣的小伙伴可以尝试看看。

小结

  教程到这里就结束了,希望这篇教程能给小伙伴们带来便利,有疑问的小伙伴欢迎留言讨论,有不足之处也欢迎大家批评指正。

0%