Skip to content

Commit cce7c0d

Browse files
committed
fix docs.rs build
1 parent ad7b285 commit cce7c0d

1 file changed

Lines changed: 28 additions & 19 deletions

File tree

build.rs

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)