diff --git a/README b/README index aebe4e4..b2d11c4 100644 --- a/README +++ b/README @@ -2,7 +2,7 @@ nnote: nora's notes ---- provides a script, nnote, to quickly make notes in a simple hierarchy -provides four quick aliases: dnote, mnote, ynote, gnote +provides eight quick aliases: dnote[s], mnote[s], ynote[s], gnote[s] installation ---- @@ -39,6 +39,10 @@ aliases are provided: - ynote for yearly - gnote for global +pluralized aliases (dnotes, mnotes, ynotes, gnotes) are provided to open an +editor in the appropriate directory. this is great if you use an editor with +a directory-based quick find function, like CtrlP.vim or Telescope in Neovim + you can enter different names but by default those are the note names too the file hierarchy is very simple, for instance: - $NOTESDIR diff --git a/dnotes b/dnotes new file mode 100755 index 0000000..162a1ff --- /dev/null +++ b/dnotes @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +set -euo pipefail +if [ -f "$(which nnotes)" ]; then + NNOTES="$(which nnotes)" +else + NOTEBIN="$( dirname -- "$( readlink -f -- "$0"; )"; )" + NNOTES="$NOTEBIN/nnotes" +fi + +$NNOTES daily "$*" + diff --git a/gnotes b/gnotes new file mode 100755 index 0000000..eb6caec --- /dev/null +++ b/gnotes @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +set -euo pipefail +if [ -f "$(which nnotes)" ]; then + NNOTES="$(which nnotes)" +else + NOTEBIN="$( dirname -- "$( readlink -f -- "$0"; )"; )" + NNOTES="$NOTEBIN/nnotes" +fi + +$NNOTES global "$*" + diff --git a/mnotes b/mnotes new file mode 100755 index 0000000..a04d633 --- /dev/null +++ b/mnotes @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +set -euo pipefail +if [ -f "$(which nnotes)" ]; then + NNOTES="$(which nnotes)" +else + NOTEBIN="$( dirname -- "$( readlink -f -- "$0"; )"; )" + NNOTES="$NOTEBIN/nnotes" +fi + +$NNOTES monthly "$*" + diff --git a/nnotes b/nnotes new file mode 100755 index 0000000..4be038c --- /dev/null +++ b/nnotes @@ -0,0 +1,41 @@ +#!/usr/bin/env bash +set -euo pipefail +NOTETYPE="${1-}" +if [[ "$NOTETYPE" == "daily" ]]; then + DATESTRING="$(date +%Y/%m/%d)" + NOTEHEAD=" for $DATESTRING" +elif [[ "$NOTETYPE" == "monthly" ]]; then + DATESTRING="$(date +%Y/%m)" + NOTEHEAD=" for $DATESTRING" +elif [[ "$NOTETYPE" == "yearly" ]]; then + DATESTRING="$(date +%Y)" + NOTEHEAD=" for $DATESTRING" +elif [[ "$NOTETYPE" == "global" ]]; then + DATESTRING="" + NOTEHEAD="" +else + echo "usage: nnotes " + echo " open $EDITOR (\$EDITOR) in the directory for \$type notes" + echo " nnote --help | -h" + echo " get help for a note type" + echo " " + echo "nnotes requires a type: daily, monthly, yearly, or global" + exit 1 +fi + +if [ "${2-}" == "--help" ] || [ "${2-}" == "-h" ]; then + echo "usage: nnotes $NOTETYPE" + echo " open $EDITOR (\$EDITOR) in \$NOTESDIR/$DATESTRING" + echo " default \$NOTESDIR is ~/Notes" + echo " yours is ${NOTESDIR-$HOME/Notes}" +else + NOTESDIR="${NOTESDIR:-$HOME/Notes}" + DATEDIR="$NOTESDIR/$DATESTRING" + mkdir -p "$DATEDIR" + echo "$DATEDIR" + pushd "$NOTESDIR" > /dev/null + printf "\033]2;$NOTETYPE note\a" + $EDITOR + printf "\033]2;\a" + popd > /dev/null +fi diff --git a/ynotes b/ynotes new file mode 100755 index 0000000..160c223 --- /dev/null +++ b/ynotes @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +set -euo pipefail +if [ -f "$(which nnotes)" ]; then + NNOTES="$(which nnotes)" +else + NOTEBIN="$( dirname -- "$( readlink -f -- "$0"; )"; )" + NNOTES="$NOTEBIN/nnotes" +fi + +$NNOTES yearly "$*" +