pluralized aliases

This commit is contained in:
Leonora Tindall 2024-08-31 18:37:08 -05:00
parent 58c309fe91
commit b6a29a0dca
6 changed files with 90 additions and 1 deletions

6
README
View File

@ -2,7 +2,7 @@ nnote: nora's notes
---- ----
provides a script, nnote, to quickly make notes in a simple hierarchy 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 installation
---- ----
@ -39,6 +39,10 @@ aliases are provided:
- ynote for yearly - ynote for yearly
- gnote for global - 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 you can enter different names but by default those are the note names too
the file hierarchy is very simple, for instance: the file hierarchy is very simple, for instance:
- $NOTESDIR - $NOTESDIR

11
dnotes Executable file
View File

@ -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 "$*"

11
gnotes Executable file
View File

@ -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 "$*"

11
mnotes Executable file
View File

@ -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 "$*"

41
nnotes Executable file
View File

@ -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 <type>"
echo " open $EDITOR (\$EDITOR) in the directory for \$type notes"
echo " nnote <type> --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

11
ynotes Executable file
View File

@ -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 "$*"