# 记录一下给typora设置图床的过程
为何要设置图床呢?因为我们本地写Markdown,图片往往是存在本地的,发给别人的话别人就看不到图片了。另外,本地写Markdown然后上传到自己的博客,或者是上传到其他的写作平台,也没法显示图片,需要手动添加,就挺麻烦的。因此我们就想,能不能有一个大家都能访问的图片服务器,我们把图片丢上去,然后可以获得一个访问链接🔗,这样的话图片就可以被大家看到了。
其实本来是个蛮简单的事儿,网上的教程一大推。但我硬生生地花了好几小时,现在都1点多了。让我不得不为此着墨记录一下。
# 要用到哪些工具
- Markdown编辑器:Typora
- PicGo: 一个用于快速上传图片并获取图片 URL 链接的工具。GitHub链接 (opens new window) 、官方教程 (opens new window)
- GitHub或者Gitee仓库作为图床,当然也可以使用其他云
# 先安装PicGo
直接去GitHub上下载对应的版本安装,打开之后是这个亚子:
然后我们需要配置图床,让它可以上传图片。
# 选择1:用GitHub配置图床
直接建一个仓库,或者用之前的老仓库都可以。比如我曾经给mdnice创建过图床,那就可以直接使用。
搞一个私人令牌 在
Setting
-Developer setting
-Personal access tokens
中新建一个即可。这里注意,令牌token只会显示一次,所以要想持续使用的话,就要保存好。但忘记了也不怕,重新生成一次即可。(重新生成的会跟老的不一样,所以使用老的token的应用会失效,不过这对上传过的图片没影响)
配置PicGo
按照软件中的提示,填写仓库名,分支名,token。
这里支持自定义图片存放地址和域名!
地址填了之后,会自动在GitHub中创建,域名也是。
这里对域名多提一嘴:
由于GitHub访问较慢,所以可以通过
jsdelivr
CDN来加速访问。具体的做法就是在自定义域名的地方,填写:https://cdn.jsdelivr.net/gh/用户名/仓库名
即可。
至此,PicGo的GitHub图床就应该设置好了。可以上传图片试一试,看GitHub仓库有没有更新。
# 选择2:使用Gitee(码云)配置图床
首先我们会发现,PicGo自带的图床选择中,没有Gitee(还是没有牌面啊)。但为了国内高速的访问,肯定有大佬已经开发了相应的插件了,所以我们可以直接在PicGo中搜索并安装插件,搜索gitee-uploader:
就可以安装了。
然后的步骤跟上面GitHub的一模一样,不赘述了。此时就不需要使用jsdelivr
来加速了。
WARNING
哦,对了。分支,GitHub里是main
而Gitee中是master
。这个填错了,就会上传失败!
# 在typora中连接PicGo服务
在typora的偏好设置中,按照下图进行设置:
设置完之后,点击“验证图片上传选项”,系统会让你上传两张验证图片,如果验证成功了会显示:
上面说的容易。但中间可能会有一些坑。
比如,我发现在我的环境里,如果使用GitHub,那么我设置了jsdelivr
CDN的话,我直接用PicGo是可以上传的,但typora怎么样都无法验证通过。于是,我最后不得不改用Gitee。Gitee真香!
bug千千万,而且这个PicGo,出错了,也不提示,这一点就很烦。比如上传失败的话,进度条是红条,但我之前就没成功过,我咋知道红条是失败?再比如,设置成功了也没提示,哪里出问题了也没提示,哎。所以一开始摸索了好久。
但作为一个程序员,我居然忘记了最最有用的一个查bug的方式——看日志!!!果真,我找到了log文件,用tail -f
命令来跟踪log,再一步步地操作,就可以清晰地看到哪里出错了,因此在log的帮助下,我迅速地定位了很多问题,最终得以解决。所以说啊,程序员跟开发者,最好的沟通材料就是log,log都不看,是对开发者的不尊重。
最后还有个细节,比如GitHub(Gitee我不清楚)似乎不支持重名文件的上传,会失败,因此建议给PicGo设置“使用时间戳重命名”的选项。
以上,睡觉!。