logarion/cli/conversion.ml

30 lines
544 B
OCaml

open Logarion
module Ref_set = Set.Make(String)
module Id_map = Map.Make(String)
type t = {
id: string;
dir: string;
kv: string Store.KV.t;
topic_roots: string list;
topics: (String_set.t * String_set.t) Topic_set.Map.t;
references: Ref_set.t Id_map.t;
texts: Text.t list
}
type fn_t = {
ext: string;
page: (t -> Logarion.Text.t -> string) option;
indices: (t -> unit) option;
}
let empty () = {
id = ""; dir = "";
kv = Store.KV.empty;
topic_roots = [];
topics = Topic_set.Map.empty;
references = Id_map.empty;
texts = []
}