@@ -7,13 +7,14 @@ pub use error::OgImageError;
77
88use crate :: formatting:: { serialize_bytes, serialize_number, serialize_optional_number} ;
99use bytes:: Bytes ;
10- use crates_io_env_vars:: var ;
10+ use crates_io_env_vars:: var_parsed ;
1111use serde:: Serialize ;
1212use std:: collections:: HashMap ;
1313use std:: path:: PathBuf ;
1414use tempfile:: NamedTempFile ;
1515use tokio:: fs;
1616use tokio:: process:: Command ;
17+ use tracing:: debug;
1718
1819/// Data structure containing information needed to generate an OpenGraph image
1920/// for a crates.io crate.
@@ -109,19 +110,26 @@ impl OgImageGenerator {
109110 /// # Ok::<(), crates_io_og_image::OgImageError>(())
110111 /// ```
111112 pub fn from_environment ( ) -> Result < Self , OgImageError > {
112- let typst_path = var ( "TYPST_PATH" ) . map_err ( OgImageError :: EnvVarError ) ?;
113- let font_path = var ( "TYPST_FONT_PATH" ) . map_err ( OgImageError :: EnvVarError ) ?;
114-
115- let mut generator = if let Some ( path) = typst_path {
116- Self :: new ( PathBuf :: from ( path) )
113+ let typst_path = var_parsed :: < PathBuf > ( "TYPST_PATH" ) ;
114+ let typst_path = typst_path. map_err ( OgImageError :: EnvVarError ) ?;
115+ let font_path = var_parsed :: < PathBuf > ( "TYPST_FONT_PATH" ) ;
116+ let font_path = font_path. map_err ( OgImageError :: EnvVarError ) ?;
117+
118+ let mut generator = if let Some ( typst_path) = typst_path {
119+ debug ! ( "Using TYPST_PATH: {}" , typst_path. display( ) ) ;
120+ Self :: new ( typst_path)
117121 } else {
122+ debug ! ( "TYPST_PATH not set, using default 'typst' binary in PATH" ) ;
118123 Self :: default ( )
119124 } ;
120125
121126 if let Some ( font_path) = font_path {
122127 let current_dir = std:: env:: current_dir ( ) ?;
123128 let font_path = current_dir. join ( font_path) . canonicalize ( ) ?;
129+ debug ! ( "Using TYPST_FONT_PATH: {}" , font_path. display( ) ) ;
124130 generator = generator. with_font_path ( font_path) ;
131+ } else {
132+ debug ! ( "TYPST_FONT_PATH not set, using default font discovery" ) ;
125133 }
126134
127135 Ok ( generator)
@@ -325,6 +333,8 @@ impl Default for OgImageGenerator {
325333#[ cfg( test) ]
326334mod tests {
327335 use super :: * ;
336+ use tracing:: subscriber;
337+ use tracing_subscriber:: fmt;
328338
329339 const fn author ( name : & str ) -> OgImageAuthorData < ' _ > {
330340 OgImageAuthorData :: new ( name, None )
@@ -450,6 +460,8 @@ mod tests {
450460
451461 #[ tokio:: test]
452462 async fn test_generate_og_image_snapshot ( ) {
463+ let _guard = subscriber:: set_default ( fmt ( ) . compact ( ) . with_test_writer ( ) . finish ( ) ) ;
464+
453465 let data = create_simple_test_data ( ) ;
454466
455467 if let Some ( image_data) = generate_image ( data) . await {
@@ -459,6 +471,8 @@ mod tests {
459471
460472 #[ tokio:: test]
461473 async fn test_generate_og_image_overflow_snapshot ( ) {
474+ let _guard = subscriber:: set_default ( fmt ( ) . compact ( ) . with_test_writer ( ) . finish ( ) ) ;
475+
462476 let data = create_overflow_test_data ( ) ;
463477
464478 if let Some ( image_data) = generate_image ( data) . await {
@@ -468,6 +482,8 @@ mod tests {
468482
469483 #[ tokio:: test]
470484 async fn test_generate_og_image_minimal_snapshot ( ) {
485+ let _guard = subscriber:: set_default ( fmt ( ) . compact ( ) . with_test_writer ( ) . finish ( ) ) ;
486+
471487 let data = create_minimal_test_data ( ) ;
472488
473489 if let Some ( image_data) = generate_image ( data) . await {
@@ -477,6 +493,8 @@ mod tests {
477493
478494 #[ tokio:: test]
479495 async fn test_generate_og_image_escaping_snapshot ( ) {
496+ let _guard = subscriber:: set_default ( fmt ( ) . compact ( ) . with_test_writer ( ) . finish ( ) ) ;
497+
480498 let data = create_escaping_test_data ( ) ;
481499
482500 if let Some ( image_data) = generate_image ( data) . await {
0 commit comments