Representation of Markdown documents
type t = element listRepresentation of a Markdown document.
and ref_container = < add_ref : string -> string -> string -> unit; get_ref : string -> (string * string) option; get_all : (string * (string * string)) list; >and element = Omd_representation.element = | H1 of t | Header of level 1 |
| H2 of t | Header of level 2 |
| H3 of t | Header of level 3 |
| H4 of t | Header of level 4 |
| H5 of t | Header of level 5 |
| H6 of t | Header of level 6 |
| Paragraph of t | A Markdown paragraph (must be enabled in |
| Text of string | Text. |
| Emph of t | Emphasis (italic) |
| Bold of t | Bold |
| Ul of t list | Unumbered list |
| Ol of t list | Ordered (i.e. numbered) list |
| Ulp of t list | |
| Olp of t list | |
| Code of name * string |
|
| Code_block of name * string |
|
| Br | (Forced) line break |
| Hr | Horizontal rule |
| NL | Newline character. Newline characters that act like delimiters (e.g. for paragraphs) are removed from the AST. |
| Url of href * t * title | |
| Ref of ref_container * name * string * fallback | |
| Img_ref of ref_container * name * alt * fallback | |
| Html of name * (string * string option) list * t | |
| Html_block of name * (string * string option) list * t | |
| Html_comment of string | An HTML comment, including "<!--" and "-->". |
| Raw of string | Raw: something that shall never be converted |
| Raw_block of string | Raw_block: a block with contents that shall never be converted |
| Blockquote of t | Quoted block |
| Img of alt * src * title | |
| X of < name : string; to_html : ?indent:int -> (t -> string) -> t -> string option; to_sexpr : (t -> string) -> t -> string option; to_t : t -> t option; > |
A element of a Markdown document.
and fallback = < to_string : string; to_t : t; >Fallback for references in case they refer to non-existant references
Function that takes a language name and some code and returns that code with style.
Input and Output
val of_string : ?extensions:Omd_representation.extensions -> ?default_lang:name -> string -> tof_string s returns the Markdown representation of the string s.
- parameter lang
language for blocks of code where it was not specified. Default:
"".If you want to use a custom lexer or parser, use
Omd_lexer.lex andOmd_parser.parse.
val of_bigarray : ?extensions:Omd_representation.extensions -> ?default_lang:name -> Omd_lexer.bigstring -> tAs of_string, but read input from a bigarray rather than from a string.
set_default_lang lang md return a copy of md where the language of all Code or Code_block with an empty language is set to lang.
val to_html : ?override:(Omd_representation.element -> string option) -> ?pindent:bool -> ?nl2br:bool -> ?cs:code_stylist -> t -> stringTranslate markdown representation into raw HTML. If you need a full HTML representation, you mainly have to figure out how to convert Html of string and Html_block of string into your HTML representation.
val to_markdown : t -> stringTranslate markdown representation into textual markdown.
val to_text : t -> stringTranslate markdown representation into raw text.
Tansforming Markdown documents
toc md returns toc a table of contents for md.
- parameter start
gives the section for which the TOC must be built. For example
~start:[2;3]will build the TOC for subsections of the secondH1header, and within that section, the thirdh2header. If a number is0, it means to look for the first section at that level but stop if one encounters any other subsection. If no subsection exists, an empty TOC[]will be returned. Default:[]i.e. list all sections, starting with the firstH1.
- parameter depth
the table of contents. Default:
2.