28 lines
914 B
Bash
Executable file
28 lines
914 B
Bash
Executable file
#!/bin/bash
|
|
|
|
# Requires: urlencode # if you need this, I am using dead10ck/urlencode (`cargo install urlencode`)
|
|
|
|
# usage: sitepath <path to file>
|
|
# usage: sitepath <file to find>
|
|
# usage: sitepath
|
|
# usage: sitepath <fd commands> -- 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} ] && set -- "$(pwd)"
|
|
FILEPATH="$( ([ -e "$1" ] && readlink -f "$1") || fd "$@")"
|
|
|
|
# change all file paths into urls
|
|
echo "$FILEPATH" |
|
|
grep -o 'site.*' |
|
|
sed "s${SEPERATOR[0]}^${SITE_DIR##*/}${SEPERATOR[0]}$BASE_URL${SEPERATOR[0]}g" |
|
|
$URLENCODE
|
|
|