用于联系人管理的三个开源工具

开源
通过将联系人同步到本地从而更快访问它。在我们的 20 个使用开源提升生产力的系列的第六篇文章中了解该如何做。

 [[313696]]

通过将联系人同步到本地从而更快访问它。在我们的 20 个使用开源提升生产力的系列的第六篇文章中了解该如何做。

去年,我在 19 天里给你介绍了 19 个新(对你而言)的生产力工具。今年,我换了一种方式:使用你在使用或者还没使用的工具,构建一个使你可以在新一年更加高效的环境。

用于联系人管理的开源工具

在本系列之前的文章中,我解释了如何在本地同步你的邮件日历。希望这些加速了你访问邮件和日历。现在,我将讨论联系人同步,你可以给他们发送邮件和日历邀请。

abook

我目前收集了很多邮件地址。管理这些数据可能有点麻烦。有基于 Web 的服务,但它们不如本地副本快。

几天前,我谈到了用于管理日历的 vdirsyncer。vdirsyncer 还使用 CardDAV 协议处理联系人。vdirsyncer 除了可以使用文件系统存储日历外,还支持通过 google_contactscarddav 进行联系人同步,但 fileext 设置会被更改,因此你无法在日历文件中存储联系人。

我在配置文件添加了一块配置,并从 Google 镜像了我的联系人。设置它需要额外的步骤。从 Google 镜像完成后,配置非常简单:

  1. [pair address_sync]
  2. a = "googlecard"
  3. b = "localcard"
  4. collections = ["from a", "from b"]
  5. conflict_resolution = "a wins"
  6.  
  7. [storage googlecard]
  8. type = "google_contacts"
  9. token_file = "~/.vdirsyncer/google_token"
  10. client_id = "my_client_id"
  11. client_secret = "my_client_secret"
  12.  
  13. [storage localcard]
  14. type = "filesystem"
  15. path = "~/.calendars/Addresses/"
  16. fileext = ".vcf"

现在,当我运行 vdirsyncer discover 时,它会找到我的 Google 联系人,并且 vdirsyncer sync 将它们复制到我的本地计算机。但同样,这只进行到一半。现在我想查看和使用联系人。需要 khardabook

khard search

为什么选择两个应用?因为每个都有它自己的使用场景,在这里,越多越好。khard 用于管理地址,类似于 khal 用于管理日历条目。如果你的发行版附带了旧版本,你可能需要通过 pip 安装最新版本。安装 khard 后,你需要创建 ~/.config/khard/khard.conf,因为 khard 没有与 khal 那样漂亮的配置向导。我的看起来像这样:

  1. [addressbooks]
  2. [[addresses]]
  3. path = ~/.calendars/Addresses/default/
  4.  
  5. [general]
  6. debug = no
  7. default_action = list
  8. editor = vim, -i, NONE
  9. merge_editor = vimdiff
  10.  
  11. [contact table]
  12. display = first_name
  13. group_by_addressbook = no
  14. reverse = no
  15. show_nicknames = yes
  16. show_uids = no
  17. sort = last_name
  18. localize_dates = yes
  19.  
  20. [vcard]
  21. preferred_version = 3.0
  22. search_in_source_files = yes
  23. skip_unparsable = no

这会定义源通讯簿(并给它一个友好的名称)、显示内容和联系人编辑程序。运行 khard list 将列出所有条目,khard list <some@email.adr> 可以搜索特定条目。如果要添加或编辑条目,addedit 命令将使用相同的基本模板打开配置的编辑器,唯一的区别是 add 命令的模板将为空。

editing in khard

abook 需要你导入和导出 VCF 文件,但它为查找提供了一些不错的功能。要将文件转换为 abook 格式,请先安装 abook 并创建 ~/.abook 默认目录。然后让 abook 解析所有文件,并将它们放入 ~/.abook/addresses 文件中:

  1. apt install abook
  2. ls ~/.calendars/Addresses/default/* | xargs cat | abook --convert --informat vcard --outformat abook > ~/.abook/addresses

现在运行 abook,你将有一个非常漂亮的 UI 来浏览、搜索和编辑条目。将它们导出到单个文件有点痛苦,所以我用 khard 进行大部分编辑,并有一个 cron 任务将它们导入到 abook 中。

abook 还可在命令行中搜索,并有大量有关将其与邮件客户端集成的文档。例如,你可以在 .config/alot/config 文件中添加一些信息,从而在 Nmuch 的邮件客户端 alot 中使用 abook 查询联系人:

  1. [accounts]
  2. [[Personal]]
  3. realname = Kevin Sonney
  4. address = kevin@sonney.com
  5. alias_regexp = kevin\+.+@sonney.com
  6. gpg_key = 7BB612C9
  7. sendmail_command = msmtp --account=Personal -t
  8. # ~ expansion works
  9. sent_box = maildir://~/Maildir/Sent
  10. draft_box = maildir://~/Maildir/Drafts
  11. [[[abook]]]
  12. type = abook

这样你就可以在邮件和日历中快速查找联系人了!

 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2023-07-28 09:00:00

NLP开源工具

2012-03-01 19:44:18

Android

2017-08-01 08:41:29

Oracle开源容器

2013-05-07 09:26:26

Office 365微软

2018-10-18 08:15:27

开源分布式追踪工具

2011-05-26 14:42:34

Android 手机

2023-11-28 07:40:34

开源仓库管理系统

2012-03-26 21:38:36

智能

2023-02-13 08:45:26

2015-11-11 10:17:15

ios9联系人框架干货

2010-01-27 14:08:56

Android查询联系

2017-06-05 12:06:00

2014-12-30 11:51:35

ListViewItem View

2020-07-22 16:27:11

开源工具数据挖掘数据

2022-10-08 14:47:21

Python工具开源

2009-11-26 15:10:25

PHP调用系统命令函数

2013-10-21 09:42:28

开源OpenStack

2010-06-20 00:38:50

2023-02-07 16:21:37

时间序列列数据集

2024-11-22 15:23:51

Python虚拟环境
点赞
收藏

51CTO技术栈公众号