Library
Module
Module type
Parameter
Class
Class type
Mdx
is a library to manipulate markdown code blocks.
mdx
allows to execute code blocks inside markdown files. The supported code blocks are either cram-like tests, raw OCaml fragments or toplevel phrases.
Cram tests and toplevel phrases are sequences of commands and outputs.
module Output : sig ... end
Test outputs.
module Cram : sig ... end
Cram tests
module Toplevel : sig ... end
Toplevel phrases.
module Block : sig ... end
Code blocks.
module Migrate_ast : sig ... end
module Compat : sig ... end
The type for the lines of a markdown or cram file.
type t = line list
The type for mdx documents.
pp
is the pretty printer for mdx documents. Should be idempotent with of_string
.
val to_string : t -> string
to_string t
converts the document t
to a string.
of_string syntax s
is the document t
such that to_string ~syntax t = s
.
val parse_lexbuf : syntax -> Lexing.lexbuf -> t
parse_lexbuf l
is of_string
of l
's contents.
run ?syntax ~f n
runs the expect callback f
over the file named n
. f
is called with the raw contents of n
and its structured contents; it returns the new file contents. If the result of f
is different from the initial contents or if force_output was set to true, then $n.corrected
is created with the new contents.
val section_of_line : line -> (int * string) option
section_of_line l
is l
's section.