Pug, que antes se llamaba jade (y mucha información hay que buscarla como "jade"), es un lenguaje que "compila" a HTML, con influencia del CSS.
Por ejemplo, este código de pug:
div.card header h2 Hello section p ¿Qué tal, mundo? footer a.button.up Muy bien a.button.down Podría estar mejor
Compila al siguiente HTML:
<div class="card"> <header> <h2>Hello</h2> </header> <section> <p>¿Qué tal, mundo?</p> <footer> <a class="button up">Muy bien</a> <a class="button down">Podría estar mejor</a> </footer> </div>
DRY (Don't Repeat Yourself)
Pug tiene un potente motor para no tener que repetir bloques con estructuras de control. Por ejemplo, para mostrar todas las entradas de blog en una página web lo podríamos hacer así:
each entry in posts div.card(data-id=entry._id) header h2= entry.title section= entry.body