Pug (bis 2016 Jade) ist eine einrückungsbasierte Template-Engine, die 2010 von TJ Holowaychuk für Node.js entwickelt wurde. Statt schließender Tags bestimmt die Einrückung die HTML-Verschachtelung — Templates werden dadurch deutlich kompakter und lesbarer.
Syntax
doctype html
html
head
title= seite.titel
body
h1 Hallo #{name}
ul
each item in liste
li= item
Mixins und Vererbung
Mixins sind wiederverwendbare Template-Bausteine:
mixin button(text)
button.btn= text
+button('Klick mich')
Mit extends layout und block inhalt lassen sich Seiten von einem Grundlayout erben, include partial bindet Fragmente ein. Interpolation funktioniert mit #{variable}, Ausgabe mit Gleichheitszeichen (li= item) oder != für unescaptes HTML.
Pug läuft in Node.js und ist fester Bestandteil des Express-Frameworks. Verwandt: Handlebars-Befehle, Mustache-Befehle und HTML/CSS-Befehle.