Module Server.Syntax

module Syntax: sig .. end


JSON Encoding Documentation
type t 
val text : t -> Markdown.text
val publish : page:Server.Doc.page ->
name:string ->
descr:Markdown.text ->
synopsis:t ->
?details:Markdown.elements ->
?generated:(unit -> Markdown.elements) -> unit -> t
The provided synopsis must be very short, to fit in one line. Extended definition, like record fields and such, must be detailed in the description block.
val unit : t
val any : t
val int : t
val ident : t
val string : t
val number : t
val boolean : t
val tag : string -> t
val array : t -> t
val tuple : t list -> t
val union : t list -> t
val option : t -> t
val record : (string * t) list -> t
val data : string -> Markdown.href -> t
type tag = {
   tag_name : string;
   tag_label : Markdown.text;
   tag_descr : Markdown.text;
}
val define : Markdown.text -> Markdown.text -> Markdown.block_element
Syntactic definition: LEFT := RIGHT
val tags : ?title:string -> tag list -> Markdown.element
Builds a table with tags description. The ~title is applied to the tag name column (shall be capitalized, defaults to "Tag").
type field = {
   fd_name : string;
   fd_syntax : t;
   fd_descr : Markdown.text;
}
val fields : ?title:string -> field list -> Markdown.element
Builds a table with fields description. The ~title is applied to the field name column (shall be capitalized, defaults to "Field").