Using layouts and blocks in Jade
To allow us to easily create different templates, Jade supports template inheritance. Jade's template inheritance allows us to define a master layout template, and then replace parts of this template by extending the master layout.
In this recipe we're going to use template inheritance to simulate a complete website, containing a header, a menu, some content, and a footer. The content will be split into two pages.
Getting ready
The client-side version of Jade does not support layouts and blocks. Specifying the template to extend requires access to the filesystem which is not available inside the browser. However, we can precompile the templates using browserify. To do this we're going to write a browserify plugin that registers a handler for the Jade files.
Let's install the prerequisites first. We're going to need nodejs
, which can be downloaded from http://nodejs.org/. After installing node from a command prompt, we're going to install browserify Version 1...