diff --git a/.config/shell/bin/sitepath b/.config/shell/bin/sitepath index 0d22143..fc41f24 100755 --- a/.config/shell/bin/sitepath +++ b/.config/shell/bin/sitepath @@ -1,23 +1,28 @@ #!/bin/bash -# TODO: encode the url to fix things like spaces using something like https://stackoverflow.com/a/10660730/11162605 +# Requires: urlencode # if you need this, I am using dead10ck/urlencode (`cargo install urlencode`) + # usage: sitepath # usage: sitepath # usage: sitepath # usage: sitepath -- you can search with 'fd' if you put in a command +BASE_URL="https://blakenorth.net" +SITE_DIR="/home/blake/docker/blakenorth.net/site" +SEPERATOR='~' # Make this a character you don't use in filenames. It's for sed. + # account for if there is no urlencode command URLENCODE=urlencode if ! command -v urlencode > /dev/null 2>&1;then URLENCODE=cat fi # If there is no input, make the input the current directory -[ -z ${1+x} ] && 1="$(pwd)" -FILEPATH="$(([ -e "$1" ] && readlink -f "$1") || fd $@ /home/blake/docker/blakenorth.net/site)" +[ -z ${1+x} ] && set -- "$(pwd)" +FILEPATH="$( ([ -e "$1" ] && readlink -f "$1") || fd "$@")" # change all file paths into urls echo "$FILEPATH" | grep -o 'site.*' | - sed 's+^site+https://blakenorth.net+g' | - $URLENCODE # if you need this, I am using dead10ck/urlencode (cargo install urlencode) + sed "s${SEPERATOR[0]}^${SITE_DIR##*/}${SEPERATOR[0]}$BASE_URL${SEPERATOR[0]}g" | + $URLENCODE