notor
A simple terminal program for taking notes.
Installation
You can get the prebuilt binary for linux_x86_64
in the releases section of this repository.
To build and install notor
, follow the given steps:
Install Crystal and Shards (Crystal's package manager) first to build the app.
Then, clone the repo.
git clone https://www.github.com/pes18fan/notor.git
Go into the directory and build and install as follows.
cd notor
shards install
make release
sudo make install
By default, the binary will install to the path /usr/local/bin
. To change that, change the final sudo make install
command to sudo make INSTALL=<path> install
where you replace <path>
with the install path of your choice.
Uninstallation
If you built and installed the app using make
, an uninstall script named uninstall.sh
is created automatically. You can simply run that script to uninstall notor, or run sudo make uninstall
in the source directory, both will do the same thing.
If you do not have the uninstall script, possibly due to installation without make
, you can remove the binary named notor
directly from the install path, and remove the hidden folder .notor
in the home directory if you want to delete your notes and configuration as well.
Usage
You can run notor --help
to get a guide to the basic usage for the app. While using notor, you generally run the executable along with some subcommand, optional flags and arguments. The subcommands that you'll find yourself using include:
new
: Creates a new note with the specified title and content.
$ notor new foo bar # foo is the title and bar is the content
New note foo created!
$ notor new "foo bar" "baz thud" # use quotes if title and/or content have more than one word
New note foo bar created!
cat
: Displays the content of the specified note.
$ notor cat foo
NOTE TITLE: foo
bar
edit
: Opens the specified note for editing in the default text editor. Optionally, you can also specify the editor to use.
$ notor edit foo vim # opens foo in vim, where you can edit the title and content, then close the window to save changes.
$ notor edit "foo bar" # opens "foo bar" in default editor
del
: Deletes the specified note..
$ notor del foo
Note "foo" deleted.
$ notor del thud
Note "thud" not found.
list
: Lists the notes currently existing in a tabular form (kudos to tablo).
$ notor list
2 notes present.
All notes:
+------+--------------------------------+----------------+
| S.N | Created on | Title |
+------+--------------------------------+----------------+
| 1 | 2022/07/11 04:43:27 PM Mon | foo |
| 2 | 2022/07/11 04:43:40 PM Mon | foo bar |
+------+--------------------------------+----------------+
reset
: Deletes all notes.
$ notor reset
All notes deleted.
Configuration
notor
provides a few configuration options:
editor
: Determines the default editor used innotor edit
commands.pager
: Determines the pager used to display content whennotor cat
is invoked with the-p
flag.paging
: Determines if paging is always used to display content.false
by default.
These configuration options can be set to the user's liking using the notor conf
subcommand. For example:
$ notor conf editor vim # sets vim as the default editor
$ notor conf pager less # sets less as the default pager
$ notor conf paging true # always use the pager
About
Not much to write home about this. I guess I'd consider this my first proper project, one I made since I was kinda frustrated due to not having made something that actually does something useful. Guess this kinda fixed that problem eh? About the name, don't ask me, got no idea where it comes from, just got it in my mind after brainstorming and thought it sounded cool lol.
Contributing
- Fork it (https://github.com/pes18fan/notor/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new pull request
Contributors
- pes18fan - creator and maintainer