sig
type align = Left | Center | Right
type href = URL of string | Page of string | Section of string * string
type inline =
Plain of string
| Emph of string
| Bold of string
| Inline_code of string
| Link of Markdown.text * Markdown.href
| Image of string * string
and text = Markdown.inline list
type block_element =
Text of Markdown.text
| Block_quote of Markdown.element list
| UL of Markdown.block list
| OL of Markdown.block list
| DL of (Markdown.text * Markdown.text) list
| EL of (string option * Markdown.text) list
| Code_block of string * string list
and block = Markdown.block_element list
and table = {
caption : Markdown.text option;
header : (Markdown.text * Markdown.align) list;
content : Markdown.text list list;
}
and element =
Comment of string
| Block of Markdown.block
| Table of Markdown.table
| Raw of string list
| H1 of Markdown.text * string option
| H2 of Markdown.text * string option
| H3 of Markdown.text * string option
| H4 of Markdown.text * string option
| H5 of Markdown.text * string option
| H6 of Markdown.text * string option
and elements = Markdown.element list
type pandoc_markdown = {
title : Markdown.text;
authors : Markdown.text list;
date : Markdown.text;
elements : Markdown.elements;
}
val plain : string -> Markdown.text
val emph : string -> Markdown.text
val bold : string -> Markdown.text
val code : string -> Markdown.text
val image : alt:string -> file:string -> Markdown.text
val href : ?text:Markdown.text -> Markdown.href -> Markdown.text
val link :
?text:Markdown.text ->
?page:string -> ?name:string -> unit -> Markdown.text
val url : ?text:Markdown.text -> string -> Markdown.text
val format :
('a, Format.formatter, unit, Markdown.text) Pervasives.format4 -> 'a
val text : Markdown.text -> Markdown.block
val list : Markdown.block list -> Markdown.block
val enum : Markdown.block list -> Markdown.block
val description : (Markdown.text * Markdown.text) list -> Markdown.block
val codeblock :
?lang:string ->
('a, Format.formatter, unit, Markdown.block) Pervasives.format4 -> 'a
val par : Markdown.text -> Markdown.elements
val block : Markdown.block -> Markdown.elements
val rawfile : string -> Markdown.elements
val pandoc :
?title:Markdown.text ->
?authors:Markdown.text list ->
?date:Markdown.text -> Markdown.elements -> Markdown.pandoc_markdown
val section :
?name:string -> title:string -> Markdown.elements -> Markdown.elements
val subsections :
Markdown.elements -> Markdown.elements list -> Markdown.elements
val glue : ?sep:'a list -> 'a list list -> 'a list
val label : string -> string
val pp_inline : ?page:string -> Format.formatter -> Markdown.inline -> unit
val pp_text : ?page:string -> Format.formatter -> Markdown.text -> unit
val pp_block_element :
?page:string -> Format.formatter -> Markdown.block_element -> unit
val pp_block : ?page:string -> Format.formatter -> Markdown.block -> unit
val pp_element :
?page:string -> Format.formatter -> Markdown.element -> unit
val pp_elements :
?page:string -> Format.formatter -> Markdown.elements -> unit
val pp_pandoc :
?page:string -> Format.formatter -> Markdown.pandoc_markdown -> unit
end