6 个版本

0.3.0 2024 年 1 月 6 日
0.2.0 2023 年 10 月 8 日
0.1.3 2023 年 9 月 6 日

#8 in #getting

33 个月下载量

MIT 许可证

57KB
1K SLoC

Conditions

Build Status Coverage Status Crate Status

用于获取当前位置的天气条件的命令行工具。

天气来源

* 需要 API 密钥

安装

目前需要本地编译和安装 crate。最简单的方法是 安装 Rust 工具链

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

然后使用 cargocrates.io 构建 和 安装

cargo install conditions

用法

默认情况下,将使用 Open-Meteo 天气提供程序,同时使用由机器的 IP 地址确定的地点。

> conditions current | jq
{
  "temp": 57,
  "icon": ""
}

天气 API

为了使用天气 API 提供程序,请创建一个账户并创建一个 API 密钥。然后在设置中持久保存该 API 密钥。

conditions weather-api-key set [your-api-key]

位置

如果您希望设置特定位置,可以通过邮政编码进行设置

conditions location set "[postal-code], [country]"

例如

conditions location set "10001, usa"

SketchyBar

以下是如何使用 SketchyBar 的示例。

#!/bin/bash

conditions="$(conditions current)"
icon=$(echo "$conditions" | jq -r .icon)
temp=$(echo "$conditions" | jq -r .temp)

sketchybar -m \
  --set weather_logo icon="${icon}" \
  --set weather label="${temp}°F"

任务

通过: xc [task-name] 在此目录中运行任务

check

cargo build

build

cargo build

run

cargo run

install

cargo install --path .

依赖项

项目 版本
rust-lang.org ^1.6
rust-lang.org/cargo ^0.66
git-scm.org ^2.38
xcfile.dev ^0

原因

我想学习 Rust,并且有一个 (cargo-culted)shell 脚本 执行此任务,用于与 sketchybar 一起使用。

依赖项

~53MB
~1M SLoC