package frama-c
Install
Dune Dependency
Authors
-
MMichele Alberti
-
TThibaud Antignac
-
GGergö Barany
-
PPatrick Baudin
-
NNicolas Bellec
-
TThibaut Benjamin
-
AAllan Blanchard
-
LLionel Blatter
-
FFrançois Bobot
-
RRichard Bonichon
-
VVincent Botbol
-
QQuentin Bouillaguet
-
DDavid Bühler
-
ZZakaria Chihani
-
LLoïc Correnson
-
JJulien Crétin
-
PPascal Cuoq
-
ZZaynah Dargaye
-
BBasile Desloges
-
JJean-Christophe Filliâtre
-
PPhilippe Herrmann
-
MMaxime Jacquemin
-
FFlorent Kirchner
-
AAlexander Kogtenkov
-
RRemi Lazarini
-
TTristan Le Gall
-
JJean-Christophe Léchenet
-
MMatthieu Lemerre
-
DDara Ly
-
DDavid Maison
-
CClaude Marché
-
AAndré Maroneze
-
TThibault Martin
-
FFonenantsoa Maurica
-
MMelody Méaulle
-
BBenjamin Monate
-
YYannick Moy
-
PPierre Nigron
-
AAnne Pacalet
-
VValentin Perrelle
-
GGuillaume Petiot
-
DDario Pinto
-
VVirgile Prevosto
-
AArmand Puccetti
-
FFélix Ridoux
-
VVirgile Robles
-
JJan Rochel
-
MMuriel Roger
-
JJulien Signoles
-
NNicolas Stouls
-
KKostyantyn Vorobyov
-
BBoris Yakobowski
Maintainers
Sources
sha256=d2fbb3b8d0ff83945872e9e6fa258e934a706360e698dae3b4d5f971addf7493
doc/frama-c.kernel/Frama_c_kernel/Markdown/index.html
Module Frama_c_kernel.Markdown
Markdown Document
Structured representation of Markdown content.
type href =
| URL of string
(*URL href is printed as it is.
*)| Page of string
(*URL 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 * string
(*URL of an anchor within a
*)Page
, see above.
Local refs and URLs
and text = inline list
Inline elements separated by spaces
and block = block_element list
and element =
| Comment of string
(*markdown comment, printed <!-- like this -->
*)| Block of block
| Table of table
| Raw of string list
(*Each 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 option
and elements = element list
Formatting Utilities
Remark: 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 -> text
Plain markdown
val emph : string -> text
Emph text
val bold : string -> text
Bold text
val code : string -> text
Inline code
val image : alt:string -> file:string -> text
Image
val format : ('a, Format.formatter, unit, text) format4 -> 'a
Plain markdown content of the formatted string
Blocks Utilities
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 ->
'a
codeblock 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.
Document Elements
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 -> elements
Get the content of a file as raw markdown.
Document Structure
val pandoc :
?title:text ->
?authors:text list ->
?date:text ->
elements ->
pandoc_markdown
Creates a document from a list of elements and optional metadatas. Defaults are:
- title: empty
- authors: empty list
- date: current day, in ISO format
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 element
s where the body
's headers have been increased by one (i.e. H1
becomes H2
). H5
stays at H5
, though.
Other Utilities
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.
Pretty-printers
val pp_inline : ?page:string -> Format.formatter -> inline -> unit
val pp_text : ?page:string -> Format.formatter -> text -> unit
val pp_block_element :
?page:string ->
Format.formatter ->
block_element ->
unit
val pp_block : ?page:string -> Format.formatter -> block -> unit
val pp_element : ?page:string -> Format.formatter -> element -> unit
val pp_elements : ?page:string -> Format.formatter -> elements -> unit
val pp_pandoc : ?page:string -> Format.formatter -> pandoc_markdown -> unit