@@ -3,6 +3,7 @@ use std::fmt::Write;
3
3
use std:: fs:: { self , File } ;
4
4
use std:: io:: prelude:: * ;
5
5
use std:: io:: { self , BufReader } ;
6
+ use std:: lazy:: SyncLazy as Lazy ;
6
7
use std:: path:: { Component , Path , PathBuf } ;
7
8
8
9
use itertools:: Itertools ;
@@ -18,6 +19,26 @@ use crate::error::Error;
18
19
use crate :: formats:: FormatRenderer ;
19
20
use crate :: html:: { layout, static_files} ;
20
21
22
+ crate static FILES_UNVERSIONED : Lazy < FxHashMap < & str , & [ u8 ] > > = Lazy :: new ( || {
23
+ map ! {
24
+ "FiraSans-Regular.woff2" => static_files:: fira_sans:: REGULAR2 ,
25
+ "FiraSans-Medium.woff2" => static_files:: fira_sans:: MEDIUM2 ,
26
+ "FiraSans-Regular.woff" => static_files:: fira_sans:: REGULAR ,
27
+ "FiraSans-Medium.woff" => static_files:: fira_sans:: MEDIUM ,
28
+ "FiraSans-LICENSE.txt" => static_files:: fira_sans:: LICENSE ,
29
+ "SourceSerifPro-Regular.ttf.woff" => static_files:: source_serif_pro:: REGULAR ,
30
+ "SourceSerifPro-Bold.ttf.woff" => static_files:: source_serif_pro:: BOLD ,
31
+ "SourceSerifPro-It.ttf.woff" => static_files:: source_serif_pro:: ITALIC ,
32
+ "SourceSerifPro-LICENSE.md" => static_files:: source_serif_pro:: LICENSE ,
33
+ "SourceCodePro-Regular.woff" => static_files:: source_code_pro:: REGULAR ,
34
+ "SourceCodePro-Semibold.woff" => static_files:: source_code_pro:: SEMIBOLD ,
35
+ "SourceCodePro-LICENSE.txt" => static_files:: source_code_pro:: LICENSE ,
36
+ "LICENSE-MIT.txt" => static_files:: LICENSE_MIT ,
37
+ "LICENSE-APACHE.txt" => static_files:: LICENSE_APACHE ,
38
+ "COPYRIGHT.txt" => static_files:: COPYRIGHT ,
39
+ }
40
+ } ) ;
41
+
21
42
pub ( super ) fn write_shared (
22
43
cx : & Context < ' _ > ,
23
44
krate : & Crate ,
@@ -212,21 +233,9 @@ themePicker.onblur = handleThemeButtonsBlur;
212
233
static_files:: NORMALIZE_CSS ,
213
234
options. enable_minification ,
214
235
) ?;
215
- write ( cx. dst . join ( "FiraSans-Regular.woff2" ) , static_files:: fira_sans:: REGULAR2 ) ?;
216
- write ( cx. dst . join ( "FiraSans-Medium.woff2" ) , static_files:: fira_sans:: MEDIUM2 ) ?;
217
- write ( cx. dst . join ( "FiraSans-Regular.woff" ) , static_files:: fira_sans:: REGULAR ) ?;
218
- write ( cx. dst . join ( "FiraSans-Medium.woff" ) , static_files:: fira_sans:: MEDIUM ) ?;
219
- write ( cx. dst . join ( "FiraSans-LICENSE.txt" ) , static_files:: fira_sans:: LICENSE ) ?;
220
- write ( cx. dst . join ( "SourceSerifPro-Regular.ttf.woff" ) , static_files:: source_serif_pro:: REGULAR ) ?;
221
- write ( cx. dst . join ( "SourceSerifPro-Bold.ttf.woff" ) , static_files:: source_serif_pro:: BOLD ) ?;
222
- write ( cx. dst . join ( "SourceSerifPro-It.ttf.woff" ) , static_files:: source_serif_pro:: ITALIC ) ?;
223
- write ( cx. dst . join ( "SourceSerifPro-LICENSE.md" ) , static_files:: source_serif_pro:: LICENSE ) ?;
224
- write ( cx. dst . join ( "SourceCodePro-Regular.woff" ) , static_files:: source_code_pro:: REGULAR ) ?;
225
- write ( cx. dst . join ( "SourceCodePro-Semibold.woff" ) , static_files:: source_code_pro:: SEMIBOLD ) ?;
226
- write ( cx. dst . join ( "SourceCodePro-LICENSE.txt" ) , static_files:: source_code_pro:: LICENSE ) ?;
227
- write ( cx. dst . join ( "LICENSE-MIT.txt" ) , static_files:: LICENSE_MIT ) ?;
228
- write ( cx. dst . join ( "LICENSE-APACHE.txt" ) , static_files:: LICENSE_APACHE ) ?;
229
- write ( cx. dst . join ( "COPYRIGHT.txt" ) , static_files:: COPYRIGHT ) ?;
236
+ for ( file, contents) in & * FILES_UNVERSIONED {
237
+ write ( cx. dst . join ( file) , contents) ?;
238
+ }
230
239
231
240
fn collect ( path : & Path , krate : & str , key : & str ) -> io:: Result < ( Vec < String > , Vec < String > ) > {
232
241
let mut ret = Vec :: new ( ) ;
0 commit comments