From c90517676c459b2c39a3aa4d5e393d177c406870 Mon Sep 17 00:00:00 2001 From: terrantechpriest Date: Fri, 26 Jul 2024 01:32:48 +0000 Subject: [PATCH] added loggit --- loggit | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 loggit diff --git a/loggit b/loggit new file mode 100644 index 0000000..4418d27 --- /dev/null +++ b/loggit @@ -0,0 +1,41 @@ +#!/usr/bin/env sh +# Create a Log text file at a specific location and append text entries to it. +# +# Usage: +# $ loggit something you want to jot down (appends that text to the file) +# $ xclip -o | loggit (appends your clipboard to the file) +# $ loggit (opens the file in your editor) +# +# Produces: +# Log.txt in your $NOTES_DIRECTORY (this is set below). + +set -e + +readonly NOTES_DIRECTORY="${NOTES_DIRECTORY:-${HOME}/loggit}" +readonly NOTES_EDITOR="${EDITOR:-nano}" + +readonly NOTES_FILE="$Log.txt" +readonly NOTES_PATH="${NOTES_DIRECTORY}/${NOTES_FILE}" + +if [ ! -d "${NOTES_DIRECTORY}" ]; then + while true; do + printf "%s does not exist, do you want to create it? (y/n) " "${NOTES_DIRECTORY}" + read -r yn + + case "${yn}" in + [Yy]* ) mkdir -p "${NOTES_DIRECTORY}"; break;; + [Nn]* ) exit;; + * ) printf "Please answer y or n\n\n";; + esac + done +fi + +if [ ${#} -eq 0 ]; then + if [ -p "/dev/stdin" ]; then + (cat; printf "\n\n") >> "${NOTES_PATH}" + else + eval "${NOTES_EDITOR}" "${NOTES_PATH}" + fi +else + printf "%s\n\n" "${*}" >> "${NOTES_PATH}" +fi \ No newline at end of file