Typora+PicGo-Core(command line)+Gitee 实现上传图片到图床(看这一文就够)

news2024/10/1 5:31:40

前言

​ 对于喜欢写Markdown文档的人来说,Typora无疑是一个写作利器,它有别于其他的Markdown软件,不是一边编辑一边渲染,而是即写即渲染,这样对于浏览md文件也非常友好。此外Typora还支持更换主题,在其官网可以下载到很多大佬做的主题。总而言之,Typora对于Markdown写作非常便捷。但是Typora本身不支持图片上传,如果不想每次写一篇文章就附带一个图片的文件夹(这对于文章的保存和分享造成了一些不便),需要自己设置一下图片上传。

为什么选择PicGo-Core(command line)

PicGo(app)和PicGo-Core(command line)之间的区别

  • 目前,PicGo(app)仅中文。
  • PicGo(app)提供了一个GUI,因此与命令行版本相比更易于设置。
  • 使用PicGo-Core进行上传会消耗较少的计算资源,因为该过程仅在上传过程中运行,并且在上传成功或失败后退出。通过PicGo(app)上传时,PicGo(app)将始终保持运行状态,不会自动退出。此外,PicGo(app)是电子应用程序,它消耗了更多的计算资源。
  • PicGo(app)和PicGo-Core使用不同的配置文件,但是你可以将PicGo(app)的配置文件中的json对象的picBed值复制到PicGo-Core的配置文件中
  • PicGo(app)提供其他功能,例如上传历史记录,自动重命名等。
为什么选择Gitee作为图床

可用作图床的软件有SM.SM(默认)、Github、Gitee等等
本人开始选择了默认的SM.SM,但是发现上传图片总是失败,而国外的Github在国内网速也不是很好。
所以选择了Gitee这样的国内网站,这样网速就会快很多

需要注意的是上传到图床的图片都是公开的,有一定的安全风险,如果是一些私密、重要的图片,请在偏好设置里修改成上传到本地。因此需要根据自己的需求合理选择。

综上所述,我最终选择了PicGo-core(command line) + Gitee图床,上传Typora的图片。
这个软件请自行前往官网安装。

1. 安装 PicGo-Core(command line)

在这里插入图片描述

image-20240803232638517

image-20240803232712870

image-20240803232840137

image-20240803232919428

2. 安装 picgo 插件

因为使用gitee作为图床,需要下载gitee-uploader插件,而下载插件又需要nodejs的运行时环境,所以我们第一步需要安装nodejs,国内下载地址:https://nodejs.cn/download/,下载后缀msi的文件,版本不是太旧就行,安装一路next就可以了

注:Node.js:这个主要用于安装插件,如果不想留着且后续不再需要安装插件完全可以安装完插件后就卸载,并不影响后续的使用。

需要下载两个插件
gitee-uploader(用于使用gitee作为图床,是必须安装的,才能实现图片上传)
super-prefix(用于上传图片时能自动使用时间戳重命名,这样在浏览时会好看点,可不需要)

安装过程如下:

查询之前安装的PicGo-Core执行路径(一般来说就在C:\Users\你的用户名\AppData\Roaming\Typora\picgo\win64这个下面),点击“验证图片上传选项”,根据报错找到PicGo-Core的安装路径

image-20240804003308516

image-20240804003529191

拷贝路径后进入cmd操作

cd C:\\Users\\%用户名%\\AppData\\Roaming\\Typora\\picgo\\win64
picgo install gitee-uploader
picgo install super-prefix

均下载成功即可(如果执行报错 NPM is not installed,请检查上面的 nodejs 是否已安装成功)

(这里可能下载的有点慢,多等待一会儿)

image-20240804004043090

image-20240804004050138

3. 创建 Gitee 仓库和生成 Gitee令牌

注册/登录 gitee(这里就不作说明了),进入到主界面,新建一个仓库

image-20240803234229270

做如下配置,最后点击创建

