3 个版本
0.1.2 | 2023年4月5日 |
---|---|
0.1.1 | 2022年9月17日 |
0.1.0 | 2022年9月13日 |
#1066 在 命令行工具
125KB
1K SLoC
jot
安装 • 使用 • 笔记 • 更新日志 • 从源码构建 • 依赖 • 作者 • 许可证
Jot 是 Obsidian 的精简版,专注于通过终端进行快速笔记管理。
它使用与 Obsidian 相同的存储格式,即笔记使用 markdown 文件,而保险库(以及子文件夹)使用本地文件夹。
包括涵盖所有基本需求的命令。每个命令都有一个别名(两个字母缩写),以进一步提高速度。
安装
使用 cargo 安装
$ cargo install jt
使用可执行文件(仅限 Windows)
下载 jt.exe (v0.1.2)并将其添加到您的路径中。
使用
以下示例表示首次使用 Jot 时的通用用户流程。
使用以下命令创建保险库
$ jt vault newvault ~/vaults
在这里,newvault 是保险库的名称,而 '~/vaults' 是它将被创建的位置(此位置应是一个绝对文件系统路径,并且已存在或 jot 将引发错误)。
如果不向 vault
命令提供任何参数,则将列出所有保险库。
$ jt vault
添加 '-l' 标志将列出所有保险库及其位置。
$ jt vault -l
在此时刻,只有 newvault 将被列出。
进入保险库
$ jt enter newvault
enter
命令也用于切换到其他保险库。
创建笔记和文件夹
$ jt note newnote
$ jt folder newfolder
note
和 folder
都可以类似使用,并在 当前文件夹 中创建相应的项目。当保险库首次创建时,当前文件夹 将设置为它的根目录。
打开笔记
jt open newnote
open
命令将使用配置中设置的编辑器打开指定的笔记。
更改文件夹
$ jt chdir newfolder
chdir
命令将当前文件夹切换到指定位置。
必须提供从当前文件夹到位置的相对路径。接受标准文件系统路径作为有效输入,如 '../folder1/somefolder/'。
$ jt chdir ..
这将切换回保险库的根目录。
在资源管理器中打开当前文件夹
$ jt opdir
opdir
命令将在默认文件资源管理器中打开当前文件夹。
列出当前文件夹中的项目
$ jt list
当需要时,list
命令将打印当前文件夹的目录树。所有备注将以蓝色突出显示。
这是以这个保险箱的根目录作为当前文件夹时的目录树外观。
newvault
├── newfolder
└── newnote # highlighted in blue
将备注或文件夹类型的项添加到list
命令中,如下所示,
$ jt list note
将仅列出指定类型的项。
文件系统操作
命令remove
如名所示,作用于所有项(保险箱、备注或文件夹)。
$ jt remove note newnote
命令rename
和move
用法类似,但每个都多一个附加参数。
命令rename
将新名称作为其第三个参数。
$ jt rename note newnote somenewnote
命令move
将新位置作为其第三个参数。
对于保险箱,路径规则与vault
命令相同,对于其他项,路径规则与chdir
命令相同。
$ jt move note newnote /newfolder/
这些命令将项类型(保险箱、备注或文件夹)作为它们的第一个参数。
命令vmove
与move
类似,但它将项(备注或文件夹)从当前保险箱的当前文件夹移动到不同保险箱的根目录,并将该保险箱的名称作为参数,而不是位置。
$ jt vmove note newnote somevault
到目前为止使用的每个关键字(命令和项名称)都可以与它的两个字母别名互换,例如move
命令也可以写成
$ jt mv nt newnote /newfolder/
处理Jot的配置
$ jt config
config
命令将打开设置编辑器中的配置文件。默认情况下这是nvim。
将配置字段指定为参数将显示其值,而不打开配置文件本身。
$ jt config editor
提供值作为附加参数将更新该字段。
$ jt config editor code.cmd
获取帮助
运行不带命令的jt,或使用help
命令或-h标志以获取主要帮助信息。
$ jt
使用help
命令或-h标志与一个命令一起使用以获取相应的帮助。
$ jt help vault
$ jt vault -h
备注
一般
- Jot发布在crates.io上,名称为'jt',因为'jot'不可用。
- 到目前为止,Jot仅在windows(和WSL)上进行过测试。
配置和数据
- 应用数据存储在由directories crate生成的位置中的配置和数据文件中。单个保险箱数据存储在每个保险箱内部 '.jot' 文件夹中。建议不要篡改这些文件,因为目前没有自动修复它们的方法。
- 在命令首次运行且文件不存在时,将生成应用数据文件的默认状态。当创建保险箱时,将生成保险箱数据文件的默认状态。
- 应用配置有两个字段:editor和conflict。
- editor默认设置为nvim,而conflict设置为true。
- conflict字段告诉jot编辑器是否与终端冲突以控制。对于类似nvim的编辑器设置为true,对于类似notepad的编辑器设置为false。
更新日志
-
v0.1.2 :
-
修复
list
命令可能会显示除备注和文件夹之外的其他项。- process_path() 无法正确折叠某些路径,并且 std::fs::canonicalize 在 Windows 上无法按预期工作。《dunce》软件包已被用于实现所需功能。
-
功能
- 添加了
opdir
命令,以便在默认文件资源管理器中打开当前文件夹。 - 现在
list
命令可以根据提供的项目类型进行过滤。 - 现在
config
命令可以打开设置编辑器中的配置文件。
- 添加了
-
-
v0.1.1 :
- 根据 u/epage (github/epage) 在我的 r/rust 帖子 上的建议,现在命令以其完整单词表示,而两个字母的缩写(之前用作命令本身)现在是指令的别名。
- 更新了文档。
从源代码构建
先决条件
- Git 是在您的机器上克隆存储库所需的。
- Cargo 是编译程序所需的。
构建
克隆存储库并进入目录
$ git clone https://github.com/araekiel/jot.git
$ cd jot
运行以下命令以安装依赖项并构建/编译程序。
$ cargo build
然后运行在 'target/debug/' 中创建的可执行文件(或将它添加到您的路径中)。
或者,直接运行工具
$ cargo run -- *args*
在 '--' 之后传递命令和参数。
依赖项
- serde 和 toml 已一起用于读取和写入数据文件。
- clap 已用于创建命令行界面。
- directories 已用于生成与操作系统相关的配置和数据文件位置。
- fs_extra 已用于文件夹的递归移动。
- dunce 已用作 std::fs::canonicalize 的替代品。
作者
- araekiel - Github
许可证
MIT 许可证 | 版权 (c) 2023 Kumar Shashwat
依赖项
~2.2–3.5MB
~58K SLoC