Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Mustache.With_locations
SourceVariant of the t
mustache datatype which includes source-file locations, and associated functions.
and desc = desc =
| String of string
| Escaped of dotted_name
| Unescaped of dotted_name
| Section of section
| Inverted_section of section
| Partial of partial
| Param of param
| Concat of t list
| Comment of string
Read
pp fmt template
print a template as raw mustache to the formatter fmt
.
Alias for compatibility
to_string template
uses to_formatter
in order to return a string representing the template as raw mustache.
val render_fmt :
?strict:bool ->
?partials:(name -> t option) ->
Format.formatter ->
t ->
Json.t ->
unit
render_fmt fmt template json
renders template
, filling it with data from json
, printing it to formatter fmt
.
For each partial p
, if partials p
is Some t
then the partial is substituted by t
. Otherwise, the partial is substituted by the empty string is strict
is false
. If strict
is true
, a Missing_partial
error is raised.
val render_buf :
?strict:bool ->
?partials:(name -> t option) ->
Buffer.t ->
t ->
Json.t ->
unit
render_buf buf template json
renders template
, filling it with data from json
, printing it to the buffer buf
. See render_fmt
.
render template json
renders template
, filling it with data from json
, and returns the resulting string. See render_fmt
.
val fold :
string:(loc:loc -> string -> 'a) ->
section:(loc:loc -> inverted:bool -> dotted_name -> 'a -> 'a) ->
escaped:(loc:loc -> dotted_name -> 'a) ->
unescaped:(loc:loc -> dotted_name -> 'a) ->
partial:
(loc:loc ->
?indent:int ->
name ->
?params:(int * name * 'a) list ->
t option Lazy.t ->
'a) ->
param:(loc:loc -> ?indent:int -> name -> 'a -> 'a) ->
comment:(loc:loc -> string -> 'a) ->
concat:(loc:loc -> 'a list -> 'a) ->
t ->
'a
fold template
is the composition of f
over parts of template
, called in order of occurrence, where each f
is one of the labelled arguments applied to the corresponding part. The default for f
is the identity function.
expand_partials f template
is template
where for each Partial p
node, p.contents
now evaluates to f p.name
if they were evaluating to None
. Note that no lazy is forced at this point, and calls to f
are delayed until p.contents
is forced.
{{name}}
{{{name}}}
{{^person}} {{/person}}
{{#person}} {{/person}}