12 个版本 (稳定版)
1.6.1 | 2022 年 10 月 24 日 |
---|---|
1.5.0 | 2021 年 12 月 31 日 |
1.4.1 | 2020 年 9 月 4 日 |
1.3.0 | 2020 年 2 月 28 日 |
0.2.0 | 2016 年 4 月 16 日 |
#223 在 命令行工具 中
每月 896 次下载
79KB
1.5K SLoC
tealdeer
包 | CI (Linux/macOS/Windows) |
---|---|
Rust 实现的 tldr:简化、基于示例和社区驱动的 man 页面。
如果你用英语发音 "tldr",听起来有点像 "tealdeer"。因此,这就是项目的名字 :)
如果你赶时间,只想快速尝试 tealdeer,你可以在 GitHub 发布页面 上找到静态二进制文件!
文档(安装、使用、配置)
用户文档可在 https://dbrgn.github.io/tealdeer/ 找到!
文档使用 mdbook 生成。它们可以通过 docs/src/
目录中的 markdown 文件进行编辑。
目标
项目高级目标
- 下载并缓存页面
- 除了更新缓存外,不需要网络连接
- 命令行界面与 NodeJS 客户端 类似或等效
- 符合 tldr 客户端规范
- 高级高亮和配置
- 要快
像 tldr
这样的工具应该尽可能无摩擦地使用,并尽可能快地显示输出。
我们认为 tealdeer
达到了这些目标。我们创建了一个(更多或更少)可复现的基准测试,该测试从源代码编译了几个客户端,并测量了在冷磁盘缓存上的执行时间。基准测试在 Docker 容器中使用 sharkdp 的 hyperfine
(Dockerfile) 运行。
客户端(50 次运行,2021 年 10 月 17 日) | 编程语言 | 平均(毫秒) | 偏差(毫秒) | 注释 |
---|---|---|---|---|
outfieldr |
Zig | 9.1 | 0.5 | 无用户配置 |
tealdeer |
Rust | 13.2 | 0.5 | |
fast-tldr |
Haskell | 17.0 | 0.6 | 无示例高亮显示 |
tldr-hs |
Haskell | 25.1 | 0.5 | 无示例高亮显示 |
tldr-bash |
Bash | 30.0 | 0.8 | |
tldr-c |
C | 38.4 | 1.0 | |
tldr-python-client |
Python | 87.0 | 2.4 | |
tldr-node-client |
JavaScript / NodeJS | 407.1 | 12.9 |
如您所见,tealdeer
是测试过的客户端中最快的之一。然而,我们更注重实用功能和代码质量,而不仅仅是原始性能,即使这意味着我们在这个友好的竞赛中可能不是第一名。话虽如此,我们仍在优化代码,例如,当outfieldr
开发者建议切换到原生TLS实现而不是原生库时。
开发
创建启用日志记录的调试构建
$ cargo build --features logging
无日志记录的发布构建
$ cargo build --release
要启用日志输出,请设置RUST_LOG
环境变量
$ export RUST_LOG=tldr=debug
运行测试
$ cargo test
运行 lint
$ rustup component add clippy
$ cargo clean && cargo clippy
MSRV (最小支持的Rust版本)
当发布Tealdeer版本时,构建它所需的Rust版本至少应该稳定一个月。
许可证
根据以下任一许可证授权
- Apache License,版本2.0(LICENSE-APACHE或http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT或http://opensource.org/licenses/MIT),任选其一。
贡献
除非您明确说明,否则根据Apache-2.0许可证定义,您有意提交的任何贡献都应按照上述方式双许可,而无需任何附加条款或条件。
感谢@severen想出“tealdeer”这个名字!
依赖项
~7–20MB
~311K SLoC