常用Popclip工具

简介: PopClip是mac上的一个工具集,最大的特点就是扩展,复制一段文本,然后根据你的需求写插件,把赋值的文本作为输出,做一些你想干的事 基于PopClip,也写了一些小工具,主要是php写的,写插件的教程还是比较简单的,一个配置文件Config.plist和一个脚本文件xxx.php即可

image.png


I. PopClip工具



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


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


1. 实现一个插件流程


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


image.png


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


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


a. 配置文件


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


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


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


<?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

<?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: image.png

b. 日期&时间戳

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

源码地址: date

demo: image.png

c. unicode字符转中文

源码 : unicode

d. json格式化

源码: json

e. url编码解码

源码: url


相关文章
|
程序员
这些工具也太好用了吧
这些工具也太好用了吧
50 0
|
文字识别 数据安全/隐私保护
这5款好用的工具你用过吗?
人类与99%的动物之间最大差别在于是否会运用工具,借助好的工具,能提升几倍的工作效率。
160 0
|
安全 Java Unix
最热门的5款Java报表工具
最热门的5款Java报表工具
|
索引
工具
工具
135 0
|
Windows 容器 开发工具
|
关系型数据库 数据库 索引