13个版本

使用旧的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.6.4 2018年3月25日

#301数据库实现

Download history 72/week @ 2023-12-14 59/week @ 2023-12-21 38/week @ 2023-12-28 54/week @ 2024-01-04 64/week @ 2024-01-11 53/week @ 2024-01-18 33/week @ 2024-01-25 34/week @ 2024-02-01 61/week @ 2024-02-08 87/week @ 2024-02-15 77/week @ 2024-02-22 66/week @ 2024-02-29 78/week @ 2024-03-07 68/week @ 2024-03-14 126/week @ 2024-03-21 125/week @ 2024-03-28

每月415次下载
用于 29 个crate(12 个直接使用)

LGPL-2.1

135KB
2.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的条款下分发此软件。

依赖关系

~9–21MB
~320K SLoC