> For the complete documentation index, see [llms.txt](https://mandarineframework.gitbook.io/mandarine-ts/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mandarineframework.gitbook.io/mandarine-ts/mandarine-mvc/template-engine.md).

# Template Engine

## Main

Mandarine allows you to render templates in your web application in order to provide more functionality. Templates are usually a type of HTML file with code from the back-end involved, these files are rendered by an engine and displayed on the browser as valid & clean HTML content.\
Mandarine has adapted a [third-party view engine](https://github.com/gjuoun/view-engine) in order to work *natively* with templates in your Mandarine Application.

## Supported templates

[See enum here](https://doc.deno.land/https/raw.githubusercontent.com/mandarineorg/mandarinets/master/mvc-framework/mandarine-mvc.ns.ts#MandarineMvc.TemplateEngine.Engines)

At the time, Mandarine only supports template rendering for

* [EJS](https://ejs.co/)
* [Handlebars](https://handlebarsjs.com/)
* [Denjucks](https://github.com/denjucks/denjucks) **(Temporarily unsupported since v1.1.2)**

**Note** that Mandarine sets *EJS* as the default template engine. [Click here](https://mandarineframework.gitbook.io/mandarine-ts/mandarine-core/properties#main) for more information

## Directory

By default, Mandarine uses `./src/main/resources/templates` as your project's template folder, this behavior can be changed by setting your own properties. Refer to [this link](https://mandarineframework.gitbook.io/mandarine-ts/mandarine-core/properties#setting-your-own-properties) for more information.
