View Source Templates for Dynamic HTML
Note: This page is being updated for OSS release. Please be patient.
- Gears can use HAML templates to render dynamic HTML.
- We are using calliope as the HAML engine. Please refer to calliope's documentation for its syntax.
- To use HAML:
- Confirm that
web/template.exis present (it's automatically generated by the gear generator). - Place your HAML files under
web/template/. - HAML templates are processed during
$ mix compileand content of each file is packed into a clause ofYourGear.Template.content_for/2. - Render HTML responses by using
render/5function in your controller action.
- Confirm that
- HTML-escaping in HAML templates
- Dynamic parts in HAML templates are automatically HTML-escaped (i.e. special characters are replaced with character entity references).
- If you want to insert elements without escaping, use
Antikythera.TemplateSanitizer.raw/1.Antikythera.TemplateSanitizeris automaticallyimported and thus you can just write e.g.= raw "<this won't be escaped>"in your HAML templates.
- Inserting other templates in a template (a.k.a. partial rendering)
- You can simply call
content_for/2(withoutYourGear.Template.prefix) from within your HAML templates. e.g.= content_for "path/to/other/template", param1: value1
- You can simply call