Manifest
package.json
manifest 文件是 npm package.json
文件的超集。这样,您只需要一个文件来配置您的扩展。本文档仅涵盖 Raycast 特定领域。有关其他内容,请参阅 npm 的文档。
这是一个典型的 manifest 文件:
扩展属性
所有 Raycast 相关的扩展属性。
name
Yes
扩展名的唯一名称。这在指向您的扩展程序的商店链接中使用,因此请保持简短且 URL 兼容。
title
Yes
在 Store 中向用户显示的扩展程序的标题以及首选项。使用此标题可以很好地描述您的扩展,以便用户可以在商店中找到它。
description
Yes
Store 中显示的扩展的完整描述。
icon
Yes
对资源文件夹中图标文件的引用。使用 png
格式,尺寸为 512 x 512 像素。要支持浅色和深色主题,请添加两个图标,其中一个以 @dark
作为后缀,例如icon.png
和 icon@dark.png
。
author
Yes
您的 Raycast Store 名称(用户名)
categories
Yes
您的扩展程序所属的一系列类别。
commands
Yes
contributors
No
一个数组,Raycast 存储对此扩展做出贡献的人员的字段(用户名)。
keywords
No
可以在 Raycast 中搜索扩展的关键字数组。
preferences
No
external
No
应从构建中排除的包或文件名的数组。该包不会被捆绑,但导入会被保留并在运行时进行评估。
命令属性
所有命令属性
name
Yes
命令的唯一 ID。该名称直接映射到命令的入口点文件。因此,名为“index”的命令将映射到 index.ts
(或任何其他受支持的 TypeScript 或 JavaScript 文件扩展名,例如 .tsx
、.js
、.jsx
)。
title
Yes
命令的名称,在 Raycast 中向用户显示。
subtitle
No
description
Yes
它可以帮助用户了解该命令的作用。它将显示在 Store 和首选项中。
icon
No
对资源文件夹中图标文件的可选引用。使用尺寸至少为 512 x 512 像素的 png 格式。要支持浅色和深色主题,请添加两个图标,其中一个以 @dark
作为后缀,例如 icon.png
和 icon@dark.png
。 如果未指定图标,则将使用扩展图标。
mode
Yes
interval
No
该值指定应每隔 X 秒 (s)、分钟 (m)、小时 (h) 或天 (d) 在后台启动no-view
或者 menu-bar
命令。示例:90s、1m、12h、1d。最小值为 1 分钟 (1m)。
keywords
No
可以在 Raycast 中搜索命令的可选关键字数组。
arguments
No
preferences
No
disabledByDefault
No
指定默认情况下是否启用该命令。默认情况下,所有命令均已启用,但在某些情况下,您可能希望包含其他命令并让用户在需要时启用它们。 请注意,此标志仅在安装新扩展或有新命令时使用。
偏好属性
扩展或特定于命令的首选项的所有属性。使用 首选项 API 访问它们的值。
name
Yes
首选项的唯一 ID。
description
Yes
它可以帮助用户了解偏好的作用。将鼠标悬停在其上时,它将显示为工具提示。
type
Yes
偏好类型。我们目前支持 "textfield"
和 "password"
(用于安全输入)、"checkbox"
、"dropdown"
、 "appPicker"
、 "file"
和 "directory"
required
Yes
指示该值是否是必需的并且必须由用户输入才能使用扩展。
title
当 type
为 checkbox
时为No,否则为 Yes。
Raycast 首选项中显示的首选项的显示名称。 对于复选框,它显示为复选框本身上方的部分标题。
如果要将多个复选框分组到一个部分中,请设置第一个复选框的 title
并将其他复选框的标题留空。
placeholder
No
未输入值时在首选项字段中显示的文本。
default
No
该字段的可选默认值。对于文本字段,这是一个字符串值;对于复选框,布尔值;对于下拉列表,数据数组中对象的值;对于 appPickers,则是应用程序名称、包 ID 或路径。
data
当 type
为 dropdown
时为Yes,否则为 No。
具有 title
和 value
属性的对象数组,例如:[{"title": "Item 1", "value": "1"}]
label
当 type
为 checkbox
时为Yes,否则为 No。
必需,仅限复选框:复选框的标签。显示在复选框旁边。
Argument 属性
命令 argument 里的所有属性。使用 Arguments API 来访问它们的值。
name
Yes
type
Yes
参数类型。我们目前支持 text
和 password
(用于安全输入)。当类型为密码时,输入的文本将替换为星号。最常见的用例 - 将密码或 secrets 传递给命令。
placeholder
Yes
参数输入字段的占位符。
required
No
指示该值是否是必需的并且必须由用户在打开命令之前输入。该值的默认值为 false
。
最后更新于