Something went wrong. Try again.
static-site-generator blogging hypertext ocaml
Something went wrong. Try again.
1.1 kB · 31 lines
OCaml
at main
1234567891011121314151617181920212223242526272829303132(* * SPDX-FileCopyrightText: 2024 The Forester Project Contributors AND The RedPRL Development Team * SPDX-FileCopyrightText: 2026 The Forester Project Contributors * * SPDX-License-Identifier: GPL-3.0-or-later * SPDX-License-Identifier: GPL-3.0-or-later OR Apache-2.0 WITH LLVM-exception *)
open Typesopen Grace
let rec pp_content fmt = function | Content nodes -> List.iter (pp_content_node fmt) nodes
and pp_content_node fmt = function | Text str -> Format.fprintf fmt "%s" str | CDATA str -> Format.fprintf fmt "%s" str | KaTeX (_, xs) -> pp_content fmt xs | Xml_elt _ | Transclude _ | Contextual_number _ | Section _ | Link _ | Artefact _ | Uri _ | Route_of_uri _ | Datalog_script _ | Results_of_datalog_query _ -> let diagnostic = Diagnostic.createf Error ~code:`Internal_error "Cannot render this kind of content node as TeX-like string" in Format.printf "%a@." Grace_ansi_renderer.(pp_diagnostic ?config:None ?code_to_string:None) diagnostic; assert false
let string_of_content content = Format.asprintf "%a" pp_content content