Frama_c_kernel.MarkdownStructured representation of Markdown content.
type href = Local refs and URLs
type inline = | Plain of string | (* Printed as it is *) |
| Emph of string | (* Printed as |
| Bold of string | (* Printed as |
| Inline_code of string | (* Printed as |
| Link of text * href | (* Hyperlink with text and URL *) |
| Image of string * string | (*
|
and text = inline listInline elements separated by spaces
and block = block_element listand element = | Comment of string | (* markdown comment, printed <!-- like this --> *) |
| Block of block | |
| Table of table | |
| Raw of string list | (* Each element of the list is printed as-is on its own line. A blank line separates the |
| H1 of text * string option | |
| H2 of text * string option | |
| H3 of text * string option | |
| H4 of text * string option | |
| H5 of text * string option | |
| H6 of text * string option |
and elements = element listRemark: text values are list of inline values, hence you may combined with the (@) operator or with the glue ?sep utility function (see below).
val plain : string -> textPlain markdown
val emph : string -> textEmph text
val bold : string -> textBold text
val code : string -> textInline code
val image : alt:string -> file:string -> textImage
val format : ( 'a, Stdlib.Format.formatter, unit, text ) Stdlib.format4 -> 'aPlain markdown content of the formatted string
Remark: block values are list of block_element values, hence you may combined with the (@) operator or with the glue ?sep utility function (see below).
val codeblock :
?lang:string ->
( 'a, Stdlib.Format.formatter, unit, block ) Stdlib.format4 ->
'acodeblock lang "...." returns a Code_block for code, written in lang with the given formatted content. The code block content placed inside an englobing hv-box, trimed and finally splitted into lines.
Remark: elements values are list of element values, hence you may combined with the (@) operator or with the glue ?sep utility function (see below).
val rawfile : string -> elementsGet the content of a file as raw markdown.
val pandoc :
?title:text ->
?authors:text list ->
?date:text ->
elements ->
pandoc_markdownCreates a document from a list of elements and optional metadatas. Defaults are:
Adds a H1 header with the given title on top of the given elements. If name is not explicitly provided, the header will have as associated anchor id title
subsections header body returns a list of elements where the body's headers have been increased by one (i.e. H1 becomes H2). H5 stays at H5, though.
Glue fragments, typically used for combining text, block and elements. Default separator is empty. The function is tail-recursive.
Transforms a string into an anchor name, roughly following pandoc's conventions. This function is automatically used by pretty-printers and smart constructors to normalize section names and local links.
val pp_inline : ?page:string -> Stdlib.Format.formatter -> inline -> unitval pp_text : ?page:string -> Stdlib.Format.formatter -> text -> unitval pp_block_element :
?page:string ->
Stdlib.Format.formatter ->
block_element ->
unitval pp_block : ?page:string -> Stdlib.Format.formatter -> block -> unitval pp_element : ?page:string -> Stdlib.Format.formatter -> element -> unitval pp_elements : ?page:string -> Stdlib.Format.formatter -> elements -> unitval pp_pandoc :
?page:string ->
Stdlib.Format.formatter ->
pandoc_markdown ->
unit