aboutsummaryrefslogtreecommitdiff
path: root/src/config/files/shell/bashrc.d/30-functions.sh
blob: 0ddaaff079266e3454eadad30c4108a5a4b0a7bd (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
#!/bin/bash

get_date() {
  date +'%Y-%m-%d'
}

note() {
  if [ -f "$HOME/Notes/general/$(get_date).md" ]; then
    vi "$HOME/Notes/general/$(get_date).md"
  else
    cp "$HOME/Notes/templates/daily.md" "$HOME/Notes/general/$(get_date).md"
    vi "$HOME/Notes/general/$(get_date).md"
  fi
}

notebook() {
  NEW=0
  NOTEBOOK=$1
  while getopts 'ln:' flag; do
    case "${flag}" in
      l) ls -1 ~/Notes
         return 0
         ;;
      n) NEW=1
        NOTEBOOK=${OPTARG}
        ;;
      *) echo "Invalid flag!" && return 1 ;;
    esac
  done
  if [[ $NEW == 1 && -z "$NOTEBOOK" ]]; then
    echo "No notebook name passed!"
    return 1
  fi
  if [[ $NEW == 1 ]]; then
    mkdir -p $HOME/Notes/$NOTEBOOK
  fi
  if [[ -z "$NOTEBOOK" ]]; then
    pushd $HOME/Notes
    vi $(find . -type f)
    popd
  elif [[ ! -z "$NOTEBOOK" ]]; then
    if [[ ! -d "${HOME}/Notes/${NOTEBOOK}" ]]; then
      echo "No notebook called "$NOTEBOOK"!"
    else
      pushd $HOME/Notes/$NOTEBOOK
      vi $(find . -type f)
      popd
    fi
  fi
}