5 个不稳定版本

0.5.0 2023年12月31日
0.4.2 2022年9月20日
0.4.1 2022年3月20日
0.4.0 2022年3月19日
0.3.1 2022年2月10日

#2278 in 命令行工具

Download history 5/week @ 2024-03-14 4/week @ 2024-03-21 22/week @ 2024-03-28 9/week @ 2024-04-04 1/week @ 2024-04-11 2/week @ 2024-04-18 3/week @ 2024-04-25 4/week @ 2024-05-16 3/week @ 2024-05-23

108 每月下载量
powerpack 中使用

MIT/Apache

8KB
64

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

许可

在以下任一许可下提供

由您选择。

依赖项

~130KB