package forester
Source file Build_latex.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24open Eio.Std open Forester_core open Forester_prelude type 'a env = 'a constraint 'a = < cwd : Eio.Fs.dir_ty Eio.Path.t; process_mgr : _ Eio.Process.mgr; stdout : _ Eio.Flow.sink; .. > as 'a let resources_dir cwd = Eio.Path.(cwd/"build"/"resources") let build_latex ~env ~ignore_tex_cache ~name ~source : unit = let cwd = Eio.Stdenv.cwd env in let svg_path = Eio.Path.(resources_dir cwd / name) in if ignore_tex_cache || not @@ Eio_util.file_exists svg_path then begin Reporter.emitf Log "Building %s" (Eio.Path.native_exn svg_path); let svg_code = LaTeX_pipeline.latex_to_svg ~env source in Eio.Path.save ~create:(`Or_truncate 0o644) svg_path svg_code end