A Java implementation of the Pug template engine that processes templates without requiring JavaScript.
Jade4j (now renamed to Pug4j) is a Java implementation of the Pug template engine that allows developers to process Pug templates directly in Java applications without requiring a JavaScript environment. It solves the problem of using Pug's concise, whitespace-sensitive syntax in Java-based web projects while maintaining full compatibility with the original Pug syntax.
Java developers building web applications who want to use Pug templates for server-side rendering, particularly those working with Spring, Jooby, or Vert.x frameworks.
Developers choose Jade4j because it provides native Java performance with 3-4x faster expression evaluation using JEXL, maintains full Pug syntax compatibility, and offers seamless integration with popular Java web frameworks without JavaScript runtime dependencies.
a pug implementation written in Java (formerly known as jade)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports almost the entire Pug 2 syntax, allowing seamless template sharing between JavaScript and Java environments without modification.
Uses the JEXL expression engine for 3-4x faster evaluation than previous implementations, enhancing server-side rendering speed in Java apps.
Implements caching to avoid redundant parsing of unchanged templates, with a configurable option to disable it for development workflows.
Offers out-of-the-box integrations with Spring, Jooby, and Vert.x, simplifying adoption in popular Java web application frameworks.
JEXL's semi-strict mode and reserved words like 'new' and 'size' can cause unexpected null/false evaluations or require awkward bracket notation for property access.
Several versions (e.g., 1.3.0, 1.2.0, 1.0.0) introduced breaking changes, such as scoping adjustments and filter interface updates, complicating upgrades for existing projects.
Comes with only plain and cdata filters; custom filters for Markdown or CoffeeScript require additional implementation and dependency management compared to the JavaScript Pug ecosystem.