HTML templates for Janet.
Simplified version of Mendoza's template system that is cleaner and easier to use.
Templates can be used recursively, and output is printed via print
, so goes to
(dyn :out)
.
Expands on the mendoza templates with the {-
... -}
brackets, which do non-escaped
substitution, so temple can be used for formats besides HTML.
Also exposes the escape
function inside templates for HTML escaping
if you want to manually print to template output.
{$ (def n 20) # Run at template compile time $}
<html>
<body>
{{ (string/repeat "<>" n) # HTML escaped }}
<ul>
{% (each x (range n) (print "<li>" x " " (args :a) "</li>")) # No auto-print %}
</ul>
{- (string/repeat "<span>1</span>" n) # Not HTML escaped -}
</body>
</html>
(import temple)
(temple/add-loader)
(import ./foo :as foo)
(foo/render :a "hello")