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 = [] }