6 个版本
使用旧的 Rust 2015
0.3.0 | 2017年12月31日 |
---|---|
0.2.0 | 2017年5月11日 |
0.1.4 | 2016年3月25日 |
0.1.2 | 2016年2月20日 |
0.1.1 | 2015年12月16日 |
153 在 电子邮件
每月下载 24 次
31KB
687 行
Mates
一个命令行地址簿。主要目标是
-
高度可扩展性
- Mates 在 vCard 文件夹上运行,这是一个标准的联系人文件格式。因此,还可以使用其他程序与 CardDAV 服务器同步(见下文)。
-
用户界面响应速度 在 mutt 中完成电子邮件地址时,mates 维护一个简单的文本文件,其中包含来自 vCard 文件的几个字段,它会在其中调用
grep
。文本文件看起来像这样work@example.com\tExample Man\t/home/user/.contacts/exampleman.vcf home@example.com\tExample Man\t/home/user/.contacts/exampleman.vcf
安装
在 ArchLinux 上,只需使用 AUR 中的 mates-git 包。
对于手动安装,您需要安装 Rust 和 Cargo。1.0 和夜间版都应该可以工作。
cargo install mates
(或cargo install --git https://github.com/untitaker/mates.rs
安装开发版本)- 将
~/.cargo/bin/
添加到您的路径中。其中的二进制文件不依赖于 Rust 或 Cargo,只需glibc
和grep
。
Shell 完整性
Shell 完整性文件包含在 ArchLinux 包中,用于 Bash、Fish 和 Zsh。目前 cargo install
不支持安装附加文件。
如果从源代码构建,它们将在 target/release/build/mates-<hash>/out/<shellfile>
中找到。
使用方法
将环境变量 MATES_DIR
设置为您的 .vcf
文件夹。然后运行二进制文件,使用 --help
列出所有命令。
其他环境变量是
MATES_GREP
,覆盖 grep 二进制文件以使用。默认为grep
。此命令必须接受搜索字符串作为第一个参数和文件路径作为第二个参数。MATES_INDEX
,联系人索引的文件路径。默认为~/.mates_index
。
注意:“mates索引”必须定期调用。即使使用mates的自己的命令,索引也不会自动更新,因为这会严重影响UI响应。
集成
Mutt
mutt中的查询命令(电子邮件自动完成)
# ~/.muttrc
set query_command= "mates mutt-query '%s'"
# Normally you'd have to hit Ctrl-T for completion.
# This rebinds it to Tab.
bind editor <Tab> complete-query
bind editor ^T complete
从消息创建新联系人
# ~/.muttrc
macro index,pager A \
"<pipe-message>mates add | xargs mates edit<enter>" \
"add the sender address"
使用此配置,在查看消息或在高亮显示文件夹视图中的消息时按A
键,将将其添加到您的联系人中,并在您的编辑器中打开新联系人。如果您清除文件,则新联系人将被删除。
使用模糊查找器进行电子邮件选择
selecta 和 fzf 是可以用来搜索联系人的工具,而不是grep。
m() {
mutt "$(MATES_GREP=selecta mates email-query)"
}
m() {
mutt "$(MATES_GREP='fzf -q' mates email-query)"
}
Selecta比fzf更轻量级,但另一方面,fzf提供了一个更友好的界面。
与CardDAV(Vdirsyncer)同步
Vdirsyncer 可以用来将mates的 MATES_DIR
与 CardDAV 服务器同步。以下是一个简单的配置示例,其中 MATES_DIR=~/.contacts/
[pair contacts]
a = contacts_local
b = contacts_remote
[storage contacts_local]
type = filesystem
path = ~/.contacts/
fileext = .vcf
[storage contacts_remote]
type = carddav
url = https://davserver.example.com/
username = foouser
password = foopass
许可证
Mates是在MIT许可证下发布的,有关详细信息,请参阅LICENSE
。
依赖关系
~8.5MB
~142K SLoC