使用Applescript、Automator和AfredWorkflow实现流式工作
重要:本文不会提供标题中三个工具的详细使用教程,只会对它们的进行简要的介绍。更高妙的使用技巧读者应自行钻研。
参考资料:
两个关于Applescript和Automator使用的PDF:https://files.cnblogs.com/files/chester-cs/Applescript_learning_sources.zip
一篇介绍Applescript的文章:https://segmentfault.com/a/1190000011273388?utm_source=tag-newest
Automator官方文档(讲的很鸡肋):https://support.apple.com/zh-cn/guide/automator/welcome/mac
第一次接触流式工作是因为Appstore中的一个名叫workflow的软件。当时这个软件评价极高,说是能够极大的提高工作效率。可惜当时高三没时间玩它,自己鼓捣了半天没鼓捣出结果,再加上没有啥需求,就弃置了。
最近因为一个重复的操作:(打开ppt文件,在menu bar里选择fie-export-export as pdf)而重新想到了流式工作。可以说Applescript和Automator的最大作用就是自动化或者快速化需要重复进行的操作了。但是因为实在比较忙,只能作一个引子,留待日后实现了。
简要区分一下三者:
1.Automator:让 Mac 替您执行重复的任务。或者给mac添加快速服务(quick actions)


分别对应workflow和quick action。application则是一个小程序,提供便捷的drag运行等等。用的最多的是quick actions,以前叫services。
注:workflow产生的services存在以下路径/Users/用户名(就是HOME啦)/Library/Services
例子是右键点击一个图片,可以在services里将它转化成jpg并进行缩放。在网上可以找到例子。
2.Applescipt:强化版Automator,更方便地自定义自己的脚本(学习也投入更多,毕竟是一门脚本语言)。

mac自带了一个编辑器叫做Script Editor,当然用其他编辑器编辑也是可以的。我比较喜欢用CodeRunner。
想在命令行里跑脚本需要一行代码:后缀一般存为.scpt
osascript $filename
3.Alfred Workflow:快速调出,快速出结果
Alfred Workflow很多人都知道,他的workflow功能也是相当强大。一个好消息是Alfred Workflow有庞大的用户群体,我们可以在社区中找到想要的workflow。我目前最常用的workflow只有一个,就是用yd + 单词 进行单词lookup,原理是调用了有道词典的API。

