16 个版本
0.2.8 | 2023 年 9 月 10 日 |
---|---|
0.2.7 | 2023 年 5 月 24 日 |
0.2.6 | 2023 年 3 月 28 日 |
0.2.3 | 2022 年 12 月 6 日 |
0.1.4 | 2021 年 5 月 9 日 |
#1193 在 命令行工具
每月下载量 45 次
24KB
346 行
gloss-word
这是一个简单的 CLI 工具,用于查找英语单词的定义(或使用标志 -e
)及其词源。定义来自 American Heritage Dictionary,由 The Free Dictionary 网站提供。词源来自 Online Etymology Dictionary。
虽然包名为 gloss-word
——因为我需要一个独特的名称来在 crates.io 上发布——但二进制文件本身,以及相应的命令,是 gloss
。我还喜欢使用下面的 shell 函数将输出通过 bat 进行美化打印。
简而言之,程序会向适当的网站发送请求(如果需要);抓取相关的 HTML 元素;使用 Pandoc 将这些内容转换为美观的纯文本;并将其打印到 stdout
。结果以基本的方式缓存,因此重复搜索(尽管不太可能)不需要从 TFD 或 Etymonline 获取。
Pandoc 是必需的外部依赖。 其他一切由 Rust 二进制文件处理。不过,我编写此程序是为了在 macOS 上自己使用,我只在 Windows 上进行了轻微测试(看起来没问题),在 Linux 上完全没有测试。可能需要进行一些调整。
缓存结果以基本 SQLite 数据库的形式存储,在应该是平台合适的存储位置(依赖于 directories 库)。
对一些其他潜在问题的回答:为什么从TFD抓取,而不是其他优秀的词典网站? 我最初尝试的是维基词典,但它们的标记方式完全不适用于此。 为什么 选择AHD,而不是其他英语词典?作为对比?我只是喜欢它。我看了一些,选择了对我最有吸引力的那一个。
Shell函数
gloss() {
(
set -o pipefail
command gloss "$@" | bat --style=grid,numbers
)
}
bat 是对 cat
的Rust伪实现,我很喜欢。你也可以尝试一下。
asciicast
依赖项
~33–63MB
~1M SLoC