Add new adhoc draft script
[khome.git] / home / bin / draft
CommitLineData
ab32f98a
SK
1#! /bin/bash
2
3set -euo pipefail
4
5bar() {
6 local -r len="${1:-80}" # 1st arg or 80.
7 local -r char="${2:--}" # 2nd arg or a dash.
8
9 seq -s "$char" "$len" | sed -E 's/[0-9]+//g'
10}
11
12main() {
13 local -r title_given='Untitled'
14 local -r title_lower=$(echo "$title_given" | tr '[:upper:]' '[:lower:]')
15 local -r title_lower_dashed=$(echo "$title_lower" | sed 's/\s\+/-/g')
16 local -r base="${HOME}/doc/drafts/adhoc"
17 local -r timestamp="$(date --iso-8601=ns)"
18 local -r file="${base}/${timestamp}--${title_lower_dashed}.md"
19
20 mkdir -p "$base"
21 if [[ ! -a "$file" ]]
22 then
23 touch "$file"
24 {
25 echo "$title_given"
26 bar 80 '='
27 echo "started: $timestamp"
28 printf '\n\n'
29 } > "$file"
30 fi
31 echo "$file"
32}
33
34main "$@"
This page took 0.028654 seconds and 4 git commands to generate.