express-blocks v0.2.2
express-blocks
Middleware for Express that adds basic block support to views.
This was initially prototyped by Laurie Harper. Thanks Laurie!
Installation
Easy peasy:
npm install express-blocksPlease note the version you install and only specify that exact version as your dependency while this is in development. Breaking changes are likely!
Usage
In your app.js, register this middleware:
app.use(require('express-blocks'));Then in your (top-level) layout, name and add placeholders for your desired
blocks (e.g. in EJS syntax):
<%- blocks.foo %>
...
<%- blocks.bar %>And from your views (or intermediate layouts), add arbitrary HTML to those
blocks via the block() function:
<%- block('foo', '<p>Hello world!</p>') %>You can use the helper script() and stylesheet() functions to generate
generate staple <script> and <link rel="stylesheet"> references for you:
<%- script('/path/to/script.js') %>
<%- stylesheet('/path/to/stylesheet.js') %>Which are exposed to (top-level) layouts as blocks named scripts and
stylesheets, also aliased globally just like body:
<%- scripts %>
<%- stylesheets %>As Borat would say, niiice!
Example
Run the included Express example:
node example/app.jsThen open your browser to http://localhost:8080/ to see it in action.
Testing
You can verify that everything works as expected via:
npm testIf you want to submit a pull request, be sure to add a test case, too!
License
MIT License. Copyright © 2011 Aseem Kishore and Laurie Harper.