Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
MustacheA module for creating and rendering mustache templates in OCaml.
module Json : sig ... endand 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 stringval pp_loc : Format.formatter -> loc -> unitexception Parse_error of template_parse_errorval parse_lx : Lexing.lexbuf -> tval of_string : string -> tval pp_template_parse_error : Format.formatter -> template_parse_error -> unitpp_template_parse_error fmt err prints a human-readable description of a template parse error on the given formatter. The function does not flush the formatter (in case you want to use it within boxes), so you should remember to do it yourself.
try ignore (Mustache.of_string "{{!") with Mustache.Parse_error err ->
Format.eprintf "%a@." Mustache.pp_template_parse_error err val pp : Format.formatter -> t -> unitpp fmt template print a template as raw mustache to the formatter fmt.
val to_formatter : Format.formatter -> t -> unitAlias for compatibility
val to_string : t -> stringto_string template uses to_formatter in order to return a string representing the template as raw mustache.
type render_error_kind = | Invalid_param of {name : dotted_name;expected_form : string;}| Missing_variable of {name : dotted_name;}| Missing_section of {name : dotted_name;}| Missing_partial of {name : name;}Render templates; those functions may raise Render_error.
exception Render_error of render_errorval pp_render_error : Format.formatter -> render_error -> unitval render_fmt :
?strict:bool ->
?partials:(name -> t option) ->
Format.formatter ->
t ->
Json.t ->
unitrender_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.
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:(string -> 'a) ->
section:(inverted:bool -> dotted_name -> 'a -> 'a) ->
escaped:(dotted_name -> 'a) ->
unescaped:(dotted_name -> 'a) ->
partial:
(?indent:int ->
name ->
?params:(int * name * 'a) list ->
t option Lazy.t ->
'a) ->
param:(?indent:int -> name -> 'a -> 'a) ->
comment:(string -> 'a) ->
concat:('a list -> 'a) ->
t ->
'afold 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.
module Infix : sig ... endShortcut for concatening two templates pieces.
val raw : string -> t<p>This is raw text.</p>
val escaped : dotted_name -> t{{name}}
val unescaped : dotted_name -> t{{{name}}}
val inverted_section : dotted_name -> t -> t{{^person}} {{/person}}
val section : dotted_name -> t -> t{{#person}} {{/person}}
{{> box}} or
{{< box}}
{{$param1}} default value for param1 {{/param1}}
{{$param2}} default value for param1 {{/param2}}
{{/box}}val comment : string -> t{{! this is a comment}}
module With_locations : sig ... endVariant of the t mustache datatype which includes source-file locations, and associated functions.
val erase_locs : With_locations.t -> tErase locations from a mustache value of type With_locations.t.
val add_dummy_locs : t -> With_locations.tAdd the dummy_loc location to each node of a mustache value of type t.