#alfred-workflow #workflow #alfred #command-line-tool

app powerpack-cli

⚡ 使用 Rust 构建为 Alfred 工作流加速!

12 个版本

0.5.0 2023年12月31日
0.4.2 2022年9月20日
0.4.1 2022年3月20日
0.2.1 2021年9月4日
0.1.0 2021年3月31日

#1755命令行工具

每月 44 次下载

MIT/Apache

24KB
516

⚡ powerpack

Crates.io Version Docs.rs Latest Build Status

使用 Rust 构建为 Alfred 工作流加速!🎩

🚀 入门

此项目包含一个 powerpack 包,它为在 Rust 中开发脚本筛选 Alfred 工作流提供类型。它还提供了一个命令行工具来初始化、构建和安装使用 powerpack 包构建的工作流。

首先,安装命令行工具。

cargo install powerpack-cli

现在使用类似以下 API 创建一个新项目:`cargo new` 或 `cargo init`。

powerpack new myworkflow && cd myworkflow

这将创建一个新的 Rust 项目以及一个包含有关您的 Alfred 工作流信息的 `workflow/` 目录。以下代码将创建工作流的发布版本并将其复制到 `workflow/` 目录。

powerpack build --release

现在您可以将其链接到 Alfred。以下代码将 `workflow/` 目录链接到 Alfred 首选项文件夹。

powerpack link

现在您可以从 Alfred 运行工作流了!✨

要为发布打包 `.alfredworkflow` 文件,您可以运行以下命令。

powerpack package

发布将在 `target/workflow/myworkflow.alfredworkflow` 中可用。

🤸 使用方法

以下是一个使用 powerpack 构建的 "Hello World!" Alfred 工作流。

use std::env;
use std::error::Error;
use std::iter;

fn main() -> Result<(), Box<dyn Error>> {
    // Alfred passes in a single argument for the user query.
    let arg = env::args().nth(1);
    let query = arg.as_deref().unwrap_or("");

    // Create an item to show in the Alfred drop down.
    let item = powerpack::Item::new("Hello World!")
        .subtitle(format!("Your query was '{}'", query));

    // Output the item to Alfred!
    powerpack::output(iter::once(item))?;

    Ok(())
}

它将渲染如下所示的项目。

image

👷 GitHub Action

setup-crate 可用于在 GitHub Actions 工作流中安装 powerpack。例如

steps:
  - uses: actions/checkout@v2
  - uses: extractions/setup-crate@v1
    with:
      owner: rossmacarthur
      name: powerpack
  - run: powerpack package
  # produces an artifact at `target/workflow/{name}.alfredworkflow`

💡 示例

以下项目是使用 powerpack 构建的。

许可证

许可协议为以下之一

根据您的选择。

依赖关系

~7–16MB
~202K SLoC