@@ -291,6 +291,8 @@ pub fn run(mut krate: clean::Crate, external_html: &ExternalHtml, dst: Path) ->
291
291
}
292
292
clean:: Word ( ref x)
293
293
if "enable_math" == x. as_slice ( ) => {
294
+ // Possible extension: allow specifying
295
+ // alternate engines etc.
294
296
cx. layout . enable_math = true ;
295
297
markdown:: enable_math. replace ( Some ( true ) ) ;
296
298
}
@@ -487,27 +489,70 @@ fn write_shared(cx: &Context,
487
489
488
490
// Add all the static files. These may already exist, but we just
489
491
// overwrite them anyway to make sure that they're fresh and up-to-date.
490
- try!( write ( cx. dst . join ( "jquery.js" ) ,
491
- include_bin ! ( "static/jquery-2.1.0.min.js" ) ) ) ;
492
- try!( write ( cx. dst . join ( "main.js" ) , include_bin ! ( "static/main.js" ) ) ) ;
493
- try!( write ( cx. dst . join ( "playpen.js" ) , include_bin ! ( "static/playpen.js" ) ) ) ;
494
- try!( write ( cx. dst . join ( "main.css" ) , include_bin ! ( "static/main.css" ) ) ) ;
495
- try!( write ( cx. dst . join ( "normalize.css" ) ,
496
- include_bin ! ( "static/normalize.css" ) ) ) ;
497
- try!( write ( cx. dst . join ( "FiraSans-Regular.woff" ) ,
498
- include_bin ! ( "static/FiraSans-Regular.woff" ) ) ) ;
499
- try!( write ( cx. dst . join ( "FiraSans-Medium.woff" ) ,
500
- include_bin ! ( "static/FiraSans-Medium.woff" ) ) ) ;
501
- try!( write ( cx. dst . join ( "Heuristica-Italic.woff" ) ,
502
- include_bin ! ( "static/Heuristica-Italic.woff" ) ) ) ;
503
- try!( write ( cx. dst . join ( "SourceSerifPro-Regular.woff" ) ,
504
- include_bin ! ( "static/SourceSerifPro-Regular.woff" ) ) ) ;
505
- try!( write ( cx. dst . join ( "SourceSerifPro-Bold.woff" ) ,
506
- include_bin ! ( "static/SourceSerifPro-Bold.woff" ) ) ) ;
507
- try!( write ( cx. dst . join ( "SourceCodePro-Regular.woff" ) ,
508
- include_bin ! ( "static/SourceCodePro-Regular.woff" ) ) ) ;
509
- try!( write ( cx. dst . join ( "SourceCodePro-Semibold.woff" ) ,
510
- include_bin ! ( "static/SourceCodePro-Semibold.woff" ) ) ) ;
492
+ macro_rules! write_files {
493
+ ( $( $input: tt => $output: tt, ) * ) => { {
494
+ $(
495
+ try!( write( cx. dst. join( $output) ,
496
+ include_bin!( $input) ) ) ;
497
+ ) *
498
+ } }
499
+ }
500
+
501
+ try!( fs:: mkdir_recursive ( & cx. dst . join ( "katex/fonts" ) , io:: UserRWX ) ) ;
502
+
503
+ write_files ! {
504
+ "static/jquery-2.1.0.min.js" => "jquery.js" ,
505
+ "static/main.js" => "main.js" ,
506
+ "static/playpen.js" => "playpen.js" ,
507
+
508
+ "static/main.css" => "main.css" ,
509
+ "static/normalize.css" => "normalize.css" ,
510
+
511
+ "static/FiraSans-Regular.woff" => "FiraSans-Regular.woff" ,
512
+ "static/FiraSans-Medium.woff" => "FiraSans-Medium.woff" ,
513
+ "static/Heuristica-Italic.woff" => "Heuristica-Italic.woff" ,
514
+ "static/SourceSerifPro-Regular.woff" => "SourceSerifPro-Regular.woff" ,
515
+ "static/SourceSerifPro-Bold.woff" => "SourceSerifPro-Bold.woff" ,
516
+ "static/SourceCodePro-Regular.woff" => "SourceCodePro-Regular.woff" ,
517
+ "static/SourceCodePro-Semibold.woff" => "SourceCodePro-Semibold.woff" ,
518
+
519
+ "static/katex/katex.min.css" => "katex/katex.min.css" ,
520
+ "static/katex/katex.min.js" => "katex/katex.min.js" ,
521
+ "static/katex/fonts/KaTeX_AMS-Regular.eot" => "katex/fonts/KaTeX_AMS-Regular.eot" ,
522
+ "static/katex/fonts/KaTeX_AMS-Regular.ttf" => "katex/fonts/KaTeX_AMS-Regular.ttf" ,
523
+ "static/katex/fonts/KaTeX_AMS-Regular.woff" => "katex/fonts/KaTeX_AMS-Regular.woff" ,
524
+ "static/katex/fonts/KaTeX_Main-Bold.eot" => "katex/fonts/KaTeX_Main-Bold.eot" ,
525
+ "static/katex/fonts/KaTeX_Main-Bold.ttf" => "katex/fonts/KaTeX_Main-Bold.ttf" ,
526
+ "static/katex/fonts/KaTeX_Main-Bold.woff" => "katex/fonts/KaTeX_Main-Bold.woff" ,
527
+ "static/katex/fonts/KaTeX_Main-Italic.eot" => "katex/fonts/KaTeX_Main-Italic.eot" ,
528
+ "static/katex/fonts/KaTeX_Main-Italic.ttf" => "katex/fonts/KaTeX_Main-Italic.ttf" ,
529
+ "static/katex/fonts/KaTeX_Main-Italic.woff" => "katex/fonts/KaTeX_Main-Italic.woff" ,
530
+ "static/katex/fonts/KaTeX_Main-Regular.eot" => "katex/fonts/KaTeX_Main-Regular.eot" ,
531
+ "static/katex/fonts/KaTeX_Main-Regular.ttf" => "katex/fonts/KaTeX_Main-Regular.ttf" ,
532
+ "static/katex/fonts/KaTeX_Main-Regular.woff" => "katex/fonts/KaTeX_Main-Regular.woff" ,
533
+ "static/katex/fonts/KaTeX_Math-BoldItalic.eot" => "katex/fonts/KaTeX_Math-BoldItalic.eot" ,
534
+ "static/katex/fonts/KaTeX_Math-BoldItalic.ttf" => "katex/fonts/KaTeX_Math-BoldItalic.ttf" ,
535
+ "static/katex/fonts/KaTeX_Math-BoldItalic.woff" => "katex/fonts/KaTeX_Math-BoldItalic.woff" ,
536
+ "static/katex/fonts/KaTeX_Math-Italic.eot" => "katex/fonts/KaTeX_Math-Italic.eot" ,
537
+ "static/katex/fonts/KaTeX_Math-Italic.ttf" => "katex/fonts/KaTeX_Math-Italic.ttf" ,
538
+ "static/katex/fonts/KaTeX_Math-Italic.woff" => "katex/fonts/KaTeX_Math-Italic.woff" ,
539
+ "static/katex/fonts/KaTeX_Math-Regular.eot" => "katex/fonts/KaTeX_Math-Regular.eot" ,
540
+ "static/katex/fonts/KaTeX_Math-Regular.ttf" => "katex/fonts/KaTeX_Math-Regular.ttf" ,
541
+ "static/katex/fonts/KaTeX_Math-Regular.woff" => "katex/fonts/KaTeX_Math-Regular.woff" ,
542
+ "static/katex/fonts/KaTeX_Size1-Regular.eot" => "katex/fonts/KaTeX_Size1-Regular.eot" ,
543
+ "static/katex/fonts/KaTeX_Size1-Regular.ttf" => "katex/fonts/KaTeX_Size1-Regular.ttf" ,
544
+ "static/katex/fonts/KaTeX_Size1-Regular.woff" => "katex/fonts/KaTeX_Size1-Regular.woff" ,
545
+ "static/katex/fonts/KaTeX_Size2-Regular.eot" => "katex/fonts/KaTeX_Size2-Regular.eot" ,
546
+ "static/katex/fonts/KaTeX_Size2-Regular.ttf" => "katex/fonts/KaTeX_Size2-Regular.ttf" ,
547
+ "static/katex/fonts/KaTeX_Size2-Regular.woff" => "katex/fonts/KaTeX_Size2-Regular.woff" ,
548
+ "static/katex/fonts/KaTeX_Size3-Regular.eot" => "katex/fonts/KaTeX_Size3-Regular.eot" ,
549
+ "static/katex/fonts/KaTeX_Size3-Regular.ttf" => "katex/fonts/KaTeX_Size3-Regular.ttf" ,
550
+ "static/katex/fonts/KaTeX_Size3-Regular.woff" => "katex/fonts/KaTeX_Size3-Regular.woff" ,
551
+ "static/katex/fonts/KaTeX_Size4-Regular.eot" => "katex/fonts/KaTeX_Size4-Regular.eot" ,
552
+ "static/katex/fonts/KaTeX_Size4-Regular.ttf" => "katex/fonts/KaTeX_Size4-Regular.ttf" ,
553
+ "static/katex/fonts/KaTeX_Size4-Regular.woff" => "katex/fonts/KaTeX_Size4-Regular.woff" ,
554
+ }
555
+
511
556
512
557
fn collect ( path : & Path , krate : & str ,
513
558
key : & str ) -> io:: IoResult < Vec < String > > {
0 commit comments