package forester

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

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
24
open 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
OCaml

Innovation. Community. Security.