Files
rojo/src/web/assets.rs
2019-09-24 17:53:39 -07:00

38 lines
1019 B
Rust

macro_rules! declare_asset {
($name: ident, $path: expr) => {
pub fn $name() -> &'static str {
if cfg!(feature = "dev-live-assets") {
use std::{fs::read_to_string, path::Path};
let file_path = Path::new(file!());
let asset_path = file_path.parent().unwrap().join($path);
println!("Reloading {}", asset_path.display());
let content = read_to_string(asset_path)
.expect("Couldn't read dev live asset")
.into_boxed_str();
Box::leak(content)
} else {
static CONTENT: &str = include_str!($path);
CONTENT
}
}
};
}
declare_asset!(css, "../../assets/index.css");
pub fn logo() -> &'static [u8] {
static LOGO: &[u8] = include_bytes!("../../assets/logo-512.png");
LOGO
}
pub fn icon() -> &'static [u8] {
static ICON: &[u8] = include_bytes!("../../assets/icon-32.png");
ICON
}