Jade (maintenant connu sous le nom de Pug) est un moteur de template (ou moteur de gabarit) haute performance fortement influencé par Haml et implémenté en JavaScript pour Node.js et les navigateurs. Il est utilisé pour générer du balisage HTML dans un format extrêmement concis et lisible. Jade/Pug met l'accent sur la lisibilité du code et réduit considérablement le code répétitif (boilerplate) en utilisant l'indentation structurelle au lieu des balises de fermeture, une approche similaire à celle utilisée par Python. Cette méthode rend les modèles plus propres, moins verbeux et beaucoup plus faciles à maintenir. Le langage prend en charge des fonctionnalités avancées essentielles au développement web dynamique, telles que les variables, les boucles, les conditions, les mixins (blocs de code réutilisables) et les includes (permettant l'importation d'autres modèles). Les modèles Jade/Pug sont compilés en HTML, ce qui en fait un langage de templating côté serveur (server-side templating language). Il est couramment intégré dans des frameworks de développement web basés sur Node.js, comme Express.js, pour générer dynamiquement des pages HTML. L'extension de fichier '.jade' est utilisée pour stocker le code source de ces modèles. Bien que le projet ait été renommé Pug, de nombreux projets existants continuent d'utiliser l'extension '.jade'. L'utilisation de Jade/Pug permet aux développeurs d'écrire du code HTML plus efficace et maintenable, réduisant la redondance et améliorant la vitesse globale de développement.