From 49bfdd1132c9f8fdf74625c92d88aa7cf0898ef7 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Sun, 6 Apr 2025 13:30:46 -0300 Subject: src/bin/pb: Add initial version --- src/bin/pb | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100755 src/bin/pb diff --git a/src/bin/pb b/src/bin/pb new file mode 100755 index 0000000..ed88c62 --- /dev/null +++ b/src/bin/pb @@ -0,0 +1,60 @@ +#!/bin/sh +set -eu + +usage() { + cat <<-'EOF' + Usage: pb FILENAME.adoc [CONTENT] + EOF +} + + +TITLE=FIXME +while getopts 't:' flag; do + case "$flag" in + (t) + TITLE="$OPTARG" + ;; + (*) + usage >&2 + exit 2 + ;; + esac +done +shift $((OPTIND - 1)) + + +FILENAME="${1:-}" +SOURCE="${2:-}" +eval "$(assert-arg -- "$FILENAME" 'FILENAME')" +FILENAME="${FILENAME%.adoc}.adoc" + +cd "$(dirname "$(readlink -f -- "$0")")"/../../ + +DIR=src/content/pastebins/"$(timestamp | sed 's|-|/|g')" +OUT="$DIR"/"$FILENAME" + +if [ -e "$OUT" ]; then + printf '"%s" already exists.\n' "$OUT" >&2 + exit 2 +fi + +if [ -n "$SOURCE" ]; then + CONTENT="$(cat "$SOURCE")" +else + if [ -t 0 ]; then + CONTENT='FIXME' + else + printf 'Reading from STDIN...\n' >&2 + CONTENT="$(cat)" + exec 0 "$OUT" +${VISUAL:-${EDITOR:-vi}} "$OUT" + +sh mkdeps.sh > deps.mk +git reset . +git add "$OUT" deps.mk +git commit -m "pb(1): Auto-add \"$OUT\"" -- cgit v1.2.3