image-20240803234904006

设置私人令牌

image-20240803235530409

image-20240804000100026

image-20240803235934950

最后点击提交

image-20240804000231304

复制保存好自己的私人令牌

4. 配置PicGo-Core的图床

配置以下选项后,点打开配置文件

image-20240804010649551

注意

  • 图片中“对网络位置的图片应用上述规则”这个选项。
  • 如果不勾选,从其他网站复制的图片,就不会上传至你配置的图床,md文档中会直接显示对应网站图片链接;
  • 如果勾选了,就会在本地生成upload文件夹,自动下载图片后,再上传至你配置的图床。
  • 无论是否勾选,对于QQ/微信截屏的图片,也会在本地生成upload文件夹,保存图片后,再上传至你配置的图床。

修改为如下内容:(以下是参照 PicGo-Core官方文档 的进行的配置)

{
  "picBed": {
    "current": "gitee",
    "gitee": {
      "repo": "guishengyun/typora-image-bed", // 仓库名的格式是Gitee用户名\仓库名
      "branch": "master", // 分支名,默认是 master
      "token": "", // 在gitee里生成的私人令牌 必填
      "path": "img", // 指定存储路径指的是在Gitee仓库里面的路径,我写了img/,所以我的仓库下面会生成一个img目录,所有图片都会上传到这个img目录下。指定存储路径不是必填项,可以不写。
      "customPath": "",
      "customUrl": "https://gitee.com/guishengyun/typora-image-bed/raw/master/" // 这个就是仓库的地址,在第三节的第二张截图有说明,也可以默认为空
    },
    "uploader": "gitee", // 代表当前的上传图床
    "transformer": "path"
  },
  "picgoPlugins": {
    "picgo-plugin-gitee-uploader": true,
    "picgo-plugin-super-prefix": true
  },
  "picgo-plugin-gitee-uploader": {
    "lastSync": "2024-08-04 12:47:03"
  },
  "picgo-plugin-super-prefix": {
    "fileFormat": "YYYY-MM-DD_HH-mm-ss" // (定义上传文件的文件名,以时间戳命名)
  } // super-prefix插件配置: prefixFormat 或者 fileFormat,注意别使用:(英文的冒号)在文件名里面,因为更新仓库到本地时会失败,windows不支持含特殊符号的文件名,
}

5. 上传验证

在这里插入图片描述

image-20240804005723351

如果图片上传成功并可以访问,那我们就成功完成配置!!!

注意要点

如果设置失败,可以考虑以下几个因素:

  1. 仓库没有设置为开源
  2. gitee 插件的参数填错了
  3. 插件 node.js 未安装(会提示的,这个原因几率很小)
  4. Typora 没有关联 PicGo.exe
  5. 如果PicGo-Core安装不上,或者实在太慢可以考虑用nodejs命令行安装

扩展

下面提供另外两种图床的配置文件,因为过程大体都一样,就不做过多的阐述

设置SMMS
{
  "picBed": {
    "current": "smms-user",
    "uploader": "smms-user",
    "smms-user": {
      "Authorization": ""
    },
    "transformer": "path"
  },
  "picgoPlugins": {
    "picgo-plugin-smms-user": true
  }
}
设置github
{
  "picBed": {
    "current": "github",
    "github": {
      "repo": "IT-cute/Picbed",
      "branch": "master",
      "token": "",
      "path": "img/",
      "customUrl": "https://github.com/IT-cute/Picbed"
    },
    "uploader": "github",
    "transformer": "path"
  },
  "picgoPlugins": {
    "picgo-plugin-gitee-uploader": true,
    "picgo-plugin-smms-user": true
  }
}

自动生成

上面的配置文件都是手动配置的也可以选择自动生成,以下提供配置过程,仅供参考

通常来说只需要配置 Uploader 即可,所以你可以通过 picgo set uploader 来进入交互式命令行,配置成功后会自动生成配置文件,无需复制粘贴。

cd C:\Users\%用户名%\AppData\Roaming\Typora\picgo\win64
picgo set uploader

按向下键,选择gitee,按照提示输入信息

image-20201106100958474

参数和上面手动配置的差不多,不懂可以参考上面的

image-20201106112814361

填好图床配置之后,使用 picgo use uploader 选择当前要使用的 Uploader

picgo use uploader

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1979734.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习 第10章-降维与度量学习

机器学习 第10章-降维与度量学习 10.1 k近邻学习 k近邻(k-Nearest Neighbor,简称kNN)学习是一种常用的监督学习方法其工作机制非常简单:给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个“邻居”的信息来进行预测。通…

YOLOv5改进 | 多尺度特征提取 | 结合多样分支块及融合的高级设计(CVPR2021)

YOLOv5改进 | 多尺度特征提取 | 结合多样分支块及融合的高级设计) 本文介绍论文原理介绍网络代码多种yaml设置网络测试及实验结果 本文介绍 YOLOv5(You Only Look Once)以其高效、准确的实时目标检测性能被广泛应用。然而,随着视觉…

【保姆级讲解C语言中的运算符的优先级!】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

【Material-UI】使用指南:快速入门与核心功能解析

文章目录 一、快速入门1.1 安装和导入1.2 组件的独立性 二、全局设置2.1 响应式元标签2.2 CssBaseline2.3 默认字体 三、响应式设计3.1 Grid系统 四、最佳实践4.1 组件的一致性4.2 性能优化4.3 可访问性 五、总结 Material-UI是一个功能强大且灵活的React UI框架,为…

数学建模--二分法

目录 二分法的基本原理 应用实例 求解方程根 查找有序数组中的元素 注意事项 Python代码示例 ​编辑 延伸 二分法在数学建模中的具体应用案例有哪些? 如何选择二分法的初始区间以确保收敛速度和精度? 在使用二分法求解方程时,如何…

通过 ACM 论文模版学习 LaTeX 语法 【四、图】

文章目录 一、LaTeX 简介二、ACM 论文模版三、格式四、图和表4.1 图4.1.1. 导言区设置4.1.2. 插入图片的基本语法4.1.3. 设置图片的尺寸和位置4.1.4. 图片浮动体4.1.4.1. figure 环境4.1.4.2. 位置参数4.1.4.3. \centering4.1.4.4. \includegraphics4.1.4.5. \caption4.1.4.6. …

19061 简单加法

这个问题可以通过使用字符串处理和简单的数学运算来解决。我们可以首先将输入的字符串按照""字符进行分割&#xff0c;然后将分割后的每个字符串转换为整数并求和。 以下是使用C的代码实现&#xff1a; #include <iostream> #include <sstream> #inclu…

LeetCode刷题笔记 | 3 | 无重复字符的最长子串 | 双指针 | 滑动窗口 | 2025兴业银行秋招笔试题 | 哈希集合

&#x1f64b;大家好&#xff01;我是毛毛张! &#x1f308;个人首页&#xff1a; 神马都会亿点点的毛毛张 这是一道银行的面试题&#xff0c;就是简单&#xff1f;&#xff01; LeetCode链接&#xff1a;3. 无重复字符的最长子串 1.题目描述 给定一个字符串 s &#xff0c…

live2d C++ sdk 分析

工具函数 首先会加载各种配置文件如model3.json&#xff0c;以字节流的方式读取(fstream) 读取过程中若报错 Stat failed. errno:2 path&#xff0c;很有可能是路径中出现了中文。因为官方用的stat函数判断文件合法性&#xff0c;stat函数貌似无法处理中文名 MatrixManager:…

PS学习笔记(二、换背景图片)

一、如何将人物抠出来 打开照片——选择——主体 CtrlJ复制图层&#xff0c;即可将任务单独拿出 将照片中的人物分层出来 另存为即可实现人物抠图。 二、背景抠图分离 ①选择——主体 编辑——内容识别填充&#xff08;填充——内容识别&#xff09; 图章工具修复 ②选…

