Nonote is a Command Line Node application for taking notes from the command line in Git Hub flavored Markdown!
There are a bunch of reasons why I made
nonote here are just a few:
- Would like to write and mutate notes from the command line
- Reduce the number of apps I have open, a markdown file is fine for me :)
- Wanted to learn how to write a CLI in node!
Who is nonote for?
Nonote is really useful if you like staying in the terminal and want a place to write something down but you also don't want to litter your file system with random files.
nonote works best with:
- tmux / some sort of multiplexed terminal
- vim / emacs / other terminal based text editor
nonote make sure it is done with the -g flag as nonote is
intended to be used in the global context. No matter where you are you should be able
to add a note!
npm i -g nonote
From the command line you can refer to it as
nono, I prefer the latter :)
Nonote needs to know where you would like to take notes!
This path is stored in a
nono init command fills this out for you.
$ nono init
It is recommended that you let nonote create your directory as it will also create
templates directory with a
default.json file that is used for the
nonote new command.
If you do not let
nonote create your directory, you must adhere to this folder structure:
│ ├── 01-04-2016
│ │ ├── data.json
│ │ └── note.md
│ └── 02-04-2016
│ ├── data.json
│ └── note.md
Start your day
Every day you need to jot some things down, lets make a place you can do that!
$ nono new [template]nono new
Creates a new note for the day from a specified template:
nonote will grab the
default.json file in
templates if nothing is specified.
You can add as many templates as you would like! Just make sure they are valid JSON and live in the
nono new default starts my day off with a copy of the default template!
nono new weekend does the same, just with the weekend template :)
Watch your Notes
Will run a watch command on todays
note.md file in the directory specified by
Having a textfile that you are watching for changes is the heart of nonote! Use this feature!
Add some notes
Now that you have a place to take some notes, let's add some tasks for you to do!
$ nono add <section> <ENTER NOTE DISCRIPTION HERE>nono add wn fix that darn bugnono a wn apologize to support
This will add a note in the "work notes" section! Yay!
Toggle some statuses
Great! you have some tasks to do! Let's Update their statusesesesesssz
Here is the general formula to change a notes status:
$ nono [ complete || incomplete || failed || remove ] <section> <index>
Complete a note
nono c wn 1
Yay! You solved that darn bug! Check that off your list :)
wnsection as complete with github flavoured markdown:
Incomplete a note
nono i wn 1
Aw Cuss! You didn't actually complete that task, change it's status :(
wnsection as incomplete with github flavoured markdown:
- [ ]
Fail a note
nono f wn 1
Holy cats that bug is just impossible to fix, mark it as failed.
wnsection as incomplete (not valid GFMD)
Remove a note
nono r wn 1
You didn't need to do that task anyways, f it!
Remove a section
nono r wn -s
Ya know what? You don't even need that whole section!
Add a section
Oh wait, yes you do...
The cli ref is how you will reference this note from the cli, so make it short!
th-th-th-that's all folks!
A few things I would really like to add to nonote are:
- Note rollover (for incomplete tasks)
- Weekly roundup
- Tests...should have TDD'd this :/ oh well!
Here are some template ideas:
- Exercise template
- Coding template
- Work template
- Travel template
Always looking for contributors, no matter how big or small, any PR is an appreciated one :) If you want to be on this repo send me an email or a tweet!
the electronic mailz --> firstname.lastname@example.org
the tweeter --> @mghinrichs