@@ -45,9 +45,14 @@ fn main() {
4545 println ! ( "cargo:rerun-if-changed=build.rs" ) ;
4646 println ! ( "cargo:rustc-check-cfg=cfg(docsrs)" ) ;
4747
48- let manifest_dir = PathBuf :: from ( env:: var ( "CARGO_MANIFEST_DIR" ) . unwrap ( ) ) ;
49- let asset_dir = manifest_dir. join ( "assets/generated/arborium-themes" ) ;
50- fs:: create_dir_all ( & asset_dir) . unwrap ( ) ;
48+ let asset_dir = if env:: var_os ( "DOCS_RS" ) . is_some ( ) {
49+ None
50+ } else {
51+ let manifest_dir = PathBuf :: from ( env:: var ( "CARGO_MANIFEST_DIR" ) . unwrap ( ) ) ;
52+ let asset_dir = manifest_dir. join ( "assets/generated/arborium-themes" ) ;
53+ fs:: create_dir_all ( & asset_dir) . unwrap ( ) ;
54+ Some ( asset_dir)
55+ } ;
5156
5257 let themes: Vec < _ > = themes ( ) . into_iter ( ) . map ( parse_theme) . collect ( ) ;
5358 let mut shared_rules = SharedRules :: default ( ) ;
@@ -59,17 +64,19 @@ fn main() {
5964
6065 for theme in & themes {
6166 shared_rules. insert ( & theme. rules ) ;
62- fs:: write ( asset_dir. join ( & theme. css_file ) , fixed_theme_css ( theme) ) . unwrap ( ) ;
63- fs:: write (
64- asset_dir. join ( & theme. system_light_css_file ) ,
65- system_slot_css ( & theme. system_light_class , "light" , & theme. rules ) ,
66- )
67- . unwrap ( ) ;
68- fs:: write (
69- asset_dir. join ( & theme. system_dark_css_file ) ,
70- system_slot_css ( & theme. system_dark_class , "dark" , & theme. rules ) ,
71- )
72- . unwrap ( ) ;
67+ if let Some ( asset_dir) = & asset_dir {
68+ fs:: write ( asset_dir. join ( & theme. css_file ) , fixed_theme_css ( theme) ) . unwrap ( ) ;
69+ fs:: write (
70+ asset_dir. join ( & theme. system_light_css_file ) ,
71+ system_slot_css ( & theme. system_light_class , "light" , & theme. rules ) ,
72+ )
73+ . unwrap ( ) ;
74+ fs:: write (
75+ asset_dir. join ( & theme. system_dark_css_file ) ,
76+ system_slot_css ( & theme. system_dark_class , "dark" , & theme. rules ) ,
77+ )
78+ . unwrap ( ) ;
79+ }
7380
7481 generated. push_str ( & format ! (
7582 " const {const_name}_CSS: Asset = asset!(\" /assets/generated/arborium-themes/{css_file}\" );\n " ,
@@ -121,11 +128,13 @@ fn main() {
121128"# ,
122129 ) ;
123130
124- fs:: write (
125- asset_dir. join ( "dioxus-code-theme.css" ) ,
126- shared_theme_css ( & shared_rules) ,
127- )
128- . unwrap ( ) ;
131+ if let Some ( asset_dir) = & asset_dir {
132+ fs:: write (
133+ asset_dir. join ( "dioxus-code-theme.css" ) ,
134+ shared_theme_css ( & shared_rules) ,
135+ )
136+ . unwrap ( ) ;
137+ }
129138
130139 let out_dir = PathBuf :: from ( env:: var ( "OUT_DIR" ) . unwrap ( ) ) ;
131140 fs:: write ( out_dir. join ( "theme_assets.rs" ) , generated) . unwrap ( ) ;
0 commit comments