A template is responsible for converting a model into a rendered document. The model
consists of key/value pairs, some of them potentially converted from a markup language
to HTML already.
An appropriate rendering engine will be chosen by JBake based on the template suffix. If
contents is not available in the supplied model, a template has access to the document
database in order to complete the model. It is in particular interesting to optimize
data access based on the underlying template engine capabilities.
Note that some rendering engines may rely on a different rendering model than the one
provided by the first argument of
In this case, it is the responsibility of the engine to convert it.