You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
#!/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 "
|
|
|
|
${LRED}Jonathan Hodgson${NC}
|
|
|
|
|
|
|
|
${RED}CONTACT${NC}
|
|
|
|
${ORANGE}Email: ${GREEN}jonathan@jonathanh.co.uk${NC}
|
|
|
|
${ORANGE}Dotfiles: ${GREEN}https://jn.hn/dots/${NC}
|
|
|
|
${ORANGE}Blog: ${GREEN}https://jn.hn${NC}
|
|
|
|
|
|
|
|
${RED}Public Keys${NC}
|
|
|
|
${ORANGE}Primary ECC: ${GREEN}https://jn.hn/pubkey/${NC}
|
|
|
|
${ORANGE}Secondary RSA: ${GREEN}https://jn.hn/pubkey-rsa/${NC}
|
|
|
|
" | drawInBox
|
|
|
|
|