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_to_stdout ?syntax ~f file
runs the callback f
on the raw and structured content of file
, as specified by syntax
(defaults to Normal
). The returned corrected version is then written to stdout.
Same as run_to_stdout
but writes the corrected version to outfile
run_to_file ?syntax ?force_output ~f ~outfile file
runs the callback f
similarly to run_to_stdout
to generate its corrected version. If force_output
is true
(defaults to false
) or if the corrected version differs from the original file content, it writes it to <file>.corrected. Otherwise, if <file>.corrected already exists, it removes it.
val section_of_line : line -> (int * string) option
section_of_line l
is l
's section.