17个不稳定版本

使用旧Rust 2015

0.10.1 2020年2月29日
0.10.0 2019年12月24日
0.9.3 2019年5月23日
0.9.1 2019年2月17日
0.2.0 2016年10月23日

#249数据库实现

Download history 86/week @ 2024-03-13 175/week @ 2024-03-20 192/week @ 2024-03-27 158/week @ 2024-04-03 121/week @ 2024-04-10 107/week @ 2024-04-17 132/week @ 2024-04-24 144/week @ 2024-05-01 115/week @ 2024-05-08 108/week @ 2024-05-15 120/week @ 2024-05-22 85/week @ 2024-05-29 92/week @ 2024-06-05 108/week @ 2024-06-12 109/week @ 2024-06-19 76/week @ 2024-06-26

387 每月下载量
46 个crate(38个直接) 使用

LGPL-2.1

245KB
4.5K SLoC

imag - imag-pim.org

imag 是一个命令行个人信息管理套件。

此应用程序处于早期开发阶段。有一些功能是可用的,但我们目前不认为任何东西是稳定或可用的。尽管如此,请随意试用。

使命宣言

我们的(长期)目标是

创建一个快速、可脚本化、以命令行为主的、仅文本的套件,涵盖个人信息管理的所有方面。

是的,imag是一个相当雄心勃勃的项目,因为它试图重新实现几个“个人信息管理方面”的功能。我们尽可能使用标准如vcard、icalendar等。

有关更多信息,请参阅文档

构建/运行

以下是如何尝试使用imag的说明。

imag是一个套件/集合工具(例如git),您可以单独构建每个“模块”。

构建

使用cargo build --all构建所有crate,通过指定cargo的--manifest-path标志来构建单个crate。./bin中的crate是实际的命令行工具,./bin/core包含imag的核心命令集(在git中称为“管道”),而./bin/domain包含特定领域的imag命令,例如待办事项工具或书签工具。

运行

构建您想尝试的模块后,您可以通过使用--help标志来简单地调用二进制文件本身,以获取有关模块功能的帮助信息。

如果您已安装该模块,您可以通过以下方式调用 imag-<modulename>(如果安装目录在您的 $PATH 中),或者安装 imag 可执行文件以调用 imag <modulename>(如果一切都在您的 $PATH 中)。通过调用 imag --help 来查看哪些模块被找到并可使用。通过调用 imag --versions 来打印所有模块的版本。

示例用法

由于 imag 是一个庞大而复杂的项目,我们无法在此展示所有工具。但为了给您一些启发,这里有一个示例

# Lets initialize imag
imag init

# Recursively import vcf files
imag contact import /home/user/contacts

# Create a contact (vcf) in the private collection
imag contact create --file /home/user/contacts/private

# Add a diary entry
imag diary -p private create

# Uh, I forgot something in a diary entry, select one (or multiple) and edit it
# use the `fzf` tool here (not a part of imag) to select from the IDs
imag diary -p private list | fzf -m | imag edit

# Link a contact to the diary entry
imag link diary/private/2018/01/01/00:00:00 contact/bc222298-casf-40a4-bda1-50aa980a68c9

# Annotate a contact with some notes
imag annotate add contact/bc222298-casf-40a4-bda1-50aa980a68c9 contact-notes

# Write down some notes named "pineapple"
imag notes create "pineapple"

# Where was that contact again?
imag grep Eva # also possible with `imag contact find Eva`

# Okay, we need to add some imag-internal notes to that contact
imag grep Eva -l | imag edit

# Now save our work
imag git add . # "imag-git" simply calls git in the imag store
imag git commit -m 'Commit message'

保持最新

我们有一个 imag 的官方网站,我在那里发布 发布说明 和每月(大致)更新,介绍源代码树中发生的事情(RSS 在这里)。

我们还有一个 邮件列表,我在那里发布更新,并鼓励讨论和提问。

文档

我们在 ./doc 子目录 中有一些文档,可以使用 pandoc 编译成 PDF 或网站。尽管如此,它可能不是最新的。最后发布版本的开发者文档可在 docs.rs 上找到。

请贡献力量!

我们正在寻找贡献者!请随意在 邮件列表 上提交问题、建议功能或其他事项!

还可以查看 CONTRIBUTING.md 文件

联系方式

请随意加入我们新的 freenode 上的 IRC 频道:#imag 或我们的 邮件列表

许可

我们选择在 GNU LGPLv2.1 条件下分发此软件。

依赖关系

~12–23MB
~365K SLoC