aboutsummaryrefslogtreecommitdiff
path: root/scripts/logger.sh
blob: 0598c03af3b4f47f76e600378a683811d558a573 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/env sh

set -e -o pipefail

logger_path="$HOME/nixos/extras/notes/logger"

journal() {
  capture_and_edit_date_log journal << EOF
* $(date +%r)
New entry
EOF
}

record() {
  capture_and_edit_date_log record << EOF
* $(date +%r)
** Situation
-
** Thoughts
-
** Feelings
-
** Actions
-
EOF
}

link() { capture_link "$@"; }

capture_and_edit_date_log() {
  path="${logger_path}/$1/$(date +%F).org";
  mkdir -p "${logger_path}/$1";
  cat >> "$path";
  echo -e "" >> "$path";
  edit "$path";
}

capture_link() {
  [ $# -gt 0 ] || (echo "Please specify link to capture"; exit 1)
  link="$1"
  category="${2:-default}"
  mkdir -p "${logger_path}/links";
  path="${logger_path}/links/$category.org";
  echo "[[$link]]" >> "$path";
  notify-send "Captured $link in $category"
}

edit() {
  setsid -f sh -c "exec ${EDITOR:-"${VISUAL:-kak}"} $@";
}

mkdir -p "$logger_path";
cmd="$1"; shift 1;
case "$cmd" in
  journal) journal ;;
  record) record ;;
  link) link "$@" ;;
esac