@@ -43,21 +43,19 @@ async function main(): Promise<void> {
4343 await mkdir ( OUT_DIR , { recursive : true } ) ;
4444 await initHighlighter ( ) ;
4545
46- const fontCjk = (
47- await readFile ( path . join ( ROOT , "assets/fonts/zigcourse-cjk.ttf" ) )
48- ) . toString ( "base64" ) ;
49- const fontSans = (
50- await readFile ( path . join ( ROOT , "assets/fonts/zigcourse-sans.ttf" ) )
51- ) . toString ( "base64" ) ;
52- const fontMono = (
53- await readFile ( path . join ( ROOT , "assets/fonts/zigcourse-mono.ttf" ) )
54- ) . toString ( "base64" ) ;
55- const fontCjkBold = (
56- await readFile ( path . join ( ROOT , "assets/fonts/zigcourse-cjk-bold.ttf" ) )
57- ) . toString ( "base64" ) ;
58- const fontSansBold = (
59- await readFile ( path . join ( ROOT , "assets/fonts/zigcourse-sans-bold.ttf" ) )
60- ) . toString ( "base64" ) ;
46+ // 五份字体相互独立,并行读取并转 base64(顺手去掉 5 段重复的 readFile 样板)。
47+ const readFontB64 = ( name : string ) : Promise < string > =>
48+ readFile ( path . join ( ROOT , `assets/fonts/${ name } .ttf` ) ) . then ( ( b ) =>
49+ b . toString ( "base64" ) ,
50+ ) ;
51+ const [ fontCjk , fontSans , fontMono , fontCjkBold , fontSansBold ] =
52+ await Promise . all ( [
53+ readFontB64 ( "zigcourse-cjk" ) ,
54+ readFontB64 ( "zigcourse-sans" ) ,
55+ readFontB64 ( "zigcourse-mono" ) ,
56+ readFontB64 ( "zigcourse-cjk-bold" ) ,
57+ readFontB64 ( "zigcourse-sans-bold" ) ,
58+ ] ) ;
6159
6260 let nodes : FlatNode [ ] = flattenSidebar ( sidebar as DefaultTheme . SidebarItem [ ] ) ;
6361 // 仅对页面节点应用排除;分组节点保留(其下无页面会被自动跳过)。
0 commit comments