文章目录
案件
本案件发生于 2022-03-25 20:00
,本人打开 Typora
准备记笔记,然后惊奇的发现所有 Typora
和 picgo
、gitee
连接的图片被 一个红色的 Gitee
图标取代了。于是复制了连接,在浏览器上打开,发现有的能够打开但是再一刷新后就没了,还有的打开就是 Gitee
图标,并且还发现 /raw/master
变成了 /tree/master
,找了半天没有解决,于是在 2022-03-25 20:30
发送了这个问题,很快便得到了大佬的答复~
raw
和 tree
都是gitee
的地址,都可以访问到,一个是你现在的界面,一个是你点到某张图片,右击复制链接,它给的就是raw
的地址,是为了缓解服务器压力,所以分开了,实际上俩都能用,master
才是你的分支名字,并没有被改。大佬的解释让我如释重负,应该是服务器的问题。与此同时,许多博友也在焦急地等待着…
后续一
等了一晚上,早上 8:00 多准备看一下有没有好,然而并没有。又有博友在询问(昨晚问的,抱歉没及时回复)。
GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。GitHub 于 2008 年 4 月 10 日正式上线,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。
GiteeGitee 提供免费的 Git 仓库,还集成了代码质量检测、项目演示等功能。
其实两者在管理方面还是有些区别的(借鉴大佬的推荐):
之前也用到过 github
,只是中间了解到 gitee
,毕竟国内全中文看着方便,就用了 gitee
,没想到还会出现这种事,所以准备转到 github
试试。
后续二
在请教大佬后,可以说问题得到了解决,整理一下,尽量帮助到有困难的博友们~
条件:
- 1、picgo配置保持原样不动
- 2、Gitee 仓库数据依然保留着的
- 3、有 Github 账号的(可以自己去创,网络问题自行解决一下)
换 Github 仓库教程
一、Github 拉取 Gitee 图片仓库
首先找到自己在 gitee
上的图片仓库,点击 克隆/下载
复制本仓库的链接。省的拉取项目到本地,在 github
上创建仓库,再推送。
登录上自己的 github
后,找到右上角的 +
号,选择 Import reponsitory
,就是导入仓库的意思。
点开之后,将上面复制的 gitee 的仓库链接
黏贴,然后下面输入 github 的仓库名称
,尽量与 gitee
的保持一致,选择 public(公开)
,全部完成后点击 Begin Import
开始导入,等待完成即可。
导入完成后,就可以看到自己的图片仓库已经拉取过来了。
同时,所有的上传记录也会一并转过来:
二、配置 Typora + Picgo + Github
1、安装配置 Picgo
自定义安装 PicGo,首先选择“PicGo设置
”,点击“设置Server
”,开启Server
,设置监听地址为主机127.0.0.1
,端口号为36677
。
选择“图床设置
”—>“GitHub图床
”,进行如下设置:
注意:自定义域名,自己平常访问 Github
经常 404
的话建议改为:https://cdn.jsdelivr.net/gh/用户名/仓库名/文件路径
2、关于 Token 的获取
获取到 Token
后赋值到上面的 Picgo
配置中就行了~
3、配置 Typora
关于 Typora
的配置就不多讲了,下载好了进入偏好设置,配置如图两处即可:
返回顶部
4、测试图片上传
配置好了之后,点击验证图片上传信息:
在 github 中找到刚上传的测试图标就说明配置完成了!
详情参见大佬博文:typora+GitHub+PicGo 图床宝马级教学
三、换 Typora文章连接
1、图片链接转换测试
配置好了之后说明 Typora + Picgo + Github
环境已经装好了,并且原本所有 Typora
的文章图片也都存储到了 github
中的同名仓库中,现在我们测试将文章中的连接换成 github
的。
对比 gitee
和 github
修改图片的链接,我们提取其中不同的,在 Typora
中的图片链接中进行修改后,图片正常显示了。
2、批处理文章图片链接
说实话,一直在用这个东西,忽然崩了,挺搞人心态的,尤其是像我这种写了一堆文章的。上面一个图片修改完成了,接下来就是将我们所有文章中的图片链接地址进行部分替换:
import os
def show_files(path, all_files):
# 首先遍历当前目录所有文件及文件夹
file_list = os.listdir(path)
# 准备循环判断每个元素是否是文件夹还是文件,是文件的话,把名称传入list,是文件夹的话,递归
for file in file_list:
# 利用os.path.join()方法取得路径全名,并存入cur_path变量,否则每次只能遍历一层目录
cur_path = os.path.join(path, file)
# 判断是否是文件夹
if os.path.isdir(cur_path):
show_files(cur_path, all_files)
else:
all_files.append(file)
if (file.endswith(".md")):
with open(cur_path, encoding="utf-8", mode='r+') as f:
t = f.read()
t = t.replace('gitee.com/zyx201229', # gitee中的图片链接仓库名前部分
'github.com/Code-for-dream') # github中的图片链接仓库名前部分
# 读写偏移位置移到最开始处
f.seek(0, 0)
f.write(t)
# 设置文件结尾 EOF
f.truncate()
return all_files
# 条用函数进行全部替换
contents = show_files("G:\ZYX\学习\Typora", []) # 参数一传入的是你所有文章存在的目录
右击运行 python
文件之后,打开 Typora
就可以了!
补充一下:当我使用内网打开 Typora 的时候,会发现图片的连接访问的都是 github,速度巨慢,可能访问不到图片还是不能够显示。上面提过一个自定义域名的问题,这里就派上用场了,我们可以根据定义域名后上传的图片格式来进行修改,进行两次如图所示的替换,跟新一下图片链接就可以不用外网读取图片了(大量图片的时候还是会有点慢,但是比原来快多了!)
感谢大佬:张时贰 的耐心指点,救我狗命!