Typora是我非常喜欢的Markdown编辑器,之前的一个更新,Typora支持了“上传图像”的功能(即写文章时,插入图片自动将其上传至图床),我们可以直接借助IPic、uPic、PicGo等程序,配合Typora自动将图片上传至又拍云等对象存储平台。

一起开始吧

以Typora自定义命令上传图片为例,当我们从我们插入一张图片时,发生了什么?我们在Typora插入一张本地的图片后,Typora会调用预先设置的自定义命令(通常是运行一个脚本)来上传图片,自定义命令(脚本)上传完图片后输出(注意这里有坑)相应的URL,Typora会读取该URL,并自动把本地图片地址替换为相应的URL。所以只要配置得当,我们在写作时,只需要准备好素材,直接对素材command + ccommand + v了。


综上所述,如果我们要通过自定义命令来上传图片,只需要三步:

  • 编写能够上传图片至相应的图床或者对象存储的脚本
  • 在偏好设置中进行相应的设置
  • 测试是否正常

编写脚本

#!/bin/bash# 各类配置信息bucket="sample" # 云存储服务的名称remote_path="default/" # 上传默认的路径auth="xxxxxxx" # 操作员名和操作员密码按照operator:password拼接Base64编码base_url="https://xxx.xxx.xx/" # 对象存储绑定的域名

# 上传图片for i in "$@"; do    curl https://v0.api.upyun.com/"$bucket"/"$remote_path" -H "Authorization: Basic ""$auth" --upload-file "$i"done

# 输出结果echo "Upload Success:"for file in "$@"; do    IFS='/' read -r -a array <<"$file"    id="${#array[@]}"    echo "$base_url""$remote_path""${array[$id-1]}"doneCopy

脚本相对简单(具体API可以参考),分为三部分:

  • 各类配置信息。又拍云对象存储相关的信息。
  • 上传图片。使用curl命令调用REST API上传图片。
  • 输出结果。适配Typora,输出结果。

我们在写一个脚本的时候,大体上关注三部分内容,输入、处理过程和输出。处理过程是自己实现的所以还好,但Typora上传图片自定义命令的「传参和输出」是真的奇坑。

  • 传参。Typora上传图片调用自定义命令时,会将待上传的图片作为命令行参数,传入脚本。如bash upload.sh 1.jpg 2.jpg,这里具体有几张待上传的图片不确定,所以参数长度是不固定的,你的脚本必须上传所有作为参数传入的图片。Typora并没有在文档中直接说明这一点(传参的方式、长度),真的给我坑坏了。

  • 输出。事实上,Typora并不关心我们脚本中上传图片的具体过程如何,它只关心我们脚本的最终输出。Typora要求脚本输出结果的方式简单粗暴,直接echo(其他语言比如Python的print)。注意,直接echo也是有格式要求的,脚本需要首先输出Upload Success:,之后,一行对应一个URL,具体格式如下:

    Upload Success:https://sample.com/1.jpghttps://sample.com/2.jpg

事实上,你可以使用任何变成语言,上传图片至任意的平台。只要你脚本处理好传入的参数,上传完所有图片,最终的输出结果是上面的格式即可。

微信公众号图库

如果是做微信的文章分享,可以使用微信的图床, 查看微信开发者文档可知,微信的素材库是100000个,但是"上传图文信息的图片"不占用总的素材库的数量,换句话就是不限量使用


我们可以调用微信的接口来上传图片(注意:微信的图库不能外链,只限于微信平台使用),查询文档可知,微信的上传需要在微信公众平台设置调用的IP白名单来获取token,对于没有公网IP的用户来说,只能购买一台固定IP的服务器来实现图片的上传,这里我使用go来实现了后台获取Token,并接受前台传递过来的图片中传到微信的服务器,详细请留意后面的文章

前台sh脚本就很简单,接受多个本地的图片地址参数 ,并依次取出图片地址,再用使用curl来


偏好设置

Typora上传脚本支持的自定义命令,可以在偏好设置中选择。上传服务选择Custom Command,自定义命令就是我们插入图片后,Typora调用的命令。如刚才我们的脚本名称为upload.sh,自定义命令就可以设为bash upload.sh,注意替换upload.sh的路径为绝对路径。


测试是否正常

将图片直接拖入到Typora中,或者粘贴至剪切板,Typora会自动调用脚本,将图片上传至微信的服务器,并插入markdown语法到文章中


图片上传功能的加入,极大方便了写作的过程,想想之前,写文章需要手动将图片拖到图床APP,再把URL复制到文章中,就两个字,“繁琐”。插入图片直接command + v,写作原本就该这么简单嘛!

