justfiles for automating various tasks on my workstation
1# New blog entry 2[group('blogging')] 3newblog slug: 4 #!/usr/bin/env bash 5 BLOG_DIR="${HOME}/repos/tildegit.org/hyperreal/hyperreal.coffee" 6 FILENAME_DATE=$(date '+%Y-%m-%d') 7 POST_DATE=$(date '+%Y-%m-%d %H:%M:%S') 8 FILENAME="${FILENAME_DATE}-{{ slug }}.md" 9 cat <<EOF >"${BLOG_DIR}/content/posts/${FILENAME}" 10 +++ 11 title = '' 12 date = $POST_DATE 13 tags = [] 14 +++ 15 16 EOF 17 nvim "${BLOG_DIR}/content/posts/${FILENAME}" 18 19# New feelslog entry 20[group('blogging')] 21newfeels tags: 22 #!/usr/bin/env bash 23 DATE=$(date '+%Y-%m-%d') 24 TAGS="$@" 25 FEELSDIR="${HOME}/nextcloud/sites/feels.hyperreal.coffee" 26 PREV_ENTRY=$(find "$FEELSDIR/src" -name "*.md" -exec basename {} \; | sort | tail -1 | cut -c 18-21) 27 NEXT_ENTRY="00$(echo "$PREV_ENTRY" + "1" | bc)" 28 NEXT_ENTRY_FILENAME="${FEELSDIR}/src/${DATE}-entry-${NEXT_ENTRY}.md" 29 URL="$(echo "$DATE" | tr "-" "/")/entry-${NEXT_ENTRY}/" 30 cat <<EOF >"$NEXT_ENTRY_FILENAME" 31 --- 32 title: Entry $NEXT_ENTRY 33 date: $(date '+%Y-%m-%d %H:%M:%S %z') 34 tags: $(echo "${TAGS// /, }") 35 slug: entry-$NEXT_ENTRY 36 --- 37 38 EOF 39 nvim "$NEXT_ENTRY_FILENAME" 40 echo "URL: https://feels.hyperreal.coffee/${URL}" 41 42# Publish feelslog 43[group('blogging')] 44publish-feels: 45 #!/usr/bin/env bash 46 set -euo pipefail 47 BSSG_DIR="${HOME}/repos/brew.bsd.cafe/stefano/BSSG" 48 if [ ! -d "$BSSG_DIR" ]; then 49 mkdir -p "${HOME}/repos/brew.bsd.cafe/stefano" 50 git clone https://brew.bsd.cafe/stefano/BSSG.git "$BSSG_DIR" 51 fi 52 FEELS_CONFIG="${HOME}/nextcloud/sites/feels.hyperreal.coffee/config.sh.local" 53 OUTPUT_DIR="${HOME}/nextcloud/sites/feels.hyperreal.coffee/output" 54 SITE_URL="https://feels.hyperreal.coffee" 55 REMOTE_USER="jas" 56 REMOTE_HOST="hyperreal.carp-wyvern.ts.net" 57 REMOTE_PATH="/home/jas/public/feels" 58 cd "$BSSG_DIR" 59 "${BSSG_DIR}/bssg.sh" build --config "$FEELS_CONFIG" 60 rsync -az --delete "$OUTPUT_DIR"/ "${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_PATH}" 61 echo 62 echo "Site deployed successfully" 63 64# vim: ts=4 sts=4 sw=4 et ft=just