server/configs/nginx-chbase.sh

34 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
[ -f "/base_changed" ] && exit 0
[ -z "${FIC_BASEURL}" ] && exit 0
[ -z "${PATH_STATIC}" ] && { >&2 echo "PATH_STATIC not defined"; exit 1; }
[ -n "${CURRENT_BASE}" ] || CURRENT_BASE="/"
run() {
local NEWBASE=$1
local FILE=$2
if [ -d "${FILE}" ]
then
for f in "${FILE}/"*
do
case "${f}" in
"${FILE}/"*.html|"${FILE}/"*.js|"${FILE}/"*.css)
run "${NEWBASE}" "${f}";;
*)
[ -d "${f}" ] && run "${NEWBASE}" "${f}";;
esac
done
elif [ -f "${FILE}" ]
then
sed -ri "s@(href|src)=\"${CURRENT_BASE}@\1=\"${NEWBASE}@g;s@\\\$http.get\(\"${CURRENT_BASE}@\$http.get\(\"${NEWBASE}@g;s@\\\$http\((.*)\"${CURRENT_BASE}@\$http(\1\"${NEWBASE}@g;s@\"${CURRENT_BASE}_app/immutable/@\"${NEWBASE}_app/immutable/@g;s@^(\s+)paths: \{\"base\":\s*\"[^\"]*\",\"assets\":\s*\"[^\"]*\"\},\$@\1paths: {\"base\":\"${NEWBASE%/}\",\"assets\":\"${NEWBASE%/}\"},@;s@url\(${CURRENT_BASE}_app/immutable/@url(${NEWBASE}_app/immutable/@g" ${FILE}
fi
}
run "${FIC_BASEURL}" "${PATH_STATIC}"
touch "/base_changed"
exit 0