29个稳定版本
3.2.5 | 2024年4月30日 |
---|---|
3.0.1 | 2024年3月4日 |
2.2.3 | 2024年1月13日 |
2.2.2 | 2023年11月1日 |
1.0.1 | 2023年5月28日 |
#185 in 命令行界面
110KB
2.5K SLoC
archwiki-rs 📖
安装
目前,您只能从crates.io或从源代码构建此工具。
安装后,您可能想运行sync-wiki
命令。
crates.io
cargo install archwiki-rs
源代码
git clone https://gitlab.com/lucifayr/archwiki-rs
cd archwiki-rs
cargo install --path .
用法
读取页面
基本请求
archwiki-rs read-page Neovim
使用不同格式
archwiki-rs read-page Neovim --format markdown
缓存
默认情况下,页面在获取后会在文件系统中进行缓存,之后对该页面的后续请求将使用该缓存。如果缓存的文件在过去14天内未被修改,则缓存会失效。
404页面未找到 (-̥̥̥n-̥̥̥ )
如果您正在搜索的页面不存在,将输出与您请求的页面名称最相似的页面列表,而不是页面内容。
archwiki-rs read-page Neovi
# output
Neovim
...
与页面名称存在时的输出不同,此输出将写入stderr而不是stdout。如果您愿意,可以创建一个程序来检查是否未找到页面,并使用stderr向用户提供有关他们可能想要输入的内容的建议。
一个类似的shell脚本的示例可以在存储库中找到,其名称为example.sh
,可以使用如下方式使用:sh example.sh <page-name>
。
搜索ArchWiki
按标题搜索
archwiki-rs search "Emacs"
这将返回具有相似标题和URL的页面表格
搜索文本
archwiki-rs search "shell" -t
这将返回包含搜索词的页面和文本片段的表格
下载Wiki信息
页面和分类名称存储在本地以加快查找速度。使用此命令来获取所有页面和分类名称。
archwiki-rs sync-wiki
列出ArchWiki信息
列出页面
archwiki-rs list-pages
该功能输出一个样式化的类别和页面树,但如果您需要为不同的程序提供一个易于解析的列表,可以使用 -f
标志将输出扁平化为仅包含所有页面名称的换行符分隔的列表
archwiki-rs list-pages -f
您还可以将列表限制为仅包含属于特定类别的页面
archwiki-rs list-pages -c "Xorg commands"
列出分类
要对类别执行相同的操作,可以运行
archwiki-rs list-categories
列出语言
同样,对于可用语言也是如此
archwiki-rs list-languages
下载ArchWiki的本地副本
使用此命令下载 ArchWiki 的本地副本。请注意,此命令会对 ArchWiki 进行超过 10,000 次请求,因此完成需要一些时间 (-, -)…zzzZZ
archwiki-rs local-wiki ~/local-archwiki --format markdown
可能的加速方法
如果您不介意您的 CPU 和网络变得略微饱和,可以增加用于从维基获取数据的线程数量。
请注意,如果您一次性发出太多请求,可能会被 ArchWiki 限制请求速率。
archwiki-rs local-wiki -t 8
应用程序信息
您可以使用 info
命令获取有关 cache directory
的值/位置的其它信息
archwiki-rs info
要仅获取条目的值而不是其名称和描述,可以使用 -o
标志
archwiki-rs info -o
设置shell自动完成
您可以为大多数流行的 shell 生成一个完成文件,以实现自动补全功能(支持 shell 列表)。
以下示例展示了如何为 ZSH(与 oh my zsh 一起)设置自动补全。
archwiki-rs completions > /home/iusearchbtw/.oh-my-zsh/completions/_archwiki-rs
插件
以下是一些为 archwiki-rs
插件的程序列表,可以帮助您简化工作
插件开发者的有用信息
手册页面
每个命令/子命令都有一个手册页,其中包含有关命令的技术细节和行为的更多详细信息。查看 man archwiki-rs
以开始。
请注意,手册页中的所有信息都不保证正确。如果您发现任何错误,欢迎告知我或提交 PR。
输出JSON
对于以下命令,您可以使用 --json
和 --json-raw
标志以获取易于解析的 JSON 格式的输出,供您的程序使用
替代方案
如果您正在使用 Arch Linux,那么此工具的一个很好的替代品是 wikiman
CLI 工具,与 arch-wiki-docs
软件包结合使用
依赖关系
~12–29MB
~431K SLoC