From cdcadef1d650246f05553a67b600e1a67c224958 Mon Sep 17 00:00:00 2001 From: Alextopher Date: Tue, 15 Oct 2024 10:03:46 -0400 Subject: [PATCH] simplify sed operations --- Dockerfile | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index b7e20dd..c2c1b5b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,20 +10,18 @@ COPY . . # Hugo base url ARG HUGO_BASEURL="https://tvhsfrc.org" -RUN HUGO_BASEURL=$HUGO_BASEURL hugo --environment production - -RUN find public -type f -name "*.html" -exec sed -i "s|src=.*/img/dragons.png|src=\"/img/dragons.png|g" {} \; -RUN find public -type f -name "*.html" -exec sed -i "s|src=.*/img/logo.png|src=\"/img/logo.png|g" {} \; -RUN find public -type f -name "*.html" -exec sed -i "s|class=\"logo-link\" href=\".*\"|class=\"logo-link\" href=\"$HUGO_BASEURL\"|g" {} \; -RUN find public -type f -name "*.html" -exec sed -i "s|href=.*/support|href=\"$HUGO_BASEURL/support|g" {} \; - -RUN find public -type f -name "*.html" -exec sed -i "s|src=\"/img|src=\"$HUGO_BASEURL/img|g" {} \; -RUN find public -type f -name "*.html" -exec sed -i "s|href=\"/css|href=\"$HUGO_BASEURL/css|g" {} \; -RUN find public -type f -name "*.html" -exec sed -i "s|src=\"/js|src=\"$HUGO_BASEURL/js|g" {} \; -RUN find public -type f -name "*.html" -exec sed -i "s|href=\"/fonts|href=\"$HUGO_BASEURL/fonts|g" {} \; - -RUN find public -type f -name "*.css" -exec sed -i "s|url(/img|url($HUGO_BASEURL/img|g" {} \; -RUN find public -type f -name "*.css" -exec sed -i "s|url(/fonts|url($HUGO_BASEURL/fonts|g" {} \; +RUN hugo --environment production + +# Remove BaseURL from all hrefs, srcs, and urls. Making the site uniformly relative. +RUN find public -type f -name "*.html" -exec sed -i "s|$HUGO_BASEURL||g" {} \; +# Remove the BaseURL path from all hrefs, srcs, and urls. Making the site uniformly relative. +RUN BASEPATH=$(echo "$HUGO_BASEURL" | sed 's|https://[^/]*||') && \ + find public -type f -name "*.html" -exec sed -i "s|$BASEPATH||g" {} \; + +# Add back the BaseURL to all hrefs, srcs, and urls +RUN find public -type f -name "*.html" -exec sed -i "s|href=\"/|href=\"$HUGO_BASEURL/|g" {} \; +RUN find public -type f -name "*.html" -exec sed -i "s|src=\"/|src=\"$HUGO_BASEURL/|g" {} \; +RUN find public -type f -name "*.html" -exec sed -i "s|url(/|url($HUGO_BASEURL/|g" {} \; FROM nginx:alpine