module Stog_types: sig
.. end
Types.
type date = Netdate.t
type body = Xtmpl.tree list
type def = Xtmpl.name * Xtmpl.attributes * body
val get_def : def list ->
Xmlm.name -> (Xtmpl.attributes * body) option
module Str_map: Map.S
with type key = string
module Str_set: Set.S
with type elt = string
type doc = {
|
doc_path : Stog_path.path ; |
|
doc_parent : Stog_path.path option ; |
|
doc_children : Stog_path.path list ; |
|
doc_type : string ; |
|
doc_body : body ; |
|
doc_date : date option ; |
|
doc_title : string ; |
|
doc_keywords : string list ; |
|
doc_topics : string list ; |
|
doc_defs : def list ; |
|
doc_src : string ; |
|
doc_sets : string list ; |
|
doc_lang_dep : bool ; |
|
doc_xml_doctype : string option ; |
|
doc_out : body option ; |
|
doc_used_mods : Str_set.t ; |
}
type doc_id = doc Stog_tmap.key
val make_doc : ?typ:string -> ?path:Stog_path.path -> unit -> doc
val today : unit -> date
module Path_trie: Stog_trie.S
with type symbol = string
module Doc_set: Set.S
with type elt = doc_id
module Int_map: Map.S
with type key = int
module Int_set: Set.S
with type elt = int
type edge_type =
| |
Date |
| |
Topic of string |
| |
Keyword of string |
| |
Ref |
module Graph: Stog_graph.S
with type key = doc_id and type edge_data = edge_type
type file_tree = {
|
files : Str_set.t ; |
|
dirs : file_tree Str_map.t ; |
}
type stog_mod = {
|
mod_requires : Str_set.t ; |
|
mod_defs : def list ; |
}
type 'a
dependency =
| |
File of string |
| |
Doc of 'a |
module Depset: Set.S
with type elt = string dependency
type stog_dependencies = Depset.t Str_map.t
type stog = {
|
stog_dir : string ; |
|
stog_docs : (doc, doc) Stog_tmap.t ; |
|
stog_docs_by_path : doc_id Path_trie.t ; |
|
stog_defs : def list ; |
|
stog_tmpl_dirs : string list ; |
|
stog_mod_dirs : string list ; |
|
stog_cache_dir : string ; |
|
stog_title : string ; |
|
stog_desc : body ; |
|
stog_graph : Graph.t ; |
|
stog_docs_by_kw : Doc_set.t Str_map.t ; |
|
stog_docs_by_topic : Doc_set.t Str_map.t ; |
|
stog_archives : Doc_set.t Int_map.t Int_map.t ; |
|
stog_base_url : Neturl.url ; |
|
stog_email : string ; |
|
: int ; |
|
stog_lang : string option ; |
|
stog_outdir : string ; |
|
stog_main_doc : doc_id option ; |
|
stog_files : file_tree ; |
|
stog_modules : stog_mod Str_map.t ; |
|
stog_used_mods : Str_set.t ; |
|
stog_depcut : bool ; |
|
stog_deps : stog_dependencies ; |
|
stog_id_map : (Stog_path.path * string option) Str_map.t Stog_path.Map.t ; |
|
stog_levels : (string * int list) list Str_map.t ; |
|
stog_publish_only : Stog_filter_types.t option ; |
}
val url_of_string : string -> Neturl.url
val string_of_url : Neturl.url -> string
val url_concat : Neturl.url -> string -> Neturl.url
val create_stog : string -> stog
val stog_md5 : stog -> string
val doc : stog -> doc Stog_tmap.key -> doc
val docs_by_path : ?typ:string ->
stog ->
Stog_path.path -> (doc_id * doc) list
val doc_by_path : ?typ:string ->
stog -> Stog_path.path -> doc_id * doc
val doc_children : stog -> doc -> doc list
val set_doc : stog ->
doc Stog_tmap.key -> doc -> stog
val add_path : stog -> Stog_path.path -> doc_id -> stog
val add_doc : stog -> doc -> stog
val sort_docs_by_date : doc list -> doc list
val sort_ids_docs_by_date : ('a * doc) list -> ('a * doc) list
val sort_ids_docs_by_rules : 'b ->
string list ->
(doc_id * doc * 'b Xtmpl.env) list ->
'b * (doc_id * doc) list
val doc_list : ?by_date:bool ->
?set:string ->
stog -> (doc Stog_tmap.key * doc) list
val merge_stogs : stog list -> stog
val make_path : stog -> string -> string list
val find_block_by_id : doc -> string -> Xtmpl.tree option
val id_map_add : stog ->
Stog_path.Map.key ->
Str_map.key -> Stog_path.path -> string option -> stog
val map_href : stog ->
Stog_path.Map.key ->
Str_map.key -> Stog_path.Map.key * Str_map.key
val map_doc_ref : stog ->
doc ->
Str_map.key -> doc * Str_map.key