Dotfiles, utilities, and other apparatus.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

29 lines
901 B

#!/bin/sh
# Output a vimwiki diary page template for a given diary page path
# (which is expected to be a date in YYYY-MM-DD format).
if [ ! -z "$1" ]; then
# Take the basename of the file passed in, i.e. something like
# /home/brennen/notes/vimwiki/diary/2019-01-01.wiki, slice off the extension,
# and treat it as a seed date:
date="$(basename -s .wiki "$1")"
date="$(basename -s .md "$date")"
datestamp="$(fragment-today "$date")"
else
# No filename given, nothing to work with, just use today:
datestamp="$(fragment-today)"
fi
grep_logs="$(fragment-vimwiki-grep-logs "$1")"
# -t sets date
# -A 14 is two weeks ahead
calendar_datestamp="$(date --date="$date" '+%Y-%m-%d')"
calendar="{{{exec-raw notes calendar $calendar_datestamp # calendar
}}}"
printf '= %s =\n\n%%%% exec-raw auto\n%%%% nowrap\n\n%s\n\n== calendar ==\n\n%s' \
"$datestamp" \
"$grep_logs" \
"$calendar"