24 个稳定版本

1.11.1 2024年7月4日
1.9.0 2023年8月23日
1.8.2 2023年6月1日
1.6.0 2022年11月27日
1.1.1 2021年9月17日

#494 in 解析实现

GPL-3.0 许可证

310KB
6.5K SLoC

时间

一个与 timetrap 兼容的命令行时间跟踪应用程序。 阅读详细说明。在矩阵房间 #tiempo:matrix.cuates.net 聊天。

安装

适用于 Archlinux(及其衍生版本)的用户

AUR 中有二进制和源代码包

适用于所有其他 Linux 用户

转到 gitlab 版本页面 并获取适用于您的 Linux 的最新二进制文件。对于 Debian 和 Ubuntu,有一个 .deb 文件,以及适用于任何 x86_64 Linux 的二进制文件。

在 tar 存档的情况下,您只需运行包含的 install.sh 脚本。

对于 Rust 开发者

您有 cargo!您可以运行

cargo install tiempo

然而,这将不会安装美丽的 man 页面。尽管您仍然可以在 https://tiempo.categulario.xyz 上看到它。

对于其他人

您需要自己编译 tiempo。但别担心!这并不难。只需克隆 仓库,确保您已安装 rust 并在仓库内运行

cargo build --release

。二进制文件将被命名为 t(如果您使用 Windows,则为 t.exe)并且位于编译过程中创建的 target/release 目录中。

如何构建

您需要 rust,然后克隆仓库并简单地运行

cargo test

以检查一切是否正常工作,然后

cargo build --release

target/release/t 处有一个二进制文件,您可以将其移动到您的 PATH 目录或通过绝对或相对路径使用它。

运行

t --help

以查看选项。

开发数据库

在开发过程中,我更喜欢不弄乱自己的数据库,所以我使用这个 .env 文件

export TIMETRAP_CONFIG_FILE=/absolute/path/to/repo/dev_config.toml
PS1="$ "

当我想要测试一些命令针对此类配置文件时,只需引用它

source .env
cargo run -- in 'hola'

文档

这些文档使用 sphinx 编写。要安装所需的依赖项,进入 docs 目录并创建一个虚拟环境

virtualenv .venv

然后激活它并安装依赖项

source .venv/bin/activate
pip install -r requirements.txt

要构建文档,只需执行以下操作

make html

对于 HTML 版本(输出位于 docs/build/html),或

make man

对于 man 页面(输出位于 docs/build/man/tiempo.1)。要测试 man 页面,您可以这样做

man -l build/man/tiempo.1

要获取一个带有 HTML 文档的实时重新加载的服务器,请执行以下操作

sphinx-autobuild source/ build/html/

man 页面的内容位于 docs/source/index.rst,格式化为 reStructuredText

像 CI 一样本地构建包

首先拉取镜像

podman pull tiempo-build-env

或者从本仓库自行构建

podman build -t docker.io/categulario/tiempo-build-env .

然后构建工件

./scripts/podman-build.sh

要构建 archlinux PKGBUILDs(取决于前面命令创建的工件文件夹)

./scripts/podman-build-aur-bin.sh
./scripts/podman-build-aur-git.sh

前两个命令都会在当前目录中生成 PKGBUILDs,所以如果您顺序运行这两个命令,您将丢失第一个命令的 PKGBUILD。

特别感谢

timetrap 的存在,感谢 samg 创建它。这是我一直在寻找的工具,其设计我将其作为参考,并在可能的情况下保持兼容性。

发布清单

(主要为了提醒自己)

  • 确保测试通过,并且 clippy 没有抱怨
  • 添加关于新特性的文档
  • CHANGELOG.md 中创建一个条目,包括目标版本,提交它
  • 运行 vbump
  • git push && git push --tags && cargo publish
  • 编辑 gitlab 中的发布以包括其更改日志。

依赖项

~34–46MB
~812K SLoC