A fast, Django-inspired template system for Clojure with built-in filters, tags, and template inheritance.
Selmer is a fast, Django-inspired template system written in pure Clojure. It allows developers to generate dynamic HTML and other text formats using a familiar syntax with variables, filters, and tags. It solves the need for a robust, feature-rich templating engine in Clojure web applications.
Clojure web developers who need a powerful, Django-like templating system for server-side rendering, especially those familiar with Django or Jinja2 syntax.
Developers choose Selmer for its performance, extensive built-in filters and tags, template inheritance, and seamless integration with Clojure. It offers a mature alternative to Clojure's built-in templating with a more expressive syntax.
A fast, Django inspired template system in Clojure.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses familiar {{variable}} and {% tag %} patterns, making it accessible for developers from Django or Jinja2 backgrounds, as highlighted in the README's emphasis on Django inspiration.
Includes over 50 built-in filters for text manipulation, formatting, and logic, such as date formatting, pluralization, and hashing, with detailed examples provided in the README.
Supports extends and block tags for reusable layouts and component-based design, demonstrated in the README with examples of parent and child templates.
Allows custom tags and filters to be added using Clojure functions, as shown in the README with add-filter! and add-tag! macros for project-specific logic.
Changes in referenced templates (via include or extend) do not trigger automatic recompiles, requiring manual file touches or cache management, as warned in the README.
Heavily nested context maps with string keys are slower to render compared to keyword keys, a performance trade-off explicitly noted in the README.
As a niche Clojure library, it lacks the broad third-party plugin ecosystem and community support of more mainstream templating engines like Jinja2 or Handlebars.