3 个版本

0.1.2 2023年4月5日
0.1.1 2022年9月17日
0.1.0 2022年9月13日

#1066命令行工具

MIT 许可证

125KB
1K SLoC

jot

Release Release Cargo

安装使用笔记更新日志从源码构建依赖作者许可证

Jot 是 Obsidian 的精简版,专注于通过终端进行快速笔记管理。
它使用与 Obsidian 相同的存储格式,即笔记使用 markdown 文件,而保险库(以及子文件夹)使用本地文件夹。
包括涵盖所有基本需求的命令。每个命令都有一个别名(两个字母缩写),以进一步提高速度。


Screenshot

安装

使用 cargo 安装

$ cargo install jt

使用可执行文件(仅限 Windows)

下载 jt.exev0.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

notefolder 都可以类似使用,并在 当前文件夹 中创建相应的项目。当保险库首次创建时,当前文件夹 将设置为它的根目录。

打开笔记

jt open newnote

open 命令将使用配置中设置的编辑器打开指定的笔记。

更改文件夹

$ jt chdir newfolder

chdir 命令将当前文件夹切换到指定位置。
必须提供从当前文件夹到位置的相对路径。接受标准文件系统路径作为有效输入,如 '../folder1/somefolder/'。

$ jt chdir ..

这将切换回保险库的根目录。

在资源管理器中打开当前文件夹

$ jt opdir

opdir 命令将在默认文件资源管理器中打开当前文件夹。

列出当前文件夹中的项目

$ jt list

当需要时,list 命令将打印当前文件夹的目录树。所有备注将以蓝色突出显示#1589F0

这是以这个保险箱的根目录作为当前文件夹时的目录树外观。

newvault
├── newfolder                      
└── newnote   # highlighted in blue

备注文件夹类型的项添加到list命令中,如下所示,

$ jt list note

将仅列出指定类型的项。

文件系统操作

命令remove如名所示,作用于所有项(保险箱备注文件夹)。

$ jt remove note newnote 

命令renamemove用法类似,但每个都多一个附加参数。

命令rename将新名称作为其第三个参数。

$ jt rename note newnote somenewnote

命令move将新位置作为其第三个参数。

对于保险箱,路径规则与vault命令相同,对于其他项,路径规则与chdir命令相同。

$ jt move note newnote /newfolder/

这些命令将项类型(保险箱备注文件夹)作为它们的第一个参数。

命令vmovemove类似,但它将项(备注文件夹)从当前保险箱的当前文件夹移动到不同保险箱的根目录,并将该保险箱的名称作为参数,而不是位置。

$ 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' 文件夹中。建议不要篡改这些文件,因为目前没有自动修复它们的方法。
  • 在命令首次运行且文件不存在时,将生成应用数据文件的默认状态。当创建保险箱时,将生成保险箱数据文件的默认状态。
  • 应用配置有两个字段:editorconflict
    • 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*

在 '--' 之后传递命令和参数。

依赖项

  • serdetoml 已一起用于读取和写入数据文件。
  • clap 已用于创建命令行界面。
  • directories 已用于生成与操作系统相关的配置和数据文件位置。
  • fs_extra 已用于文件夹的递归移动。
  • dunce 已用作 std::fs::canonicalize 的替代品。

作者

许可证

MIT 许可证 | 版权 (c) 2023 Kumar Shashwat

依赖项

~2.2–3.5MB
~58K SLoC