Typora结合PicGo + 使用Github搭建个人免费图床

2024-02-25 20:28

本文主要是介绍Typora结合PicGo + 使用Github搭建个人免费图床,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、国内图床比较
  • 二、使用Github搭建图床
  • 三、PicGo整合Github图床
    • 1、下载并安装PicGo
    • 2、设置图床
    • 3、整合jsDelivr
      • 具体配置介绍
    • 4、测试
    • 5、附录
  • 四、Typora整合PicGo实现自动上传

每次写博客时,我都会习惯在Typora写好,然后再复制粘贴到对应的网站上。但是难免会遇到一些问题:Typora里的图片是无法直接赋值粘贴到网上的,因为图片存储在本地,网站上写博客的地方是读取不到本地图片的!

这个时候,图床的用途就体现出来了。使用Typora的自带功能,当我们在Typora里插入图片时,能自动的上传至网络,并且得到图片的url连接!


一、国内图床比较

图床:储存图片的服务器,有国内和国外之分。

结合网上的资料在这里举几个例子

  1. 公共图床:这类图床一般可以直接上传图片,会返回一个链接,供你使用

    • SM.MS图床:无需注册,没有广告,直接上传

    • 路过图床:有点广告,需要注册

  2. 代码托管平台:这类图床一般是建立在代码托管平台的仓库中,使用时要公开仓库

    • GitHub:全球最大代码托管平台,目前除了国内速度慢,几乎没啥缺陷

    • Gitee:国内仿GitHub代码托管平台,但免费的各种容量上的限制,优点是国内速度快

    • 七牛云:速度快,缺点是要点小钱,免费的各种限制

  3. 服务器图床:

    各大云服务器:阿里云,百度云,华为云,或者私人服务器 。除了费用高,没啥缺点,全是优点

但是作为一个学生党,当然白嫖最香!

在gitee和github上纠结很久,最终选择github + jsDelivr(加速),因为gitee的免费个人的空间太小了,并且上传文件的大小限制 < 1M。


二、使用Github搭建图床

新建仓库

image-20240225001855355
在这里插入图片描述

点击右上角用户头像 => settings
在这里插入图片描述

生成token令牌,往下拉,直到左侧到底,选择Developer settings

在这里插入图片描述

按图点击

image-20240225002702049

验证选择密码验证

image-20240225002758046

可以给令牌(token)做个Note(标记),然后选择令牌(token)截止时间。这里不建议选永久,因为不安全。基本是该图床你用到多久就选多久即可。

选择 repo 权限,然后拉到底部,选择创建就行了。

在这里插入图片描述

创建完毕之后,生成的Token是你的账户下的github服务器的令牌,最好用记事本记录下来,后面会用到。


三、PicGo整合Github图床

PicGo是一款优秀的图床工具,能够自动把本地图片上传至网络,并转换成可访问的链接。

1、下载并安装PicGo

下载地址:https://github.com/Molunerfinn/PicGo/releases

根据自己的操作系统(Win/Linux/Mac)来下载安装包

在这里插入图片描述

2、设置图床

图床设置 => Github

在这里插入图片描述

3、整合jsDelivr

想要知道jsDelivr的作用,首先就需要了解CDN是什么

CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。

由于Github的资源在国内加载速度比较慢,因此需要使用CDN加速来优化网站打开速度,jsDelivr + Github便是免费且好用的CDN,非常适合博客网站使用。

进行图床配置:

image-20240225010322920

具体配置介绍

  1. 图床配置名:自己取

  2. 设定仓库名:用户名+仓库名

  3. 设定分支名:

    image-20240225010505787

  4. 设定Token:就是上面我们刚刚在Github上获取的token

  5. 设定存储路径:需要放到仓库中的哪个文件夹下。

    • 如果直接放到仓库的根目录下就不需要填写这一栏

    • 如果需要放到某个目录下,直接写目录名就行,不需要在目录名前加 / 。

      eg:test

    • 当有多级目录时,也是直接写路径。

      eg:test/test1/test2

    • 当填写的目录不存在时,PicGo会自动帮你在Github上创建目录,这个不用担心!

  6. 设定自定义域名:此时就需要结合jsDelivr来加速了

    打开jsDelivr官网,了解它的使用方法:https://www.jsdelivr.com

    在这里插入图片描述

    # https://cdn.jsdelivr.net/gh/:固定的前缀,相当于替换掉了Github地址中的https://github.com/
    # user:Github上的用户名
    # repo:仓库名
    # @version:版本号(这里我们可以不管)
    # file:文件名(这里我们也不需要加上,因为上传完图片后,它会自动将上传的图片的名字作为存储的文件名)
    https://cdn.jsdelivr.net/gh/user/repo@version/file
    

    例如我的自定义域名就为:https://cdn.jsdelivr.net/gh/Epiphany6666/Picture

    这里值得注意的是,如果需要指定上传到哪个分支,此时需要在自定义域名后面使用@ + 分支名,如果是仓库默认的分支,可以省略指定分支这一步。

    eg:我需要上传到test分支上,此时自定义域名就变成了:https://cdn.jsdelivr.net/gh/Epiphany6666/Picture@test

4、测试

配置完成后,切换到刚刚配置好的图床,然后手动上传图片试试:可以点击’点击上传’,也可以通过拖拽的方式进行上传

PS:上传的过程中需要关闭steam++

在这里插入图片描述

然后,我们能够在相册中看到我们已经上传的图片,可以查看、复制已经上传的图片的URL,同时也可以将上传的图片删除。

在这里插入图片描述

5、附录

可以在PicGo设置中开启 时间戳重命名 ,这样同时上传相同的图片就不会被覆盖了。

image-20240225024937437


四、Typora整合PicGo实现自动上传

PS:使用Typora上传的时候同样需要关闭steam++

在Typora中配合PicGo,就可以实现在文章中插入图片时自动上传。

image-20240225005220447

按如图所示配置。

插入图片时选择上传图片。在上传服务内选择PicGo,并选择PicGo.exe的路径。

在这里插入图片描述

大功告成!快去在Typora中插入一张图片试试吧!

这篇关于Typora结合PicGo + 使用Github搭建个人免费图床的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/746605

相关文章

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

C++ Primer 多维数组的使用

《C++Primer多维数组的使用》本文主要介绍了多维数组在C++语言中的定义、初始化、下标引用以及使用范围for语句处理多维数组的方法,具有一定的参考价值,感兴趣的可以了解一下... 目录多维数组多维数组的初始化多维数组的下标引用使用范围for语句处理多维数组指针和多维数组多维数组严格来说,C++语言没

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud