常用Popclip工具

文章目录
  1. I. PopClip工具
    1. 1. 实现一个插件流程
      1. a. 配置文件
      2. b. 脚本文件
      3. c. 打包
    2. 2. 我的插件
      1. a. base64编码
      2. b. 日期&时间戳
      3. c. unicode字符转中文
      4. d. json格式化
      5. e. url编码解码
  2. II. 其他
    1. 工程地址
    2. 个人博客: Z+|blog
    3. 声明
    4. 扫描关注

I. PopClip工具

PopClip是mac上的一个工具集,最大的特点就是扩展,复制一段文本,然后根据你的需求写插件,把赋值的文本作为输出,做一些你想干的事

基于PopClip,也写了一些小工具,主要是php写的,写插件的教程还是比较简单的,一个配置文件Config.plist和一个脚本文件xxx.php即可

1. 实现一个插件流程

以JSON格式序列化为demo进行演示,如何从0到1创建一个popclip插件,先看一下最终的成品

img

一个插件的文件比较简单,主要有两个

  • Config.plist
  • 具体的脚本文件

a. 配置文件

下面是一个实际的配置,里面指定了两个脚本:

  • 第一个是 json2str.php,这个脚本实现将json转换为单行字符串,在插件上显示的名字就是 JsonStr, 采用的php编写实现
  • 第二个是 str2json.php

需要注意的是里面正则规则,这个主要是用来表示当你划中一段文本之后,是否会出现这个插件的规则(比如时间戳和日期的相互转换,只有选中纯数字时,才支持时间戳转日期)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Actions</key>
<array>
<dict>
<key>After</key>
<string>paste-result</string>
<key>Regular Expression</key>
<!-- 正则匹配规则,*号表示任意选中的内容都会激活这个插件 -->
<string>*</string>
<key>Script Interpreter</key>
<string>/usr/bin/php</string>
<key>Shell Script File</key>
<!-- 执行具体逻辑的脚本名 -->
<string>json2str.php</string>
<key>Title</key>
<!-- 插件的name -->
<string>JsonStr</string>
</dict>
<dict>
<key>After</key>
<string>paste-result</string>
<key>Regular Expression</key>
<string>*</string>
<key>Script Interpreter</key>
<string>/usr/bin/php</string>
<key>Shell Script File</key>
<string>str2json.php</string>
<key>Title</key>
<string>StrJson</string>
</dict>
</array>
<key>Extension Description</key>
<!-- 描述 -->
<string>remove json space or stringfy json str</string>
<key>Extension Name</key>
<string>JSON</string>
<key>Credits</key>
<array>
<dict>
<key>Link</key>
<string>mailto:bangzewu@126.com</string>
<key>Name</key>
<string>Json序列化</string>
</dict>
</array>
<key>Extension Identifier</key>
<string>popclip.extension.json-covert</string>
<key>Required Software Version</key>
<integer>695</integer>
</dict>
</plist>

b. 脚本文件

这个里面就是写具体的业务逻辑,一般是将粘贴板中的内容作为输入,然后进行一段业务逻辑,然后输出到粘贴板内

如str2json.php

1
2
3
4
5
6
7
8
<?php
$input=getenv("POPCLIP_TEXT");
if(empty($input)) {
echo '';
} else {
$param = json_decode($input);
echo json_encode($param, JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES);
}

注意第一行,获取输入 $input=getenv("POPCLIP_TEXT");, 不同的脚本有不同的获取方式

输出就比较简单了,传统的输出方法,会重写到粘贴板内 echo 'xxx';

c. 打包

上面完成之后,就是打包安装了,流程如下:

  • 新建一个文件夹,后缀为.popclipext,将.plist和脚本文件拷贝到新的文件夹下
  • 压缩: zip -r xxx.popclipextz xxx.popclipext/
  • 双击上面生成的文件,确认安装即可

说明: 上面新建的文件夹,一定要以.popclipext结尾

2. 我的插件

a. base64编码

作用:实现base64编码解码

源码地址: base64

demo: base64

b. 日期&时间戳

作用:实现日期和时间戳的相互转换

源码地址: date

demo: deom

c. unicode字符转中文

源码 : unicode

d. json格式化

源码: json

e. url编码解码

源码: url


II. 其他

工程地址

所有的插件都可以访问: PopClip

个人博客: Z+|blog

基于hexo + github pages搭建的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

声明

尽信书则不如,已上内容,纯属一家之言,因本人能力一般,见识有限,如发现bug或者有更好的建议,随时欢迎批评指正

扫描关注

QrCode

# 工具

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×