防止有人想拥有它哈哈哈哈,我也把链接放出来:https://files.cnblogs.com/files/chester-cs/youdao.alfredworkflow.zip
总结:本文只是起到一个引子的作用,使用macos的朋友,尤其是渴望流式工作的朋友可以深入钻研。有时间的话日后我也会继续写关于这方面的文章。
使用Applescript、Automator和AfredWorkflow实现流式工作的更多相关文章
- golang的极简流式编程实现
传统的过程编码方式带来的弊端是显而易见,我们经常有这样的经验,一段时间不维护的代码或者别人的代码,突然拉回来看需要花费较长的时间,理解原来的思路,如果此时有个文档或者注释写的很好的话,可能花的时间会短 ...
- FunDA(2)- Streaming Data Operation:流式数据操作
在上一集的讨论里我们介绍并实现了强类型返回结果行.使用强类型主要的目的是当我们把后端数据库SQL批次操作搬到内存里转变成数据流式按行操作时能更方便.准确.高效地选定数据字段.在上集讨论示范里我们用集合 ...
- CSS3与页面布局学习笔记(四)——页面布局大全(负边距、双飞翼、多栏、弹性、流式、瀑布流、响应式布局)
一.负边距与浮动布局 1.1.负边距 所谓的负边距就是margin取负值的情况,如margin:-100px,margin:-100%.当一个元素与另一个元素margin取负值时将拉近距离.常见的功能 ...
- PHP流式上传和表单上传(美图秀秀)
最近需要开发一个头像上传的功能,找了很多都需要授权的,后来找到了美图秀秀,功能非常好用. <?php /** * Note:for octet-stream upload * 这个是流式上传PH ...
- Vue2.0流式渲染中文乱码问题
在参照vue2.0中文官方文档学习服务端渲染之流式渲染时,因为响应头默认编码类型为GBK,而文件为UFT-8类型,所以出现了中文乱码问题. 解决办法:设置响应头编码类型即可 response.setH ...
- Storm:最火的流式处理框架
伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样.更加便捷,同时对于信息的时效性要求也越来越高.举个搜索场景中的例子,当一个卖家发布了一条宝贝信息时,他希望的当然是这 ...
- 翻译-In-Stream Big Data Processing 流式大数据处理
相当长一段时间以来,大数据社区已经普遍认识到了批量数据处理的不足.很多应用都对实时查询和流式处理产生了迫切需求.最近几年,在这个理念的推动下,催生出了一系列解决方案,Twitter Storm,Yah ...
- 流式布局&固定宽度&响应式&rem
我们现在在切页面布局的使用常用的单位是px,这是一个绝对单位,web app的屏幕适配有很多中做法,例如:流式布局.限死宽度,还有就是通过响应式来做,但是这些方案都不是最佳的解决方法. 1.流式布局: ...
- webapp,liveapp: 流式布局和rem布局
liveapp场景应用,一般针对的是移动端,近来也是很火,颇有一些感受,拿来分享一下. 页面宽度范围: 一般移动端页面我们的像素范围是320px-640px,最大640px,最小320px,所以设计稿 ...
随机推荐
- SpringBoot2.x【一】从零开始环境搭建
SpringBoot2.x[一]从零开始环境搭建 对于之前的Spring框架的使用,各种配置文件XML.properties一旦出错之后错误难寻,这也是为什么SpringBoot被推上主流的原因,Sp ...
- js中时间戳和时间格式之间的转换
//时间格式转化 getNowDate(timestamp) { var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000 va ...
- zookeeper启动报错:Error contacting service. It is probably not running
Error contacting service. It is probably not running. 今天启动zookeeper集群时,正常启动,但是查看状态时发现,Error contacti ...
- 【JUC】CyclicBarrier和Semaphore的使用
CyclicBarrier的使用 CyclicBarrier:可以让一组检测到一个屏障时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有的屏障拦截的线程才会继续执行,线程进入屏障通过Cyclic ...
- 基于Hadoop不同版本搭建hive集群(附配置文件)
本教程采用了两种方案 一种是hive-1.21版本,hadoop版本为hadoop2.6.5 还有一种是主要讲基于hadoop3.x hive的搭建 先来第一种 一.本地方式(内嵌derby) 步骤 ...
- CF652E Pursuit For Aritifacts
题目传送门 这是一道很好的练习强联通的题目. 首先,从题中可以看到,题目的要求就是要我们求出从起点到终点是否可以经过flag = 1 的边. 由于是无向图,且要求很多,直接暴力dfs会很凌乱. 那么, ...
- 【转】sql用逗号连接多张表对应哪个join?
逗号连接查询(用where连接条件): select order.id, order.orderdate,employee.id,employee.name from order,employee w ...
- PSR-4 的实现示例
闭包实例 <?php /** * 一个具体项目实现的示例. * * 在注册自动加载函数后,下面这行代码将引发程序 * 尝试从 /path/to/project/src/Baz/Qux.php * ...
- Beta冲刺 —— 总结随笔
这个作业属于哪个课程 软件工程 这个作业要求在哪里 Beta冲刺 这个作业的目标 Beta冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.项目预期计划: 1.对于初版小程序的现 ...
- 跨域解决方案 - webpack devServer
1. 定义 如果一个项目中配置了webpack, 那么我们使用 webpack devServer 来配置代理转发请求来达到解决跨域问题的目的 webpack devServer 能够解决跨域问题的根 ...