3 个版本
0.1.2 | 2022年8月31日 |
---|---|
0.1.1 | 2021年9月8日 |
0.1.0 | 2021年9月8日 |
#2321 在 命令行工具
33KB
703 行
zest
一个个人笔记管理 CLI
工具。
快速开始
- 安装
zest
:cargo install zest-cli
- 创建你的配置文件
# The path is ~/.config/zest/config.yml
# List the paths you use here
paths:
- ~/notes/
- 添加笔记,格式简单:Markdown + 顶部元数据
---
# Metadata is in yaml
# The tags you can to apply on this file
tags:
- foo
- bar
---
# Title
It is recommended to add a title to your file
You can link to other notes with normal markdown links: [mylink](myfile)
- 运行
zest init
- 使用
zest search
搜索
搜索
zest
查询实际上是 tantivy
查询,以下是可以查询的字段
file
: 包含笔记的文件(路径的任何部分)tag
: 用于此笔记的标签ref
: 笔记的外部引用title
: 标题中包含的内容content
: 内容中包含的内容
默认情况下,搜索词应用于 title
和 content
字段。
示例
包含 foo
的笔记
zest search foo
标记为 foo
的笔记
zest search tag:foo
引用 foo
的笔记
zest search ref:foo
引用 foo
且标记为 bar
的笔记
zest search ref:foo AND tag:bar
理念
zest
是一个笔记管理工具(或知识库管理器),允许你在知识库中创建、搜索和显示笔记。
它旨在用于类似于 Zettelkasten 的工作流程,其中每个笔记都是自己的文件(完整路径是笔记的 ID)。然后你可以使用文件中的元数据为此文件添加标签,并添加其他笔记的链接。
CLI
设计灵感来源于 notmuch
邮件索引器,它只进行邮件索引和查询,就像 zest 一样。
设计时考虑了脚本,因此很容易将 zest 集成到你的编辑器中。
总结一下,以下是设计目标
- 搜索必须快速
- 插入和更新笔记可能需要一点时间
- 编写笔记应使用 Markdown
性能
zest
依赖于tantivy
来执行索引和搜索部分。因此,索引的速度将极大地取决于您的SSD/HDD速度。
在我的机器上,使用一个极其缓慢的HDD,索引整个数据库(目前还不是很大)需要长达10秒的时间。
查询通常非常快,我可以在大约0.1秒内收集到当前文件的全部引用。
待办事项
- 增加更多查询功能,目前仅支持
tantivy
查询,希望有嵌套查询功能 - 增加编辑器支持(Nvim支持正在进行中)
依赖项
~20–31MB
~435K SLoC