summernote 不能上传图片_Typora自定义命令自动上传图片相关推荐

  1. Typora+PciGo-Core+SMMS自动上传图片

    Typora+PciGo-Core+SMMS自动上传图片 文章目录 Typora+PciGo-Core+SMMS自动上传图片 前言 图床 第一步 安装PicGo-Core(command line) ...

  2. 重启tomcat后,上传图片到webapps被自动删除

    重启tomcat后,上传图片到webapps被自动删除 原因: 解决: 原因: webapps中的资源是编译本地的项目得来的,比如你运行存储图片在webapps下的image文件夹下,而且你还判断im ...

  3. 利用 PicGo 实现 MarkDown 自动上传图片

    利用 PicGo 实现 MarkDown 自动上传图片 首先你应该有一个 Typora 你可能不知道 PicGo 是什么,这里奉上链接 如果你不会使用 PicGo,那就请参考小康博客吧~ 图片看不了来 ...

  4. 发布文章自动上传图片并生成水印

    前段时间在网上看到新浪有一个提交文本(Html代码),自动上传图片的功能,觉得倒是很[实用,稍一琢磨,自己也写了这么一个东东. 根据所传入的Html代码,获取标签中的图片标签,将图片复制到当前服务器, ...

  5. typora使用PicGo自动上传图片到chevereto图床服务器

    为了更好的浏览体验,欢迎光顾勤奋的凯尔森同学个人博客http://www.huerpu.cc:7000 一.下载PicGo PicGo下载地址点击下载 ,下载并安装完成之后,点击插件设置,然后搜索ch ...

  6. Picgo + Gitee + Github 搭建免费图库, Typora 自动上传图片

    目前免费图库有 七牛云.又拍云等,但一般都有限制,比如存储空间的大小.每月访问流量等,如果想找个容量大和访问快的,好像有点难. 但其实这不是不可能的, github 和 gitee 就能实现. 下面介 ...

  7. dede自动模型html文本无法上传图片,完美解决FCK编辑器上传图片自动带DIV标签的问题...

    完美解决FCK编辑器上传图片自动带DIV标签的问题 时间:2020-02-14 11:28 / 来源:未知 / 作者:admin / 点击: 次 一直对5.7的CK编辑器很不习惯,或者说外观难看,所以 ...

  8. 跟着老司机玩转Node自定义命令行

    看之前熟读已下文章: 跟着老司机玩转Node命令行 Nodejs 制作命令行工具 github.com/jaywcjlove/- node生成自定义命令(yargs/commander) 通过node ...

  9. Am3358增加Uboot的logo显示 增加Uboot自定义命令控制LCD

    本文的内容如下: 一. 简单介绍一下AM335x的时钟域的概念,然后讲解如何配置LCDC的时钟 二. 讲解LCDC的寄存器的内容和如何根据所选的LCD屏的特性进行时序上的配置 三. 介绍用bmpToR ...

最新文章

  1. mongodb 查询 mysql_MongoDB 基本查询使用
  2. C++Primer中文版(第4版)第四章习题答案
  3. 7-25 雨刷程序功能扩展设计 (100 分)
  4. java_二进制的前导的零
  5. (58)FPGA乘法器实现(task)
  6. 修改配置nginx,限制无良爬虫频率
  7. DevExpress控件的GridControl控件小结
  8. 在计算机上格式u盘启动,U盘制作dos启动盘几种简单方法
  9. Eclipse的版本、下载网址和安装
  10. 计算机丢失系统文件如何找回,电脑引导文件丢失怎么办 引导文件丢失恢复方法...
  11. Node.js 环境搭建过程中可能遇到的问题解决方案
  12. python爬虫实战:猫眼电影我不是药神评论
  13. Mysql 脚本创建触发器报错 1064 42000
  14. 石康炮轰《金婚》《士兵突击》 它们俩得奖太不靠谱
  15. 最近在做的用户留存分析,和几种方法。
  16. TCL彩电总线调整进入宝典――1
  17. matlab ezplot hod,Matlab学习笔记三:绘图
  18. t3企管通 虚拟服务器,用友T3企管通如何设置新一代的可用量控制才起作用
  19. github中的常用库
  20. MIKE水动力笔记7_实测数据与模型输出结果的拟合对比

热门文章

  1. oracle 分页_Mybatis:PageHelper分页插件源码及原理剖析
  2. ltrim函数_数据分析常用Excel函数
  3. 新手引导动画的4种实现方式 1
  4. 海森堡不确定性原理实验
  5. 201803-1-跳一跳
  6. chattr使用解释
  7. Linux命令解释之rpm
  8. ccs 移植创建新工程_CCS新工程创建与配置
  9. 计算机专业术语全称及含义整理
  10. 性能测试监控工具nmon使用方法