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 次

MIT 许可证

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

asciicast

依赖项

~33–63MB
~1M SLoC