nonote

a node application for taking notes in markdown from the command line

Usage no npm install needed!

<script type="module">
  import nonote from 'https://cdn.skypack.dev/nonote';
</script>

README

nonote

Nonote is a Command Line Node application for taking notes from the command line in Git Hub flavored Markdown!

Motivation

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

Installation

When installing 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 nonote or nono, I prefer the latter :)

Initialize

Nonote needs to know where you would like to take notes! This path is stored in a.nonoterc.json

The nono init command fills this out for you.

$ nono init

nono init

It is recommended that you let nonote create your directory as it will also create a 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:

.
├── days
│   ├── 01-04-2016
│   │   ├── data.json
│   │   └── note.md
│   └── 02-04-2016
│       ├── data.json
│       └── note.md
└── templates
    ├── default.json
    └── weekend.json

Usage

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:

nono new

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 templates directory.

For instance: 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

nono watch

Will run a watch command on todays note.md file in the directory specified by your .nonoterc.json

nono watch

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 bug
nono a wn apologize to support

nono add

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 (c) || incomplete (i) || failed (f) || remove (r) ] <section> <index>

Complete a note

nono c wn 1

Yay! You solved that darn bug! Check that off your list :)

nono complete

Mark note 1 in the wn section as complete with github flavoured markdown: - [x]


Incomplete a note

nono i wn 1

Aw Cuss! You didn't actually complete that task, change it's status :(

nono incomplete

Mark note 1 in the wn section 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.

nono incomplete

Mark note 1 in the wn section as incomplete (not valid GFMD)- [-]


Remove a note

nono r wn 1

You didn't need to do that task anyways, f it!

nono incomplete

Remove note 1 in the wn section


Remove a section

nono r wn -s

Ya know what? You don't even need that whole section!

nono incomplete

Remove section wn


Add a section

nono s

Oh wait, yes you do...

nono incomplete

The cli ref is how you will reference this note from the cli, so make it short!


th-th-th-that's all folks!

Roadmap

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!

Misc

Here are some template ideas:

  • Exercise template
  • Coding template
  • Work template
  • Travel template

Contributing

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!

Contact me

the electronic mailz --> michaelghinrichs@gmail.com

the tweeter --> @mghinrichs