sig
exception Cant_open_cache_file of string
type 'a level_fun =
Fun_stog of
(Stog_types.stog Xtmpl.env ->
Stog_types.stog -> Stog_types.Doc_set.t -> Stog_types.stog)
| Fun_data of
('a Xtmpl.env ->
Stog_types.stog * 'a -> Stog_types.Doc_set.t -> Stog_types.stog * 'a)
| Fun_stog_data of
((Stog_types.stog * 'a) Xtmpl.env ->
Stog_types.stog * 'a -> Stog_types.Doc_set.t -> Stog_types.stog * 'a)
type 'a modul = {
mod_data : 'a;
mod_levels : 'a Stog_engine.level_fun Stog_types.Int_map.t;
mod_name : string;
}
module type Module =
sig
type data
val modul : Stog_engine.Module.data Stog_engine.modul
type cache_data
val cache_load :
Stog_types.stog ->
Stog_engine.Module.data ->
Stog_types.doc ->
Stog_engine.Module.cache_data -> Stog_engine.Module.data
val cache_store :
Stog_types.stog ->
Stog_engine.Module.data ->
Stog_types.doc -> Stog_engine.Module.cache_data
end
type stog_state = {
st_stog : Stog_types.stog;
st_modules : (module Stog_engine.Module) list;
st_docs : Stog_types.Doc_set.t;
}
val run :
?use_cache:bool ->
?default_style:Xtmpl.tree list ->
Stog_engine.stog_state -> Stog_engine.stog_state
val generate :
?use_cache:bool ->
?gen_cache:bool ->
?default_style:Xtmpl.tree list ->
?only_docs:string list ->
Stog_types.stog -> (module Stog_engine.Module) list -> unit
val doc_dst :
(string -> string -> string) ->
?encode:bool -> Stog_types.stog -> string -> Stog_types.doc -> string
val doc_dst_file : Stog_types.stog -> Stog_types.doc -> string
val doc_url : Stog_types.stog -> Stog_types.doc -> Neturl.url
val env_of_defs : ?env:'a Xtmpl.env -> Stog_types.def list -> 'a Xtmpl.env
val env_of_used_mods :
Stog_types.stog ->
?env:'a Xtmpl.env -> Stog_types.Str_set.t -> 'a Xtmpl.env
type 'a stog_doc_rules =
Stog_types.stog ->
Stog_types.doc_id -> (Xtmpl.name * 'a Xtmpl.callback) list
val get_in_env : 'a -> 'a Xtmpl.env -> Xmlm.name -> 'a * Xtmpl.tree list
val opt_in_env :
'a -> 'a Xtmpl.env -> Xmlm.name -> 'a * Xtmpl.tree list option
val get_in_args_or_env :
'a ->
'a Xtmpl.env -> Xtmpl.attributes -> Xmlm.name -> 'a * Xtmpl.tree list
val get_path : 'a -> 'a Xtmpl.env -> 'a * Stog_path.path
val get_path_in_args_or_env :
'a -> 'a Xtmpl.env -> Xtmpl.attributes -> 'a * Stog_path.path
val doc_env :
'a ->
'a Xtmpl.env -> Stog_types.stog -> Stog_types.doc -> 'a * 'a Xtmpl.env
val apply_stog_env_doc :
Stog_types.stog ->
Stog_types.stog Xtmpl.env -> Stog_types.doc_id -> Stog_types.stog
val apply_stog_data_env_doc :
Stog_types.stog * 'a ->
(Stog_types.stog * 'a) Xtmpl.env ->
Stog_types.doc_id -> Stog_types.stog * 'a
val apply_data_env_doc :
Stog_types.stog * 'a ->
'a Xtmpl.env -> Stog_types.doc_id -> Stog_types.stog * 'a
val fun_apply_stog_doc_rules :
Stog_types.stog Stog_engine.stog_doc_rules -> 'a Stog_engine.level_fun
val fun_apply_stog_data_doc_rules :
(Stog_types.stog * 'a) Stog_engine.stog_doc_rules ->
'a Stog_engine.level_fun
val fun_apply_data_doc_rules :
'a Stog_engine.stog_doc_rules -> 'a Stog_engine.level_fun
val get_languages : 'a -> 'a Xtmpl.env -> 'a * string list
type module_fun = Stog_types.stog -> (module Stog_engine.Module)
val modules : unit -> (string * Stog_engine.module_fun) list
val register_module : string -> Stog_engine.module_fun -> unit
val module_by_name : string -> Stog_engine.module_fun option
end