aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock1
-rw-r--r--Cargo.toml5
-rw-r--r--build.rs13
-rw-r--r--src/main.rs7
4 files changed, 18 insertions, 8 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 5800118..8fa73ac 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1716,7 +1716,6 @@ dependencies = [
"futures",
"grass",
"hex",
- "lazy_static",
"libflate",
"log",
"maud",
diff --git a/Cargo.toml b/Cargo.toml
index e96da7a..682fdab 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -46,8 +46,6 @@ actix-multipart = "0.3.0"
actix-rt = "1.1.1"
actix-web-httpauth = "0.5.0"
mime = "0.3"
-grass = "0.10.3"
-lazy_static = "1.4.0"
[dev-dependencies]
assert_cmd = "1.0"
@@ -58,3 +56,6 @@ rstest = "0.6"
regex = "1.3.9"
pretty_assertions = "0.6"
url = "2.1"
+
+[build-dependencies]
+grass = "0.10.3"
diff --git a/build.rs b/build.rs
new file mode 100644
index 0000000..c759316
--- /dev/null
+++ b/build.rs
@@ -0,0 +1,13 @@
+use std::env;
+use std::fs;
+use std::path::Path;
+
+fn main() {
+ let out_dir = env::var_os("OUT_DIR").unwrap();
+ let dest_path = Path::new(&out_dir).join("style.css");
+ fs::write(
+ &dest_path,
+ grass::from_string(include_str!("data/style.scss").to_string(), &grass::Options::default()).unwrap()
+ ).unwrap();
+ println!("cargo:rerun-if-changed=data/style.css");
+}
diff --git a/src/main.rs b/src/main.rs
index 22d5f6a..2886a2c 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -388,12 +388,9 @@ async fn favicon() -> impl Responder {
.message_body(logo.into())
}
-lazy_static::lazy_static! {
- static ref CSS_TEXT: String = grass::from_string(include_str!("../data/style.scss").to_string(), &grass::Options::default()).unwrap();
-}
-
async fn css() -> impl Responder {
+ let css = include_str!(concat!(env!("OUT_DIR"), "/style.css"));
web::HttpResponse::Ok()
.set(ContentType(mime::TEXT_CSS))
- .body(&*CSS_TEXT)
+ .message_body(css.into())
}