Module B00_cmark

B00 cmark support.

This models the cmark tool. There's not much to model though.

An extraction function is also provided.

Cmark

val tool : B00.Tool.t

tool is the cmark tool.

val cmd : ?⁠validate_utf_8:bool -> ?⁠format:string -> B00.Memo.t -> opts:B00_std.Cmd.t -> mds:B00_std.Fpath.t list -> o:B00_std.Fpath.t -> unit

cmd m ~format ~validate_utf_8 ~args ~mds ~o writes to file o the result of processing the CommonMark files mds.

  • format is the output format. It defaults to "html" which outputs a fragment not a full page page (this the --to option).
  • validate_utf_8 is the --validate-utf8 option it defaults to true.
  • args are additional command line arguments you may want to pass to cmark.

Convenience

val to_html : ?⁠generator:string -> ?⁠lang:string -> ?⁠scripts:string list -> ?⁠styles:string list -> ?⁠title:string -> B00.Memo.t -> opts:B00_std.Cmd.t -> mds:B00_std.Fpath.t list -> o_frag:B00_std.Fpath.t -> o:B00_std.Fpath.t -> unit

to_html m ~opts ~mds ~o_frag o compiles the concatenation of mds to an HTML fragment o_frag and then to an HTML page o by invoking cmd with opts and B00_htmlg.El.write_page; for the documentation of optional arguments see the later.

Extraction

val first_section : preamble:bool -> string -> (string * string) option

first_section src is Some (title, content) where title is the content of first CommonMark header found in CommonMark source src and content everything that follows until the next header (preamble is true) or next header of the same of smaller level (preamble is false). Trailing blank lines are discarded.

Warning. This function may break on valid CommonMark inputs in all sorts of fashion.