Crinja - A Runtime Template Engine

Crinja is a template engine based on the famous Jinja2 template language with control structures, template inheritance and custom tags and filters. Most template engines for Crystal run at compile time, which needs to rebuild an application to change a template. Crinja evaluates templates at runtime, so you can use it for used-defined templates, dynamic configuration values, static-site generators and many other things (there are a few examples included). Rendering a template is as simple as:

tpl = Crinja::Template.new("Hello, {{ name | upper }}!")
tpl.render({"name" => "John"}) # => "Hello, JOHN!"

Usage API Documentation