From da22d12c3229b7550314d140a92c80cef818c6dd Mon Sep 17 00:00:00 2001 From: Jonathan Hodgson Date: Fri, 22 May 2020 23:33:46 +0100 Subject: [PATCH] Adds a needlessly over-engineerd buisness card --- content/card.curl | 49 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 content/card.curl diff --git a/content/card.curl b/content/card.curl new file mode 100755 index 0000000..3173915 --- /dev/null +++ b/content/card.curl @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + + +RED='\033[0;31m' +LRED='\033[1;31m' +YELLOW='\033[1;33m' +GREEN='\033[0;32m' +LGREEN='\033[1;32m' +LBLUE='\033[1;34m' +CYAN='\033[0;36m' +LCYAN='\033[1;36m' +ORANGE='\033[0;33m' +LGREY='\033[0;37m' +WHITE='\033[1;37m' +NC='\033[0m' # No Color + +stripAnsi(){ + sed -r "s/\x1B\[([0-9]{1,3}(;[0-9]{1,2})?)?[mGK]//g" +} + +drawInBox(){ + innerWidth="45" + echo -en "${LBLUE}╭" + head -c $innerWidth /dev/zero | tr '\0' '-' + echo -e "╮${NC}" + while IFS= read -r line; do + # The ansi characters mess up the string length so we need to strip them to calculate the width + stripped="$(echo -n "$line" | stripAnsi)" + leftPad=$(( ( innerWidth - ${#stripped} ) / 2)) + rightPad=$(( ( innerWidth - leftPad ) - ${#stripped} )) + echo -en "${LBLUE}|${NC}" + head -c $leftPad /dev/zero | tr '\0' ' ' + echo -n "$line" + head -c $rightPad /dev/zero | tr '\0' ' ' + echo -e "${LBLUE}|${NC}" + done + echo -en "${LBLUE}╰" + head -c $innerWidth /dev/zero | tr '\0' '-' + echo -e "╯${NC}" +} + +echo -e " +${RED}Jonathan Hodgson${NC} + +${ORANGE}Email: ${GREEN}jonathan@jonathanh.co.uk${NC} +${ORANGE}Website: ${GREEN}https://jonathanh.co.uk${NC} +${ORANGE}GitRepos: ${GREEN}https://git.jonathanh.co.uk${NC} +" | drawInBox +