用户命令

用户命令

用户命令即自定义命令,你可以定义一个命令要执行什么动作,以及执行这个动作时的参数是怎么样的。

一旦定义好了之后,你就可以把这些命令,绑定到某个快捷键上,从而可以实现:按下不同的快捷键,执行不同的自定义命令。

如何定义用户命令

你可以在扩展的 设置 > 用户命令 页面,找到可设置的输入框,此输入框的值是 JSON 格式的,是一个对象,每个自定义命令都是这个对象的属性。即其格式如下:

{
  "$commandNameA": {"exec": "$actionName", "args": [$arg1, $arg2...]}
}

其中:

举个例子:

{
  "clipPageAsHTML": {
    "exec": "startClip",
    "args": [
      {"config": {"saveFormat": "html"}}
    ]
  },
  "clipPageAsMarkdown": {
    "exec": "startClip",
    "args": [
      {"config": {"saveFormat": "md"}}
    ]
  },
}

上方这个例子:

可配置的动作

动作 参数 简介
doNothing 无动作,即啥也不做
startClip [{config, badge}] 开始裁剪当前网页,即进入裁剪流程
openLastClippingResult 查看上次裁剪的结果

startClip 动作

最常用的动作,有一个参数,这个参数目前包含的属性有 configbadgeextra, 所有属性都是可选的,只有在需要时才提供。

config 属性

config 属性,用于指定本次裁剪的一些配置项,最常见的是存储格式(即: saveFormat),所有可配置项,和毛线助手功能的 config 动作是一样的,详情请查看这里

目前有好几个地方都可以对裁剪的 config 做修改,比如: 设置页面,毛线助手,API 以及用户命令。其中,用户命令的优先级是最高的。

具体优先级如下:

用户命令 > 毛线助手API > 设置页面

例子:

{
  "clipAsMarkdown": {
    "exec": "startClip",
    "args": [
      {
        "config": {"saveFormat: "md"}
      }
    ]
  }
}

badge 属性

badge 属性用于在扩展的图标(小剪刀)边上显示文字,可配置文字的颜色,和背景的颜色。

参数名字 是否必填 例子 默认值 简介
text “M” 显示的文字,最多只显示三个字符
textColor “white” 或者 “#ffffff” “white” 文字的颜色,可填写颜色名或颜色的十六进制
backgroundColor “green” 或 “#00ff00” “green” 背景的颜色,可填写颜色名或颜色的十六进制

当指定了 badge 属性之后,裁剪过程中会显示文字,直到裁剪流程结束,才不显示。一般用 badge 来提示自己,当前执行的是哪些参数。

注: 基于 Chromium 开发的浏览器不支持修改文字的颜色。不管你提供的 textColor 的值是什么,都只会显示白色的文字。

例子:

{
  "clipWithBadge": {
    "exec": "startClip",
    "args": [
      {
        "badge": {"text": "hi", "textColor": "white", "backgroundColor": "#000000"}
      }
    ]
  }
}

extra 属性

extra 属性用于传递一些非核心组件的参数,如:助手功能相关参数,你也可以用它传数据给第三方组件。

助手相关 extra.assistant

助手目前可指定 tagStatus 参数,用于决定那些助手动作的执行与否,关于 tagStatus 请看 这里

例子:

{
  "clipWithBadge": {
    "exec": "startClip",
    "args": [{
      "extra": {
        "assistant": {"tagStatus": "tagA, tagB, !tagC"}
      }
    }]
  }
}

首页