Alfred + Gitee搭建免费图床的使用实例详解

目录
  • 环境
    • 工具下载
    • 思路
    • 使用
    • 依赖
  • 实现
    • 创建Gitee图床环境
    • 配置Alfred workflow
    • 复制剪切板中的图片到指定路径
    • git命令提交图片
    • 图片压缩
    • 拼接图片地址

环境

系统: Mac 工具: Alfred, git, homebrew, pngpaste. 语言: perl 其他: Gitee

工具下载

gitee.com/serpmelon/i…

思路

使用Gitee仓库作为图床, 使用Alfred工作流简化上传图片流程, 并将上传图片地址转换为markdown格式输出到剪切板中.

使用

复制一张图片, 然后使用快捷键CMD + shift + u或者唤出Alfred命令行输入pp. 上传成功后会发送通知提示上传成功.

依赖

使用pngpaste工具实现剪切板相关功能

brew install pngpaste

使用ImageMagick实现图片压缩

brew install imagemagick

实现

创建Gitee图床环境

注册账号, 创建仓库, 注意修改为公共仓库, 把仓库拉到本地, 以后会将目标图片复制到仓库中. 其他没什么说的.

配置Alfred workflow

下载并将工具拖进Alfred中, 由于依赖了第三方软件, 在执行脚本时需要指定工具目录, 所以需要在workflow中配置对应路径如下:

GIT_DIR git仓库本地路径, 图片会直接复制到这里.

GIT_DOMAIN git图床路径, 比如我配置的是 https://gitee.com/serpmelon/pictures/raw/master.

IMAGE_MAGICK_DIR ImageMagick工具安装的路径.

PASTE_DIR pngpaste工具安装的路径.

对于homebrew下载的工具可以通过如下命令查看

brew list pngpaste
返回: /usr/local/Cellar/pngpaste/0.2.3/bin/pngpaste
则配置路径: /usr/local/Cellar/pngpaste/0.2.3/bin
brew list imagemagick
返回:
/usr/local/Cellar/imagemagick/7.1.0-16/bin/Magick++-config
/usr/local/Cellar/imagemagick/7.1.0-16/bin/MagickCore-config
/usr/local/Cellar/imagemagick/7.1.0-16/bin/MagickWand-config
/usr/local/Cellar/imagemagick/7.1.0-16/bin/animate
/usr/local/Cellar/imagemagick/7.1.0-16/bin/compare
/usr/local/Cellar/imagemagick/7.1.0-16/bin/composite
...
配置路径: /usr/local/Cellar/imagemagick/7.1.0-16/bin

复制剪切板中的图片到指定路径

遇到的第一个难题, 如何将剪切板中的图片复制到指定目录下呢(git目录)? pbcopy和pbpaste命令只能操作文本, 所以第一个想法, 复制图片的路径, 这样就可以通过操作文本进行赋值操作.

对图片使用cmd+option+c会复制其路径, 然后通过执行cp命令将文件复制到指定目录中.

system("cp $source $target");

但是, 这样很不方便, 而且通常情况下都是截一个图片沾到自己的文章中, 如果只能通过路径复制, 那么每次截图还需要下载到本地. 所以需要实现将剪切板中的图片文件复制到目录的功能.

使用pngpaste工具实现上述功能, 使用homebrew下载

brew install pngpaste

使用简单

pngpaste hooray.png # 目标文件

参考 github.com/jcsalterego…

本地运行正常, 但是在Alfred中运行异常, 排查发现是找不到pngpaste命令. Alfred运行脚本不会使用用户的运行环境, 所以找不到第三方命令, 解决办法就是我们帮它找到命令, 使用全路径就可以拉, 路径配置到Alfred变量中.

system("$PASTE_DIC/pngpaste $target");

git命令提交图片

图片已经复制到git本地仓库了, 然后只需要push上去就好了. 由于在不同目录执行, 执行会报提示"fatal: not a git repository", 使用类似如下命令即可

git --git-dir=/x/y/.git --work-tree=/x/y add .

图片压缩

Gitee限制图片大小, 对于大于1MB的图片会打不开.

所以对于大的图片需要进行压缩处理, 这里依赖ImageMagick, 使用brew下载.

brew install imagemagick

拼接图片地址

浏览下Gitee上图片的地址, 类似这样 gitee.com/serpmelon/p… 将blob换成raw就可以访问了,

修改后: p3-juejin.byteimg.com/tos-cn-i-k3…

然后按照markdown格式拼接地址后:

