2 个不稳定版本

0.5.0 2023年12月31日
0.4.2 2022年9月20日

#2569命令行工具

33 每月下载量
powerpack 中使用

MIT/Apache

8KB

⚡ powerpack

Crates.io Version Docs.rs Latest Build Status

使用 Rust 🦀 构建来为您的 Alfred 工作流提供动力!

🚀 开始使用

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

首先,安装命令行工具。

cargo install powerpack-cli

现在创建一个新的项目,使用类似于 cargo newcargo init 的 API。

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 构建的。

许可

根据以下任一许可证授权

由您选择。

无运行时依赖