Compare commits

..

No commits in common. "8890984007de8b10e6ee8ff8fffe537b3d670c03" and "39745670802042323bebb15fd7f66024f9f65263" have entirely different histories.

4 changed files with 11 additions and 41 deletions

View File

@ -1,24 +1,15 @@
#!/bin/bash #!/bin/bash
#Manages an /etc/changelog #Manages an /etc/changelog
# Immediately attempt to read from named pipe
# And store the piped content if provided
[[ -p /proc/self/fd/0 ]] && export STDIN=$( cat )
# And then force the input to be from terminal
exec 0</dev/tty
# Defining some path variables
APP_PATH=$( cd $(dirname ${BASH_SOURCE[0]}) && pwd ) APP_PATH=$( cd $(dirname ${BASH_SOURCE[0]}) && pwd )
APP_NAME=$( basename ${BASH_SOURCE[0]}) APP_NAME=$( basename ${BASH_SOURCE[0]})
CHANGELOG=/etc/changelog
# %CONFIG% This comment is used to build custom scripts # %CONFIG% This comment is used to build custom scripts
[[ -f "$APP_PATH/config.sh" ]] && source "$APP_PATH/config.sh" [[ -f "$APP_PATH/config.sh" ]] && source "$APP_PATH/config.sh"
# Sanity check on changelog file # Sanity check on changelog file
[[ -n "$CHANGELOG" ]] && CHANGELOG="/etc/Changelog"
[[ -f "$CHANGELOG" ]] && [[ ! -w "$CHANGELOG" ]] && RUN_SUDO=1 [[ -f "$CHANGELOG" ]] && [[ ! -w "$CHANGELOG" ]] && RUN_SUDO=1
[[ ! -f "$CHANGELOG" ]] && ! touch /etc/changelog &>/dev/null && RUN_SUDO=1 [[ ! -f "$CHANGELOG" ]] && ! touch /etc/changelog &>/dev/null && RUN_SUDO=1
[[ $RUN_SUDO -eq 1 ]] && { [[ $RUN_SUDO -eq 1 ]] && {
@ -31,8 +22,6 @@ APP_NAME=$( basename ${BASH_SOURCE[0]})
msg(){ echo -e "$@"; } msg(){ echo -e "$@"; }
panic(){ msg "${@} Exiting."; exit 1;} panic(){ msg "${@} Exiting."; exit 1;}
ENTRY_FILE=$(mktemp) ENTRY_FILE=$(mktemp)
# This is the main function
change(){ change(){
TMP="$1" TMP="$1"
while true ; do while true ; do
@ -59,6 +48,9 @@ change(){
read -e -i "n" -p "Another section? [yN]:" END read -e -i "n" -p "Another section? [yN]:" END
[[ "${END^^}" == "N" ]] && break [[ "${END^^}" == "N" ]] && break
done done
echo -e "\nHere is the content you are about to add.\n\n$(cat $TMP)\n"
read -e -p "OK? [Yn]: " -i y RETURN
[[ "N" == ${RETURN^^} ]] && return 1
} }
template(){ template(){
@ -120,21 +112,11 @@ echo -e "\nWelcome to Serious Changelogs Inc. Do you have something for me?\n"
# check changelog exists # check changelog exists
[[ ! -f "$CHANGELOG" ]] && template "* Changelog: Added $CHANGELOG file\nIt was not serious. Fixed!\n\n" > "$CHANGELOG" [[ ! -f "$CHANGELOG" ]] && template "* Changelog: Added $CHANGELOG file\nIt was not serious. Fixed!\n\n" > "$CHANGELOG"
# Detect piped content # parse command
if [[ -n "$STDIN" ]] ; then
echo -e "$STDIN" > $ENTRY_FILE
#OR enter interactive mode
else
change "$ENTRY_FILE" change "$ENTRY_FILE"
fi
# confirm the output [[ $? -eq 0 ]] && exit
echo -e "\nHere is the content you are about to add:\n\n$(cat $ENTRY_FILE)\n"
read -e -p "OK? [Yn]: " -i y RETURN
[[ "N" == ${RETURN^^} ]] && exit 1
# Send data to outputs
for (( i=0; i<${#PLUGIN_OUTPUT_MENU[@]}; i++)) ; do for (( i=0; i<${#PLUGIN_OUTPUT_MENU[@]}; i++)) ; do
echo "${PLUGIN_OUTPUT_MENU[$i]}" echo "${PLUGIN_OUTPUT_MENU[$i]}"
${PLUGIN_OUTPUT[$i]} $ENTRY_FILE ${PLUGIN_OUTPUT[$i]} $ENTRY_FILE

View File

@ -1,4 +1,3 @@
CHANGELOG=/etc/Changelog
CHANGELOG_SERVER=https://changelog.example.com CHANGELOG_SERVER=https://changelog.example.com
CHANGELOG_AUTH_KEY=your-shared-secret CHANGELOG_AUTH_KEY=your-shared-secret
HASTEBIN_SERVER=https://hastebin.com HASTEBIN_SERVER=https://hastebin.com

View File

@ -1,11 +0,0 @@
#!/bin/bash
# Add a content line by decorating the input with triple backticks ```
PLUGIN_CONTENT+=( hookContentCmd )
hookContentCmd(){
[[ -z "$1" ]] && echo "Add a shell command line" && return
TMP="$1"
read -e -p "Command line? " CMD
[[ -z "$CMD" ]] && panic "Not a valid content" && return
echo "\`\`\`$CMD\`\`\`" >> $TMP
}

View File

@ -1,15 +1,15 @@
#!/bin/bash #!/bin/bash
# Adds a line by sending a file to a hastebin server # Sends the changelog information to a changelog server
# and then print a "/a/file/name https://haste.bin/urlurlurl" line # see https://git.interhacker.space/alban/changelog-server
# Requires an environmental variable to work # Requires an environmental variable to work
# example HASTEBIN_SERVER=https://paste.interhacker.space # ex: HASTEBIN_SERVER=https://paste.interhacker.space
PLUGIN_CONTENT+=( hookContentHastebin ) PLUGIN_CONTENT+=( hookContentHastebin )
hookContentHastebin(){ hookContentHastebin(){
[[ -z "$1" ]] && echo "Store a file by name in pastebin" && return [[ -z "$1" ]] && echo "Store a file by name in pastebin" && return
[[ -z "$HASTEBIN_SERVER" ]] && echo "Missing HASTEBIN_SERVER variable. Exiting." && return [[ -z "$HASTEBIN_SERVER" ]] && echo "Missing HASTEBIN_SERVER variable. Exiting." && return
TMP="$1" TMP="$1"
read -e -p "File location? " FILE read -e -p "File location? " FILE
[[ ! -f $FILE ]] && panic "Not a valid file" && return [[ ! -f $FILE ]] && panic "Not a valid file" && exit
URL=$( curl -X POST -s -d "$(cat "$FILE" )" "$HASTEBIN_SERVER/documents" | awk -F '"' '{print "'$HASTEBIN_SERVER'/raw/"$4}'; ) URL=$( curl -X POST -s -d "$(cat "$FILE" )" "$HASTEBIN_SERVER/documents" | awk -F '"' '{print "'$HASTEBIN_SERVER'/raw/"$4}'; )
echo "$FILE: $URL" >> $TMP echo "$FILE: $URL" >> $TMP
} }