diff --git a/src/raster.rs b/src/raster.rs index 9674593..81b3c8f 100644 --- a/src/raster.rs +++ b/src/raster.rs @@ -24,7 +24,11 @@ impl Rasterizer { pub fn new() -> Self { let mut fontdb = fontdb::Database::new(); fontdb.load_system_fonts(); - fontdb.load_fonts_dir("./fonts"); + fontdb.load_fonts_dir(if cfg!(debug_assertions) { + "src/fonts" + } else { + "fonts" + }); Self { font_db: fontdb } } diff --git a/src/template.rs b/src/template.rs index 1ac4048..d492947 100644 --- a/src/template.rs +++ b/src/template.rs @@ -5,7 +5,15 @@ use timeago::Formatter; lazy_static! { static ref TEMPLATES: Tera = { - let mut _tera = match Tera::new("templates/**/*.svg") { + let template_pattern = if cfg!(debug_assertions) { + // Development: templates are in src/templates + "src/templates/**/*.svg" + } else { + // Production: templates are in /usr/src/app/templates (relative to working dir) + "templates/**/*.svg" + }; + + let mut _tera = match Tera::new(template_pattern) { Ok(t) => { let names: Vec<&str> = t.get_template_names().collect(); println!("{} templates found ([{}]).", names.len(), names.join(", "));