Skip to content

Commit 83cbb47

Browse files
refactor: split monolithic compress-fonts.js into modular architecture
Split 1347-line script into 6 focused modules under scripts/compress-fonts/: - utils.js: shared file traversal, string extraction, markdown parsing - config-parser.js: single-read siteConfig.ts parser with cached results - text-collector.js: unified text collection from 8 sources - font-compressor.js: Fontmin subsetting + ttf-to-woff2 conversion - css-rewriter.js: dist/ CSS font reference rewriting - index.js: entry point Key improvements: - siteConfig.ts read once (was 5+ times) - String extraction code deduplicated (was 4 copies, now 1 function) - Config parsing centralized with dedicated getter functions
1 parent 599dd3e commit 83cbb47

8 files changed

Lines changed: 1112 additions & 1348 deletions

File tree

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"update-anime": "node scripts/update-anime.mjs",
1414
"update-bangumi": "node scripts/update-bangumi.mjs",
1515
"update-bilibili": "node scripts/update-bilibili.mjs",
16-
"build": "node scripts/update-anime.mjs && astro build && pagefind --site dist && node scripts/compress-fonts.js",
16+
"build": "node scripts/update-anime.mjs && astro build && pagefind --site dist && node scripts/compress-fonts/index.js",
1717
"submit": "node scripts/indexnow-submit.js",
1818
"preview": "astro preview",
1919
"astro": "astro",
@@ -22,7 +22,7 @@
2222
"format": "prettier --write ./src",
2323
"lint": "eslint ./src --fix",
2424
"preinstall": "npx only-allow pnpm",
25-
"compress-fonts": "node scripts/compress-fonts.js"
25+
"compress-fonts": "node scripts/compress-fonts/index.js"
2626
},
2727
"dependencies": {
2828
"@astrojs/check": "^0.9.9",

0 commit comments

Comments
 (0)