VSCode 中有一个插件 Markdown Image 还算好用,能够一键将图片上传然后将链接粘贴到 Markdown 中。

之前都是把 Markdown 直接贴在对应项目里,然后经过相对链接拜访,运用的时候发现一些问题:

  • 项目的相对途径未必是上传后的实在途径,导致每次都要手动编辑地址。比如我的 Blog 中的上传图片的地址是 /public/image,但 public 到了发布时会被 copy 到根途径,此刻自动生成的相对地址就不匹配了。
  • Markdown 仿制到其他地方时,图片资源要再做一次仿制粘贴。比如我要把 Blog 中的某一篇发到 Juejin,由于源码是相对途径,而直接仿制内容又忧虑样式问题,所以每次都需要把图片再仿制一遍。

不过 Markdown Image 中有提供其它图床功用,决定将图片放到图床中,最终决定将图片放到 GitHub 图床。

GitHub 图床创立

VSCode Markdown 图片上传到 GitHub 图床

首先去 GitHub 中创立一个空仓库,这儿后边会运用 GitHub Pages,所以设置为 Public,假如运用其它 host 服务,可按需挑选。然后后边 host 服务可按需挑选,这儿举例两个:

直接运用 jsdelivr

我未直接运用 jsdelivr 主要是忧虑它挂掉(曾经遇到过几次)。运用 jsdelivr 则什么都不需要做,直接运用即可:

![](https://www.6hu.cc/files/2023/04/1681210560-f88aab2ffffa88c.png)

格局为:https://cdn.jsdelivr.net/gh/${username}/${repository}@${branch}/${filepath}

  • username 为 GitHub 用户名
  • repository 为你的仓库名称
  • branch 为分支名
  • filepath 为文件途径

运用 Pages 和 Cloudflare

VSCode Markdown 图片上传到 GitHub 图床

完成后去项目设置中开启 Pages 服务,并进行设置。自定义域名可按需设置,这边运用 Cloudflare 做域名解析和加快。

设置完成后拜访格局即为: https://stg.heyfe.org/${filepath}

这个方案好处是不必忧虑 jsdelivr 挂掉,但是害处是 pages 服务启用有点慢,上传完成后 GitHub Pages 生效中间大概存在 10 分钟的间隙,此段时刻拜访图片就拜访不到了。

Markdown Image 装备 GitHub 图床

这是卡我最久的一步,主要是 Markdown Image 中一个装备项很容易让人误解。

在 Markdown Image 中装备 GitHub 图床主要需要以下几个参数:

VSCode Markdown 图片上传到 GitHub 图床

此处不小心将 token 也带上去了,不过该 token 已经删去,咱们截图时也要留意此类安全隐患。

  • CDN 即上面咱们讲的 host 服务,按照装备修正即可
  • Path 是将图片上传到的途径
  • Repository 即项目的仓库地址
  • Token 需要去 GitHub Token 页面进行生成

此处 CDN 和 Path 都没什么好说的,重点说下 Repository 和 Token

Repository

此处装备的 Repository 地址不同于咱们平常运用 git 时的地址,所以一定要自己看好格局是: https://github.com/${username}/${repository} 而不是 https://github.com/${username}/${repository}.git,我习惯性的认为是 git 中的地址,导致一向上传失利各种查找、排查了十来分钟才找到原因。

Token

Token 咱们需要去 GitHub 设置 中去生成,早期 GitHub 中的 Token 权限设计存在一些安全隐患,现在推出了新的 Token。而咱们的 Token 是给插件运用的,无法彻底保证其安全性,所以主张运用新 Token。

VSCode Markdown 图片上传到 GitHub 图床

点击创立后会跳到 Token 生成页面,此处要留意的是 Expiration 和 Repository access 以及下方的权限设置。

VSCode Markdown 图片上传到 GitHub 图床

此处主张过期时刻设置为 1 年,最大就一年,所以后期要记住上传失利过来查看下 Token 是否失效。老 Token 有永久 Token,但是权限设置存在安全隐患,激烈不主张。

至于 Repository access 则主张只挑选对应的仓库。

而 Permissions 只需要勾选 Contents 即可。

VSCode Markdown 图片上传到 GitHub 图床

创立后仿制 Token 将其粘贴到装备中。

作用

然后咱们在 VSCode 即可经过快捷键或指令粘贴剪切板中的文件。

VSCode Markdown 图片上传到 GitHub 图床

FAQ

图片上传失利

假如呈现如下两种错误,大概率是 Markdown Image 中的装备出错了,请仔细查看装备,特别要留意 Repository 字段。

An SSL error has occurred and a secure connection to the server cannot be made. Would you like to connect to the server anyway?

VSCode Markdown 图片上传到 GitHub 图床

upload File Failed: Upload file failed: Not Found.

VSCode Markdown 图片上传到 GitHub 图床

上传没有反应

开发者面板会呈现 Get 0 Images 的提示。大概率是由于你的剪切板中没有可粘贴的图片。

本文正在参加「金石方案」