前言
大家在进行博客的编写时,会剪贴到很多图片到我们的文档当中。在我们使用Typora
进行markdown
文件的编写,可以有很好的一个展示效果。
但是markdown
是基于引用的形式将图片展示给我看的,而不是将图片插入到文档之中。如果只是我们个人观看并无什么问题,但是当我们想要将文档分享给到别人时,我们所插入的图片就会发现全部都是无法查看。
tips: 图片保存在本地目录,文档引用图片的存储路径
在这里我们可以引用图床的概念来解决这个问题
所谓图床,其实可以就相当于我们手机上的相册,不过他是在线的,而且是对大家开放的,大家都可以访问查看,但是编辑删除这些功能仅限于拥有者,就相当于用百度云分享的公开照片,你可以查看,也可以下载下来编辑,但是拥有权还是属于分享者。
以下是网络上的概念:
图床其实是互联网中存储图片的空间。
假设你在微博分享一张图片,你的粉丝可以通过互联网看到你分享的图片,那么他是去访问你的手机的相册吗?其实不是的,你分享图片,也就是把图片上传到微博的服务器,微博将为你生成一个独一无二的访问链接,这个链接指向的空间其实就是图床。
ok,引入Github,其实我们就可以很好的知道这样的一个概念了,就是相当于本地代码与Github上面托管的代码。既然如此我们可以直接将图片资源放到Github托管上去,就像托管代码一样,然后通过Typora引用图片的地址,这样就可以去访问我们想要的图片了。
操作
1. 问题前沿
图床可以有其他的一个配置方法,这是我的一个配置过程记录
Github + PicGO + JsDelivr + Typora
以上:Gitee不可替代Github,因为Gitee开启了防盗连接,之前是可以的,现在不行了。其他工具均有替代款,以上只是笔者选型。
照旧先把可能出现的问题放在前面,寻找解决方案可以先看这里,否则可以先跳过这部分。
最重要的就是观察url
1.1 Github访问不了/过慢
科学上网(配置完成的话不太依赖需要科学上网了)
1.2 PicGo上传失败
可以检查PicGo的Github配置,我配置的时候是新建的,不是使用的默认配置,上传区域可以选择上传位置检查是否是配置那个
1.3 路径无法访问到图片
PicGo图片上传成功,但是剪贴板的路径无法访问到图片
检查剪贴板的PicGo路径,与通过JeDelivr加速的路径有何区别,路径对不对
picture:本地图片文件夹
yeasher:github账户名
shine-oss:github图床仓库名
img:github上图片保存的目录
本地路径
picture/xxx.png
JeDelivr加速的路径
https://cdn.jsdelivr.net/gh/yeasher/shine-oss/img/xxx.png
PicGo生成的剪贴板路径
(未配置自定义域名)
https://raw.githubusercontent.com/yeasher/shine-oss/main/img/xxx.png
(配置了JeDelivr域名)
https://cdn.jsdelivr.net/gh/yeasher/shine-oss/img/xxx.png
检查是否配置了:
C:\Windows\System32\drivers\etc路径下的hosts文件。
配置方法看这里
1.4 JeDelivr加速失败
// 加载任何Github发布、提交或分支
https://cdn.jsdelivr.net/gh/user/repo@version/file
https://cdn.jsdelivr.net/gh/yeasher/shine-oss/img/xxx.png ## 获取最新资源
https://cdn.jsdelivr.net/gh/yeasher/shine-oss@1.0/img/xxx.png
## 获取1.0版本的资源
检查路径是否配置正确。
https://
cdn.jsdelivr.net/gh
/yeasher
/shine-oss
/img
/image-20231218163720355.png
请求头 + 域名前缀 + github用户名 + 仓库名 + 图片文件夹 + 图片名
1.5 Typora没有图片上传功能
检查客户端版本号,我用的是0.9.98
1.6 个别情况----github
上图片已上传成功,本地Typora图片不显示
个别文件上传成功,但是本地无法访问,github上面存在
解决方法: 将
https
换成http
问题解决依旧出现无法访问情况
文件–>偏好设置–>图像–>对网络位置的图片应用上述规则–>取消勾选
这里Typora会首先将图片保存在本地,然后再进行上传,问题得以解决。
2. 分工
Github:图片托管存储位置(访问慢,上传繁琐)
JeDelivr:CDN加速工具(加速Github访问)
PicGo:图床上传工具(简化上传步骤,直接拖拽上传即可)
Typore:markDown文件编写工具(文档编写方便支持富文档,但是图片是通过引用展示,分享比较依赖图床), 有付费版有免费版的,免费版的高版本也具有图片上传功能(依赖图床)。我使用的是0.9.98版本。
3. 图床的使用
3.1 Github 直接使用Github挂载的图片(暂时没试过)
3.2 Github + JsDelivr
我是在本地目录同级创建一个picture文件夹保存图片,Typora引用路径是
,我们可以使用
全局替换CTRL + F
3.3 Github + PicGo
图片拖拽上传,点击上传,剪贴板上传等,然后上次成功剪贴板上有图片上次之后链接,可以直接使用
https://raw.githubusercontent.com/yeasher/shine-oss/main/img/Snipaste_2023-12-18_16-07-53.png
3.4 Github + PicGo + JsDelivr
PicGo 配置自定义域名为
https://cdn.jsdelivr.net/gh/yeasher/shine-oss
图片拖拽上传,点击上传,剪贴板上传等,然后上次成功剪贴板上有图片上次之后链接,可以直接使用
https://cdn.jsdelivr.net/gh/yeasher/shine-oss/img/image-20231218163720355.png
3.5 Github + PicGO + JsDelivr + Typora(需要支持图片上传功能—高版本有)
直接粘贴到Typora,可以选择上传到图床
可以选择命令行也可以选择客户端,客户端需要依赖PicGo客户端
4. Github图床
前景提示: 这部分如果可以进行科学上网,可以更快地实现,如果加载缓慢的话。
4.1 首先创建一个新的公共仓库
新建一个仓库到Github
4.2 克隆代码到本地
4.3 新建一个文件夹,将图片复制进去。
4.4 commint 代码,然后push到Github。
第一次会有一个弹窗让你授权账号,选择添加账号,傻瓜式同意过去输入账号密码(这个是在网页已经登录了Github账号的情况下)。
4.5 自定义发布版本
0.0.0.2是因为我0.0.0.1已经创建过了,建议依次这样子去迭代(第一次输入进去是直接创建的)。那个发行版是我为发布拉了一个新的分支release
,展示是因为汉化插件所以展示的是发行版。
5. Picgo简化上传
这是一个开源的图床上传工具,PicGo可以将其用作我们的图片上传工具
可以去它的官网下载,也可以去Github找它的release
5.1 下载安装之后打开
5.2 Github创建一个token
点击头像打开 Settings -> Developer settings -> Personal access tokens
,最后点击 generate new token
;
左边菜单拉到最下面
填写用途,然后勾选repo就可以点击下面按钮生成!
然后就可以看到token
token
生成,注意它只会显示一次,所以你最好把它复制下来到你的备忘录存好,方便下次使用,否则下次有需要重新新建;
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
5.3配置PicGo
自定义域名可以填这个
https://cdn.jsdelivr.net/gh/yeasher/shine-oss
https://cdn.jsdelivr.net/gh/github账号的用户名/仓库名时
重中之重的是一定要把配置的配置设置为默认配置!!!
否则会出现you must be logged in to use
如果不配置也可以在上传区选择(但是小白容易漏掉)
5.4 设置上传的快捷键
通过上传区上传即可(Ctrl V 或者将图片拖拽都可以),也可以通过快捷键的方式上传(默认上传键为 Ctrl + Shift + P
)
5.5 问题处理
5.5.1 新配置的PicGo上传失败
5.5.2 上传之后剪贴板的路径无法展示
用记事本打开C:\Windows\System32\drivers\etc路径下的hosts文件。
在后面加下面的。
-
如果在设置配置的时候自定义域名为空
185.199.111.133 raw.githubusercontent.com
-
自定义域名为https://cdn.jsdelivr.net/gh/github账号的用户名/仓库名时。
104.16.85.20 cdn.jsdelivr.net
6. JsDelivr进行CDN加速
我是在文件同级路径下创建picture文件夹保存图片
可以再Typora配置好,然后就不用自己创建文件夹,直接粘贴到Typora即可
Typora引用路径是
,我们可以使用全局替换CTRL + F
将picture替换成
https://cdn.jsdelivr.net/gh/yeasher/shine-oss/img
然后也可以看到图片。
如果添加了PicGO,可以通过Typora的上传功能直接粘贴在Typora,就不用通过PicGo客户端进行上传操作,然后再通过剪贴板粘贴到文本。
最后
在有Github挂载,JeDelivr加速,PicGo代替上传,Typora配置图像设置
直接可以实现Snipaste
剪切图片,然后直接复制到Typora
,直接一起实现了本地图片留底和图床托管一系列操作。
剪贴之后点击上传按钮,本地
路径对比:
本地文件:
Github文件:
补充:
补充一个Typora批量上传操作。
在Typora写博客,全部写好之后,里面所粘贴的图片全部都是本地的,我们需要一张张的去上传到图床或者边写边上传。
格式 --> 图像 -->上传所有本地图片
结果:
复制到Typora
,直接一起实现了本地图片留底和图床托管一系列操作。
剪贴之后点击上传按钮,本地
路径对比:
本地文件:
Github文件:
补充:
补充一个Typora批量上传操作。
在Typora写博客,全部写好之后,里面所粘贴的图片全部都是本地的,我们需要一张张的去上传到图床或者边写边上传。
格式 --> 图像 -->上传所有本地图片
[外链图片转存中…(img-4AnSqTk3-1718076458834)]
结果: