A modern templating language for Emacs-Lisp. Inspired on Jinja, templatel brings a high level language for expanding variables with conditional and loop control flow structures.
- Website: https://emacs.love/templatel
- Documentation: https://emacs.love/templatel/doc
- Code: https://github.com/emacs-love/templatel
- Issues: https://github.com/emacs-love/templatel/issues
<h1>{{ title }}</h1>
<ul>
{% for user in users %}
<li><a href="{{ user.url }}">{{ user.name }}</a></li>
{% endfor %}
</ul>
That can be rendered with the following Emacs Lisp code:
(templatel-render-file "tmpl.html.jinja"
'(("title" . "A nice web page")
("users" . ((("url" . "https://emacs.love")
("name" . "link"))
(("url" . "https://gnu.org")
("name" . "Gnu!!"))))))
The rendered code would look like this:
<h1>A nice web page</h1>
<ul>
<li><a href="https://emacs.love">link</a></li>
<li><a href="https://gnu.org">Gnu!!</a></li>
</ul>