Merge pull request #1870 from PrivacyDevel/master

added script to download and serve fonts locally by default
This commit is contained in:
Kavin 2023-01-02 21:43:23 +00:00 committed by GitHub
commit 10bd1b482f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 18 additions and 4 deletions

View file

@ -24,7 +24,7 @@ jobs:
###### Repository/Build Configurations - These values can be configured to match your app requirements. ###### ###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
# For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
app_location: "/" # App source code path app_location: "/" # App source code path
app_build_command: "yarn build && sed -i 's/fonts.gstatic.com/fonts.kavin.rocks/g' dist/assets/*.css" app_build_command: "yarn build && ./localizefonts.sh"
api_location: "" # Api source code path - optional api_location: "" # Api source code path - optional
output_location: "dist" # Built app content directory - optional output_location: "dist" # Built app content directory - optional
###### End of Repository/Build Configurations ###### ###### End of Repository/Build Configurations ######

View file

@ -17,7 +17,7 @@ jobs:
with: with:
cache: "yarn" cache: "yarn"
- run: yarn install --prefer-offline - run: yarn install --prefer-offline
- run: yarn build --out-dir dist-ci && sed -i 's/fonts.gstatic.com/fonts.kavin.rocks/g' dist-ci/assets/*.css - run: yarn build --out-dir dist-ci && ./localize-fonts.sh
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v2 uses: docker/setup-qemu-action@v2
with: with:

View file

@ -17,7 +17,7 @@ jobs:
with: with:
cache: "yarn" cache: "yarn"
- run: yarn install --prefer-offline - run: yarn install --prefer-offline
- run: yarn build && sed -i 's/fonts.gstatic.com/fonts.kavin.rocks/g' dist/assets/*.css && cp dist/index.html dist/ipfs-404.html - run: yarn build && ./localizefonts.sh && cp dist/index.html dist/ipfs-404.html
- uses: aquiladev/ipfs-action@v0.3.1-alpha.2 - uses: aquiladev/ipfs-action@v0.3.1-alpha.2
id: ipfs-add id: ipfs-add
with: with:

View file

@ -2,12 +2,16 @@ FROM node:lts-alpine AS build
WORKDIR /app/ WORKDIR /app/
RUN --mount=type=cache,target=/var/cache/apk \
apk add --no-cache \
curl
COPY . . COPY . .
RUN --mount=type=cache,target=/root/.cache/yarn \ RUN --mount=type=cache,target=/root/.cache/yarn \
--mount=type=cache,target=/app/node_modules \ --mount=type=cache,target=/app/node_modules \
yarn install --prefer-offline && \ yarn install --prefer-offline && \
yarn build && sed -i 's/fonts.gstatic.com/fonts.kavin.rocks/g' dist/assets/*.css yarn build && ./localizefonts.sh
FROM nginx:alpine FROM nginx:alpine

10
localizefonts.sh Executable file
View file

@ -0,0 +1,10 @@
#!/bin/sh
base='https://fonts\.(gstatic\.com|kavin\.rocks)'
fonts=$(cat dist/assets/* | grep -Po "$base[^)]*" | sort | uniq)
for font in $fonts; do
file="dist/fonts$(echo $font | sed -E "s#$base##")"
mkdir -p "$(dirname "$file")"
curl -L "$font" -o "$file"
done
sed -Ei "s#$base#/fonts#g" dist/assets/*