Skip to content

Commit 0a94965

Browse files
fix: scan all config files and read musicConfig from its own file
After siteConfig.ts was split into 18 separate config files, the font text collector only scanned siteConfig.ts and the music config parser matched musicPlayerConfig inside siteConfig.ts, causing CJK characters from navBarConfig, profileConfig, announcementConfig, footerConfig, etc. to be missing from the font subset, and Meting playlist fetching to silently fail. - text-collector: recursively scan all .ts/.js files under src/config/ - config-parser: read musicPlayerConfig directly from src/config/musicConfig.ts
1 parent 82b7738 commit 0a94965

2 files changed

Lines changed: 17 additions & 8 deletions

File tree

scripts/compress-fonts/config-parser.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,10 +99,12 @@ export function getBangumiUserId() {
9999
}
100100

101101
/**
102-
* 获取音乐播放器配置
102+
* 获取音乐播放器配置(从 musicConfig.ts 读取)
103103
*/
104104
export function getMusicConfig() {
105-
const content = readSiteConfig();
105+
const configPath = path.join(ROOT_DIR, "src/config/musicConfig.ts");
106+
if (!fs.existsSync(configPath)) return null;
107+
const content = fs.readFileSync(configPath, "utf-8");
106108

107109
const enableMatch = content.match(
108110
/musicPlayerConfig:\s*MusicPlayerConfig\s*=\s*\{[\s\S]*?enable:\s*(true|false)/,
@@ -112,7 +114,7 @@ export function getMusicConfig() {
112114
}
113115

114116
const configMatch = content.match(
115-
/musicPlayerConfig:\s*MusicPlayerConfig\s*=\s*\{([\s\S]*?)\}/,
117+
/musicPlayerConfig:\s*MusicPlayerConfig\s*=\s*\{([\s\S]*?)\};/,
116118
);
117119
if (!configMatch) return null;
118120

scripts/compress-fonts/text-collector.js

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,20 @@ function collectFromMusicConstants(textSet) {
5757
}
5858

5959
/**
60-
* 从 siteConfig.ts 提取字符串
60+
* 从 src/config/ 目录下所有配置文件提取字符串
61+
* 配置已拆分为多个文件(siteConfig、navBarConfig、profileConfig、musicConfig 等),需全部扫描
6162
*/
6263
function collectFromConfig(textSet) {
63-
const filePath = path.join(ROOT_DIR, "src/config/siteConfig.ts");
64-
if (!fs.existsSync(filePath)) return;
65-
const content = fs.readFileSync(filePath, "utf-8");
66-
extractStringsToSet(content, textSet);
64+
const configDir = path.join(ROOT_DIR, "src/config");
65+
if (!fs.existsSync(configDir)) return;
66+
67+
const files = readFilesRecursively(configDir);
68+
for (const file of files) {
69+
if (file.endsWith(".ts") || file.endsWith(".js")) {
70+
const content = fs.readFileSync(file, "utf-8");
71+
extractStringsToSet(content, textSet);
72+
}
73+
}
6774
}
6875

6976
/**

0 commit comments

Comments
 (0)