![](https://gitee.com/serpmelon/pictures/raw/master/20230102/1672643597serpmelon15714.png)

问题

目前依赖了pngpaste和ImageMagick工具, 后面自己简单实现下, 这样用户就不需要自己再单独下载依赖了.

以上就是Alfred + Gitee搭建免费图床的使用实例详解的详细内容,更多关于Alfred + Gitee搭建免费图床的资料请关注我们其它相关文章!

(0)

相关推荐

  • .NET微服务架构CI/CD自动构建Jenkins+Gitee

    目录 CI/CD 准备工作 安装Jenkins 添加并配置Gitee 新建工作流 CI/CD 它的意思是 持续集成/持续部署,这也不是新概念.那些八股文就不写了,说话的方式简单点:如果成功搭建CI/CD环境,当你需要迭代线上程序时,只需通过git提交代码就可以,其他什么都不用做.是不是很爽?这样你就拥有了快速迭代的能力,微服务大环境下,这也是必要的. 准备工作 1.准备一个.NET6项目: 2.准备一个gitee仓库 3.准备一台服务器(非必要) 安装Jenkins 首先在docker中运行这段

  • Jenkins+Docker+Gitee+SpringBoot自动化部署

    目录 1,搭建Jenkins平台 2,Jenkins平台配置 3,创建SpringBoot应用 4,Gitee配置 5,新建自动化部署任务 6,打包测试 当我们使用传统的开发方式开发后台系统时,每写完一个功能点就需要重新运行一下项目,然后进行测试,如果是项目比较小还可以,但是如果项目比较大的话,由于涉及的人员比较多,这种开发方式就比较麻烦.基于此,我们就需要使用Jenkins配合Gitee搭建一个自动化部署平台,并将代码托管到服务器上,这样减轻了本地的电脑压力,也解放了部署的流程. 1, 搭建J

  • nodejs制作一个文档同步工具自动同步到gitee中的实现代码

    初衷 之所以要做这个工具是为了让自己可以随时用电脑时能记录日常工作或生活.一般只需要简单记录下就行了.这样我在家里的和公司里的记录都能同步看到. 这样后期整理的时候看到几个关键词就能想起来具体的事情,有的也可以为日后整理成文章做一个草稿,这样写文章才能有头有尾,否则想到什么说什么是非常不利于写出文章的. 一开始我使用手动同步的方式,但是发现很麻烦,之后就直接用了个批处理文件来一次性同步. git pull git add . git commit -m '同步' git push git sta

  • 如何使用Gitee Pages服务 搭建Vue项目

    目录 1.背景 2.Gitee Pages的介绍 3.上传自己的项目到Gitee上. 4.如果你的是Vue项目(重点讨论) 5.本地`build 7.将build得到的文件 8.点击项目导航栏中的服务 9.开始构建 1.背景 1.Gitee(GitHub) Pages 服务作为一个页面容器,可以说是非常方便了.我们可以在上面免费部署前端项目. 2.并且同时获得一个附带.gitee.io(github.io)的网址. 3.其他优点就不再赘述,可自行百度. 2.Gitee Pages的介绍 具体可以

  • Vuepress生成文档部署到gitee.io的注意事项及说明

    目录 Vuepress生成文档部署到gitee.io注意事项 在gitee中部署VuePress博客问题 Vuepress生成文档部署到gitee.io注意事项 1.静态资源要放在.vuepress/public目录下,比如创建一个assets/img/目录.把图片文件放在目录下面. 2.本地开发的时候,每次更新文件后,需要运行 vuepress dev .命令重新发布. 3.运行vuepress build .命令会编译出来一个静态文件的dist目录.只要把这个目录的东西push到gitee.

  • idea将项目上传到Gitee的图文过程

    1.如果没有gitee账号,到gitee官网注册一个Gitee账号(注意:尽量不要有中文) 登录gitee账号(代表注册成功) 2.打开idea 3.点击file-->settings 3.1修改字符集 3.2下载插件(点击Install) 3.3 查看电脑上是否安装git,并查看其版本号 3.4 注册的是gitee账号,所以找gitee(如果是github则找GitHub) 4. 指定本地git路径 我这里就指定到和我的项目的同级目录下 5. 准备工作完成,现在开始上传操作(注意:idea的版

  • Alfred + Gitee搭建免费图床的使用实例详解

    目录 环境 工具下载 思路 使用 依赖 实现 创建Gitee图床环境 配置Alfred workflow 复制剪切板中的图片到指定路径 git命令提交图片 图片压缩 拼接图片地址 环境 系统: Mac 工具: Alfred, git, homebrew, pngpaste. 语言: perl 其他: Gitee 工具下载 gitee.com/serpmelon/i… 思路 使用Gitee仓库作为图床, 使用Alfred工作流简化上传图片流程, 并将上传图片地址转换为markdown格式输出到剪切

  • Bootstrap+PHP实现多图上传功能实例详解

    使用bootstrap界面美观,可预览,可拖拽上传,可配合ajax异步或同步上传,下面是效果图: 前端代码:fileinput.html <!DOCTYPE html> <!-- release v4.1.8, copyright 2014 - 2015 Kartik Visweswaran --> <html lang="en"> <head> <meta charset="UTF-8"/> <ti

  • Python疫情确诊折线图实现数据可视化实例详解

    目录 案例描述 实现步骤 一.导入模块 二.读取文件内容 三.json转换python 四.获取需要用到的数据 五.生成图表 六.关闭文件 案例描述 根据可参考数据,实现对疫情确诊人数数据的可视化. 利用json转换工具,将数据格式化,需要取出下面两部分的内容. 可视化效果图: 实现步骤 一.导入模块 导入可能用到的模块 import json from pyecharts.charts import Line 二.读取文件内容 打开相应的文件,使用变量us_data保存文件的内容 f_us =

  • python数据结构之图深度优先和广度优先实例详解

    本文实例讲述了python数据结构之图深度优先和广度优先用法.分享给大家供大家参考.具体如下: 首先有一个概念:回溯 回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标.但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为"回溯点". 深度优先算法: (1)访问初始顶点v并标记顶点v已访问. (2)查找顶点v的第一个邻接顶点w. (3)若顶点v的邻接顶点w存在,则继续执行:否则回

  • Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解

    python可以在处理各种数据时,如果可以将这些数据,利用图表将其可视化,这样在分析处理起来,将更加直观.清晰,以下是 利用 PyEcharts 常用图表的可视化Demo, 开发环境 python3 柱状图 基本柱状图 from pyecharts import Bar # 基本柱状图 bar = Bar("基本柱状图", "副标题") bar.use_theme('dark') # 暗黑色主题 bar.add('真实成本', # label ["1月&q

  • spring boot+mybatis搭建一个后端restfull服务的实例详解

    1.创建一个maven项目. 2.在pom.xml中引入依赖包,如下所示: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="

  • 教你使用Typora + 阿里云OSS + PicGo 搭建私人图床(最新)

    目录 使用Typora + 阿里云OSS + PicGo 打造自己的图床 为什么要打造图床? 购买阿里云OSS 使用PicGo Typora设置进入Typora偏好设置 -> 图像 使用Typora + 阿里云OSS + PicGo 打造自己的图床 为什么要打造图床? 让笔记远走高飞 试问以下场景: 我们要把 markdown 笔记放到某博客上,直接进行复制即可.但因你的图片存储在本地,博客上的图片因无法找到本地路径而无法显示,因此需要到本地找到图片一个个上传 我们要把 markdown 笔记共

  • struts2入门(搭建环境、配置、示例)详解

    在慕课网学习struts2入门课程,在官网下载的最新的struts-2.5.5-all.zip,JDK使用的是jdk1.6,Tomcat9.0,一直报错[java.lang.UnsupportedClassVersionError],版本不一致,可是各种换版本也都不好使,无奈最后找到了一篇较新的博文,按照他的Struts2版本进行了配置,终于可以用了. ------不过还是不太明白为啥struts-2.5.5无论是配jdk1.6还是jdk1.8,还是更换tomcat版本,都不好用.有明白清楚的还

  • Gitee的下载安装配置及使用步骤详解

    一.Gitee管理项目步骤总结: [1. 提交(托管)项目] ① 先测试是否连接成功:File - Setting - Version Control(Gitee) - Test判断是否连接成功: ② 提交(托管)项目:VCS - Import into Version Control - Share Project on Gitee(内容不变) - Share - (内容不变)OK [2. 拉取项目] ① 先测试是否连接成功: ② 拉取项目:VCS - Checkout fromVersion

  • xmind免费安装使用保姆级教程详解

    目录 xmind免费安装使用保姆级教程 一.简介 二.安装 Xmind 1.开始安装 2.安装免费补丁 3.打开xmind 三.Xmind的基本功能 1.创建新思维导图 2.添加节点 3.编辑节点内容 4.设置节点属性 5.添加关联和标签 6.快速分支 7.框选 8.快捷键 9.分享和协作 10.导出和导入 11.云端存储和同步 12.模板库和资源库 四.总结 推荐阅读:XMind 2021激活码及安装步骤 xmind免费安装使用保姆级教程 一.简介 xmind 是一款功能强大的思维导图和脑图制

随机推荐