Origin of this story is me being lazy, using JS for every practical application because it's cheap.
Naturally, JS has the best template engine for the web (almost exclusively; Golang has an analog, but it’s painful to use).
The beauty of Pug/Jade is its YAML-like indentation-based structure, which guarantees valid HTML output.
The only way to break HTML in Pug is to render raw, unescaped output - a rare necessity if you know what you’re doing.
This is what stopped me from adopting Golang’s tmpl: I never figured out how to validate templates without resorting
to an overly costly e2e test suite.
Here is the essential example of how I'm using it: