Typora + GitHub = 效率

by Typora.net

Typora 是一款简单、高效而且优雅的 Markdown 编辑器,它提供了一种所见即所得的全新的 Markdown 写作体验。它把源码编辑和效果预览两者合二为一,在输入 Markdown 代码的时候即时生成预览效果。Typora 的一切都围绕纯粹的生产效率而设计。

Typora一直是老逛最喜欢的 markdown 编辑器,写博客、记笔记的首选软件。相信大部分朋友也在使用 Typora 这款软件。

但是 Typora 之前是不支持图床功能的,只能通过第三方插件实现图片自动上传的功能。不过最近 Typora 有了更新,终于支持图床功能了,接下来我会分别介绍借助插件上传图片和 Typora 自身的图床功能。老逛亲身体验,Typora 软件自带的图片上传功能很慢,不如自己写的插件好用。

  1. 借助插件实现自动上传

之前老逛也是使用第三方插件进行图片的上传,该插件安装后的使用效果如下:

把图片拖进 md 编辑器,图片会自动上传到图床,上传成功图片顶部会出现绿色背景的白字进行提醒。该插件支持、GitHub、七牛云、阿里云、码云等。

该插件是 Thobian 同学开源的插件,仅支持 Windows 系统。

  1. 插件安装

安装环境

Typora 版本:0.9.68 (Windows x86)

Typora安装目录:D:Program FilesTypora ,或者安装在其他目录

安装步骤

  1. 下载插件代码,公众号「逛逛GitHub 」后台回复「md插件」下载
  2. 复制插件相关代码文件:window.html、plugins
  3. 将复制的插件代码文件,粘贴到 Typora 安装目录下的 resourcesapp 文件夹下
  4. 安装完成,重启 Typora

插件配置

接下来可以配置将图片上传到哪个图床,打开 plugins/image/upload.js文件,拉到最下面 将最后一行的$.image.init;按照下面的说明进行配置:

上传到Github - 推荐

免费且无需自己搭建服务器,是一种不错的方式,配置中需要填写token,添加 token 可登陆 GitHub后访问此链接:https://github.com/settings/tokens

仅给 typora 使用的 token 授予最小的权限(repo.public_repo) 即可。

//注册token的尽量不要跟其他应用共用,同时授予最小权限
//免费+无需自己搭建服务器,是一种不错的方式
$.image.init({
target:'github',
quality:1, //图片压缩开关,1表示原图上传 取值为:0github:{
Token : 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', // 添加一个仅给typora使用的token 授予最小的权限(repo.public_repo) ,添加token:https://github.com/settings/tokens
CommitterName : 'nickname', // 提交人昵称,写你github的昵称
CommitterEmail : 'email@mail.com', // 提交人邮箱,写你github的邮箱
Repository : 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', // github项目名,比如你的项目地址是:https://github.com/Thobian/typora-plugins-win-img 那就是后面的“Thobian/typora-plugins-win-img”
Filepath : 'typora', // 图片在项目中的保存目录,可以不用提前创建目录,github提交时发现没有会自动创建
// 【注意:开启CDN后会将原github的文件地址换成 jsDelivr 的地址,如出现镜像出现国内无法访问,或者不再继续运营你的图片也将不能访问到,请谨慎开启该功能】
jsDelivrCND : false, // 是否开启GitHub图片走镜像,国内有时候访问不太方便,如要打开设置为:true
}
});
上传到自建服务器

将图片上传地址换成你自己的后端接口,由于调用时不带登录态,请注意接口安全别被坏人利用。

为了防止坏人利用你服务器接口,插件支持设置请求头,可一定程度避免被利用

接口协议:

请求方式:POST

请求参数:data:image/png;base64,xxxxxx (图片原转换成base64后的值)

成功响应:{‘code’:0, ‘message’:‘成功’, ‘data’:{‘url’=>‘imageURL’}}

失败响应:{‘code’:x, ‘message’:‘错误原因’, ‘data’:} 失败时,code必须未非0

后端接口代码可以参考代码文件:upload.php

$.image.init({
target:'self',
self:{
//默认上传地址 https://jiebianjia.com/typora-plugins/upload.html
url:"https://you-server/the-image-upload-path


Tags: , ,