feat: loadYogaFromGH, use GH pages for default fonts #9
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy Assets | |
on: | |
push: | |
branches: main | |
jobs: | |
deploy-assets: | |
env: | |
GOOGLE_FONTS_API_KEY: ${{ secrets.GOOGLE_FONTS_API_KEY }} | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- name: Install Font Forge | |
run: sudo apt-get install -y fontforge; | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Setup Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
- name: Install Dependencies | |
working-directory: ./packages/fonts | |
run: npm install | |
- name: Make Dist Dir | |
working-directory: ./packages/fonts | |
run: mkdir dist | |
# Inter | |
- name: Generate Inter Light | |
working-directory: ./packages/fonts | |
run: | | |
node download.js "Inter" 300 | |
fontforge -lang=ff -c 'Open($1); SelectAll(); RemoveOverlap(); Generate($2)' font.ttf inter-light.ttf | |
npx msdf-bmfont -f json inter-light.ttf -i charset.txt -m 256,512 -o dist/inter-light -s 48 | |
- name: Generate Inter Normal | |
working-directory: ./packages/fonts | |
run: | | |
node download.js "Inter" 400 | |
fontforge -lang=ff -c 'Open($1); SelectAll(); RemoveOverlap(); Generate($2)' font.ttf inter-normal.ttf | |
npx msdf-bmfont -f json inter-normal.ttf -i charset.txt -m 256,512 -o dist/inter-normal -s 48 | |
- name: Generate Inter Medium | |
working-directory: ./packages/fonts | |
run: | | |
node download.js "Inter" 500 | |
fontforge -lang=ff -c 'Open($1); SelectAll(); RemoveOverlap(); Generate($2)' font.ttf inter-medium.ttf | |
npx msdf-bmfont -f json inter-medium.ttf -i charset.txt -m 256,512 -o dist/inter-medium -s 48 | |
- name: Generate Inter Semi Bold | |
working-directory: ./packages/fonts | |
run: | | |
node download.js "Inter" 600 | |
fontforge -lang=ff -c 'Open($1); SelectAll(); RemoveOverlap(); Generate($2)' font.ttf inter-semi-bold.ttf | |
npx msdf-bmfont -f json inter-semi-bold.ttf -i charset.txt -m 256,512 -o dist/inter-semi-bold -s 48 | |
- name: Generate Inter Bold | |
working-directory: ./packages/fonts | |
run: | | |
node download.js "Inter" 700 | |
fontforge -lang=ff -c 'Open($1); SelectAll(); RemoveOverlap(); Generate($2)' font.ttf inter-bold.ttf | |
npx msdf-bmfont -f json inter-bold.ttf -i charset.txt -m 256,512 -o dist/inter-bold -s 48 | |
- name: Convert to Webp | |
working-directory: ./packages/fonts | |
run: npx sharp --lossless -i dist/*.png -o dist/ -f webp | |
- name: Replace file png files | |
working-directory: ./packages/fonts | |
run: | | |
sed -i 's/png/webp/g' dist/*.json | |
rm dist/*.png | |
- name: Copy font files | |
run: | | |
mkdir public | |
mkdir public/fonts | |
cp ./packages/fonts/dist/* ./public/fonts | |
cp ./packages/fonts/LICENSE public/fonts/LICENSE | |
- name: Copy wasm files | |
run: | | |
mkdir public/yoga | |
npm i yoga-wasm-web | |
cp node_modules/yoga-wasm-web/dist/yoga.wasm public/yoga/yoga.wasm | |
cp ./packages/uikit/THIRD_PARTY_LICENSES public/yoga/THIRD_PARTY_LICENSES | |
- name: Add no jekyll | |
run: touch public/.nojekyll | |
- name: Deploy | |
uses: JamesIves/github-pages-deploy-action@v4 | |
with: | |
branch: gh-pages | |
folder: public |