package pgn_to_tex

  1. Overview
  2. Docs

Source file pgn2tex.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
module MoveMap = Ast.MoveMap
open Yojson.Safe.Util

let parse_diagrams_json diagrams_json_str =
  try
    let json = Yojson.Safe.from_string diagrams_json_str in
    let diagrams_list = to_list json in
    List.fold_left
      (fun acc_map item ->
        let ply = item |> member "ply" |> to_int in
        let fen = item |> member "fen" |> to_string in
        MoveMap.add ply fen acc_map)
      MoveMap.empty diagrams_list
  with _ -> MoveMap.empty

let to_tex pgn ~diagram_data ~clock =
  let game = Parsing.parse_pgn pgn in
  Latex.game_to_tex game ~diagram_data ~clock