C语言的回调函数(详解sqort函数)

在上一篇文章中我们学习了指针与数组之间的关系&#xff0c;学习了指针数组&#xff0c;数组指针变量&#xff0c;函数指针变量和函数指针数组。那么接下来我们要学习的是一个利用函数指针变量去解决和简化各种问题的回调函数。 一、回调函数 回调函数在编程中是一种很常见的…

Linux shell编程学习笔记68: curl 命令行网络数据传输工具 选项数量雷人(上)

0 前言 在网络时代&#xff0c;有经常需要在网络上传输数据&#xff0c;时我们需要通过网络下载文件&#xff0c;为了满足这种时代需要&#xff0c;Linux提供了众多网络命令&#xff0c;我们今天先研究curl命令。例如&#xff0c;我们可以使用 curl 从 URL 下载文件&#xff0…

QT百度智能云API鉴权,查询 文心一言 服务调用情况

百度智能云API鉴权 做了一个利用Qt实现调用文字大模型的API 小软件 AI.xyz。 想通过api直接访问国产语言大模型的调用情况&#xff0c;翻了半天 豆包、通义、文心 的官方文档。最后只找到百度提供通过api读取访问的功能。 一开始只看到 python 的sdk&#xff0c;试了试还可以…

Java常用类和数据结构与算法

1. 其他常用类 1.1. Math类 java.lang.Math提供了一系列静态方法用于科学计算&#xff1b;其方法的参数和返回值一般为double型。如果需要更加强大的数学运算能力&#xff0c;可以使用apache commons下面的Math类库 public class TestMath {public static void main(String[…

python 图片爬虫记录

看了2-3个小时的奥运会&#xff0c; 感觉内心空虚。 写点代码。 不知道做什么&#xff0c;随便搞一下爬虫&#xff0c;积累一点经验&#xff0c; 写篇博客&#xff0c;记录一下。 1. 注意检查响应头 情况描述: 对于这样一个 图片的 url https://blogger.googleusercontent.…

基于FPGA的数字信号处理(20)--半减器和全减器

目录 1、前言 2、半减器 3、全减器 4、减法器 文章总目录点这里&#xff1a;《基于FPGA的数字信号处理》专栏的导航与说明 1、前言 既然有半加器和全加器&#xff0c;那自然也有半减器和全减器了。尽管在电路中减法的实现基本都是 补码 加法 的形式&#xff0c;但是正所谓…

Hadoop搭建集群

Hadoop搭建集群 前言一、环境配置1.配置JDK2.配置Hadoop环境 二、Hadoop本地运行三、Hadoop集群部署1.准备三台服务器2.节点规划3.环境配置4.无秘登录5.配置核心文件1&#xff09;修改core-site.xml2&#xff09;修改hdfs-site.xml3&#xff09;修改yarn-site.xml4&#xff09;…

【linux】【操作系统】内核之sched.c源码阅读

sched.c提供的代码片段包含了与操作系统内核中的进程调度和管理相关的多个函数。schedule函数首先对所有任务&#xff08;进程&#xff09;进行检测&#xff0c;唤醒任何一个已经得到信号的任务。具体方法是针对任务数组中的每个任务&#xff0c;检查其报警定时值alam。如果任务…

Midjourney咒语之手机壁纸国画艺术

手机壁纸 Mountains, surfaces, mysterious landscapes --ar 9:16 Abstract shapes of billowing flowing colorful gauze fabric, --ar 9:16 国画艺术 Peony is

如何快速看完一个网页上的视频

如何快速看完一个视频 懂的都懂。 Edge浏览器 添加下面两个书签&#xff1a; javascript:document.querySelector("video").dispatchEvent(new Event("ended"))javascript:var vdocument.querySelector("video");if(v){v.mutedtrue;v.playba…