mirror of
https://git.sr.ht/~seirdy/seirdy.one
synced 2024-11-23 12:52:10 +00:00
Archetypes and automation for composing notes
Create a shell script for composing a note/reply more quickly, including launching the default $EDITOR
This commit is contained in:
parent
734fc16df4
commit
be86ab3ac7
3 changed files with 69 additions and 1 deletions
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
title: "{{ replace .Name "-" " " | title }}"
|
title: "{{ .Name | humanize }}"
|
||||||
date: {{ .Date }}
|
date: {{ .Date }}
|
||||||
draft: true
|
draft: true
|
||||||
---
|
---
|
||||||
|
|
10
archetypes/reply.md
Normal file
10
archetypes/reply.md
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
title: "{{ .Name | humanize }}"
|
||||||
|
date: {{ .Date }}
|
||||||
|
replyURI: ""
|
||||||
|
replyTitle: ""
|
||||||
|
replyType: ""
|
||||||
|
replyAuthor: ""
|
||||||
|
replyAuthorURI: ""
|
||||||
|
---
|
||||||
|
|
58
scripts/bin/hugo-new-note
Executable file
58
scripts/bin/hugo-new-note
Executable file
|
@ -0,0 +1,58 @@
|
||||||
|
#!/usr/bin/env dash
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
# the name of this program
|
||||||
|
progname="$(basename "${0}")"
|
||||||
|
|
||||||
|
help_text="Usage: ${progname} [OPTION...] FILENAME
|
||||||
|
|
||||||
|
Compose a new note
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h Print this help and exit
|
||||||
|
-r Whether this note should be a reply
|
||||||
|
"
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
printf '%s' "${help_text}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# when the user passess bad args, send a msg to stderr and exit
|
||||||
|
# usage: bad_option <option> <reason>
|
||||||
|
bad_option() {
|
||||||
|
echo "${progname}: option ${1}: ${2}" >&2
|
||||||
|
usage >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
reply='0'
|
||||||
|
|
||||||
|
while getopts "hr" flags; do
|
||||||
|
case ${flags} in
|
||||||
|
h)
|
||||||
|
usage
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
r)
|
||||||
|
reply='1'
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
bad_option "${flags}" 'invalid option'
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
filename="notes/$1.md"
|
||||||
|
|
||||||
|
if [ "$reply" = '1' ]; then
|
||||||
|
hugo new --kind reply "$filename"
|
||||||
|
else
|
||||||
|
hugo new "$filename"
|
||||||
|
fi
|
||||||
|
|
||||||
|
"${EDITOR-nvim}" "content/$filename"
|
||||||
|
|
||||||
|
# vi:ft=sh
|
Loading…
Reference in a new issue