Frama_c_kernel.MarkdownStructured representation of Markdown content.
type href = | URL of stringURL href is printed as it is.
*)| Page of stringURL relative to a common root. During pretty-printing, if given the path of the current document, the string will be modified accordingly. For instance, when writing to foo/bar.md, Page "foo/bla.md" will be output as (bla.md).
| Section of string * stringURL of an anchor within a Page, see above.
Local refs and URLs
and text = inline listInline elements separated by spaces
and block = block_element listand element = | Comment of stringmarkdown comment, printed <!-- like this -->
*)| Block of block| Table of table| Raw of string listEach element of the list is printed as-is on its own line. A blank line separates the Raw node from the next one.
| 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 optionand 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, Format.formatter, unit, text) 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, Format.formatter, unit, block) 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 -> Format.formatter -> inline -> unitval pp_text : ?page:string -> Format.formatter -> text -> unitval pp_block_element :
?page:string ->
Format.formatter ->
block_element ->
unitval pp_block : ?page:string -> Format.formatter -> block -> unitval pp_element : ?page:string -> Format.formatter -> element -> unitval pp_elements : ?page:string -> Format.formatter -> elements -> unitval pp_pandoc : ?page:string -> Format.formatter -> pandoc_markdown -> unit