You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<ahref="#build-from-source">Build from Source</a> •
14
13
<ahref="#dependencies">Dependencies</a> •
@@ -26,11 +25,6 @@ Commands that encompass all basic needs are included. Each command has an alias
26
25
27
26
<imgalt="Screenshot"src="assets/imgs/jot.png"/>
28
27
29
-
<br>
30
-
31
-
Jot is under active development. While it contains all basic functions that should serve most needs, there's a laundry list of features that are yet to and will be added overtime.<br>
32
-
Check out [***UPDATES.md***](UPDATES.md) to see upcoming updates. ***This project is not open to contributions at the moment.***
33
-
34
28
## Installation
35
29
36
30
#### ***Install with cargo:***
@@ -41,16 +35,7 @@ $ cargo install jt
41
35
42
36
#### ***Use executable*** (only for windows)
43
37
44
-
Download [***jt.exe***](https://github.com/araekiel/jot/releases/download/v0.1.1/jt.exe) (***v0.1.1***) and add it to your path.
45
-
46
-
## Notes
47
-
48
-
- App data is stored in config and data files in locations generated by the [***directories***](https://crates.io/crates/directories) crate. Individual Vault data is stored in '***.jot***' folder inside each vault. It is advised that these files not be tampered with, since atm there's no way to automatically fix them.
49
-
- App data files are generated in their default state the first time a command is run, if they don't exist already. Vault data files are generated in their default state when a vault is created.
50
-
- App config has two fields: ***editor*** & ***conflict***.
51
-
-***editor*** by default is set to ***nvim*** and ***conflict*** to ***true***.
52
-
-***conflict*** field tells jot if the editor conflicts with it for control over the terminal. Set it to *true* for editors like *nvim* and *false* for editors like *notepad*.
53
-
- Jot is published on ***crates.io*** as '***jt***', since 'jot' wasn't available.
38
+
Download [***jt.exe***](https://github.com/araekiel/jot/releases/download/v0.1.2/jt.exe) (***v0.1.2***) and add it to your path.
54
39
55
40
## Usage
56
41
@@ -62,7 +47,7 @@ The following example represents a general user flow when first using ***Jot***.
62
47
$ jt vault newvault ~/vaults
63
48
```
64
49
65
-
Here, ***newvault*** is the name of the vault, and '***~/vault***' is the location where it will be created (this location should be an absolute fs path and exist already or jot will throw an error).
50
+
Here, ***newvault*** is the name of the vault, and '***~/vaults***' is the location where it will be created (this location should be an absolute fs path and exist already or jot will throw an error).
66
51
67
52
Providing no arguments to `vault` command will list all vaults.
68
53
@@ -86,7 +71,7 @@ $ jt enter newvault
86
71
87
72
`enter` command is also used to switch to other vaults.
88
73
89
-
#### ***Create notes and folders***
74
+
#### ***Create notes and folders:***
90
75
91
76
```bash
92
77
$ jt note newnote
@@ -98,7 +83,15 @@ $ jt folder newfolder
98
83
99
84
`note` and `folder`, both work similarly and create the corresponding items in ***current folder***. When a vault is first created, the ***current folder*** is set to its root.
100
85
101
-
#### ***Change folder***
86
+
#### ***Open a note:***
87
+
88
+
```bash
89
+
jt open newnote
90
+
```
91
+
92
+
`open` command will open the specified note with the editor set in config.
93
+
94
+
#### ***Change folder:***
102
95
103
96
```bash
104
97
$ jt chdir newfolder
@@ -114,7 +107,15 @@ $ jt chdir ..
114
107
115
108
This will switch back to the root of vault.
116
109
117
-
#### ***Print dir tree of current folder***
110
+
#### ***Open current folder in explorer:***
111
+
112
+
```bash
113
+
$ jt opdir
114
+
```
115
+
116
+
`opdir` command will open the current folder in the default file explorer.
117
+
118
+
#### ***List items in current folder:***
118
119
119
120
```bash
120
121
$ jt list
@@ -131,9 +132,17 @@ newvault
131
132
└── newnote # highlighted in blue
132
133
```
133
134
134
-
#### ***Fs operations***
135
+
Adding an item type (***note*** or ***folder***) to the `list` command like so,
135
136
136
-
Command `remove` works as its name suggests, on all items (vaults, notes, or folders).
137
+
```bash
138
+
$ jt list note
139
+
```
140
+
141
+
will only list items of the specified type.
142
+
143
+
#### ***Fs operations:***
144
+
145
+
Command `remove` works as its name suggests, on all items (***vault***, ***note***, or ***folder***).
137
146
138
147
```
139
148
$ jt remove note newnote
@@ -169,13 +178,21 @@ Every keyword used so far (commands and item names) is interchangeable with its
169
178
$ jt mv nt newnote /newfolder/
170
179
```
171
180
172
-
#### ***Handle Jot's config***
181
+
#### ***Handle Jot's config:***
182
+
183
+
```bash
184
+
$ jt config
185
+
```
186
+
187
+
`config` command will open the config file in the set ***editor***. By default this is ***nvim***.
188
+
189
+
Specifying a config field as an argument will display its value without opening the config file itself.
173
190
174
191
```bash
175
192
$ jt config editor
176
193
```
177
194
178
-
The value of the provided field will be printed with `config` command. Providing a value as an additional argument with this command will update the field.
195
+
Providing a value as an additional argument will update the field.
179
196
180
197
```bash
181
198
$ jt config editor code.cmd
@@ -199,8 +216,33 @@ $ jt help vault
199
216
$ jt vault -h
200
217
```
201
218
219
+
## Notes
220
+
221
+
#### ***General***
222
+
223
+
- Jot is published on ***crates.io*** as '***jt***', since 'jot' wasn't available.
224
+
- As of now, Jot has only been tested on ***windows*** (and ***WSL***).
225
+
226
+
#### ***Config & Data***
227
+
228
+
- App data is stored in config and data files in locations generated by the [***directories***](https://crates.io/crates/directories) crate. Individual Vault data is stored in '***.jot***' folder inside each vault. It is advised that these files not be tampered with, since atm there's no way to automatically fix them.
229
+
- App data files are generated in their default state the first time a command is run, if they don't exist already. Vault data files are generated in their default state when a vault is created.
230
+
- App config has two fields: ***editor*** & ***conflict***.
231
+
-***editor*** by default is set to ***nvim*** and ***conflict*** to ***true***.
232
+
-***conflict*** field tells jot if the editor conflicts with it for control over the terminal. Set it to *true* for editors like *nvim* and *false* for editors like *notepad*.
233
+
202
234
## Changelog
203
235
236
+
-***v0.1.2*** :
237
+
- Fix:
238
+
-`list` command could display items other than notes and folders.
239
+
-***process_path()*** couldn't collapse certain paths properly, and ***std::fs::canonicalize*** doesn't work as intended on windows. ***dunce*** crate has been used to achieve the required function.
240
+
241
+
- Feat:
242
+
-`opdir` command has been added to enable opening the current folder in the default file explorer.
243
+
-`list` command can now filter items based on the item type provided.
244
+
-`config` command can now open the config file in the set editor.
245
+
204
246
-***v0.1.1*** :
205
247
- As advised by [***u/epage***](https://www.reddit.com/user/epage/) ([github/epage](https://github.com/epage)) on my r/rust [***post***](https://www.reddit.com/r/rust/comments/xebk9j/i_am_working_on_a_cli_alternative_for_obsidian/), commands are now represented by their full word, and the two letter abbreviations (previously serving as commands themselves) are now aliases for these commands.
206
248
- Updated docs.
@@ -243,11 +285,12 @@ Pass in commands and arguments after '***--***'.
243
285
-[***clap***](https://docs.rs/clap/latest/clap/) has been used to create the command line interface.
244
286
-[***directories***](https://docs.rs/directories/latest/directories/) has been used to generate os-dependent config and data file locations.
245
287
-[***fs_extra***](https://docs.rs/fs_extra/latest/fs_extra/) has been used for recursive move of folders.
288
+
-[***dunce***](https://docs.rs/dunce/latest/dunce/index.html) has been used as an alternative to ***std::fs::canonicalize***.
0 commit comments