-
-
Notifications
You must be signed in to change notification settings - Fork 143
139 lines (118 loc) · 4.83 KB
/
static.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
name: Deploy Static Files
on:
push:
branches:
- main
jobs:
deploy-static-files:
env:
GOOGLE_FONTS_API_KEY: ${{ secrets.GOOGLE_FONTS_API_KEY }}
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
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
- uses: pnpm/action-setup@v2
name: Install pnpm
with:
version: 8
run_install: true
# Fonts
- 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
pnpm 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
pnpm 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
pnpm 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
pnpm 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
pnpm 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: pnpm 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 -p public/fonts
cp ./packages/fonts/dist/* ./public/fonts
cp ./packages/fonts/LICENSE public/fonts/LICENSE
# Examples
- name: Building Examples
run: |
pnpm -r convert
pnpm -r generate
pnpm -r build
- name: Copy Examples
run: |
mkdir -p public/examples/apfel
mkdir -p public/examples/card
mkdir -p public/examples/dashboard
mkdir -p public/examples/default
mkdir -p public/examples/lucide
mkdir -p public/examples/market
mkdir -p public/examples/auth
mkdir -p public/apps/html23
cp -r ./examples/apfel/dist/* ./public/examples/apfel
cp -r ./examples/card/dist/* ./public/examples/card
cp -r ./examples/dashboard/dist/* ./public/examples/dashboard
cp -r ./examples/default/dist/* ./public/examples/default
cp -r ./examples/lucide/dist/* ./public/examples/lucide
cp -r ./examples/market/dist/* ./public/examples/market
cp -r ./examples/auth/dist/* ./public/examples/auth
cp -r ./apps/html23/redirect.html ./public/apps/html23/index.html
# Deploy to GH Pages
- name: Add no jekyll
run: touch public/.nojekyll
- name: Deploy
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: gh-pages
folder: public
# Deploy Apps to Vercel
- name: Pull Vercel Environment Information
working-directory: ./apps/html23
run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }}
- name: Build Project Artifacts
working-directory: ./apps/html23
run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }}
- name: Deploy Project Artifacts to Vercel
working-directory: ./apps/html23
run: vercel deploy --prod --prebuilt --token=${{ secrets.VERCEL_TOKEN }}