12 个版本

使用旧版 Rust 2015

0.9.3 2019 年 5 月 23 日
0.9.1 2019 年 2 月 17 日
0.9.0 2018 年 11 月 10 日
0.8.0 2018 年 5 月 9 日
0.5.0 2017 年 12 月 24 日

#403数据库实现

每月 29 次下载

LGPL-2.1

32KB
481

imag - imag-pim.org

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

此应用处于早期开发阶段。有一些功能是可行的,但我们目前不考虑任何功能是稳定或可用的。尽管如此,您仍然可以随意尝试。

休假通知

注意:我是 imag 的作者,将从 2018 年 5 月中旬休假至 2019 年初。我希望在那段时间内可以继续开发 imag,但无法保证。我希望能在此之后继续开发 imag,并且我确实计划这样做。

但从 2018 年 5 月至 2019 年 2 月,请期待较长的响应时间。

目标 / imag 是什么?

我们的(长期)目标是

创建一个快速、可靠且涵盖个人信息管理所有方面的命令行套件,由可重用部分组成,并且与已知命令行工具良好集成。

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

请参阅 文档 以了解更多信息。

构建/运行

以下是尝试 imag 的方法。

imag 是一个 套件/集合 工具(例如,git),您可以单独构建它们。所有以 "libimag" 为前缀的子目录都是库。所有以 "imag-" 为前缀的子目录都是二进制文件,编译它们将为您提供命令行应用程序。

构建

我们使用 cargo 构建此存储库中的所有 crate。请确保使用最新的 cargo,至少有一个支持工作空间。使用 cargo build --all 命令构建所有 crate,通过指定 cargo 的 --manifest-path 标志来构建单个 crate。

运行

构建您想要玩的模块后,您只需使用--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的官方网站<отрывок>(https://imag-pim.org),我在那里发布<отвор>发布说明<отрывок>和每月(大致)更新,这些更新发生在源代码树中(<отвор>RSS在这里<отрывок>)。

我们还有一个<отвор>邮件列表<отрывок>(https://imag-pim.org/mailinglist/),我在那里发布更新,并鼓励讨论和提问。

文档

我们在./doc子树中提供了一些文档,可以使用pandoc将其编译为PDF或网站。不过,它可能不是最新的。最新版本的开发者文档可以在docs.rs上找到。

请贡献力量!

我们正在寻找贡献者!欢迎您在邮件列表上提问、建议功能或其他事宜!

还可以查看CONTRIBUTING.md文件

联系方式

欢迎加入我们的新IRC频道freenode:#imag或我们的邮件列表

许可证

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

依赖项

~1.6–3MB
~67K SLoC