#!/usr/bin/env node var hogan = require('hogan.js') , fs = require('fs') var layout, pages // compile layout template layout = fs.readFileSync(__dirname + '/../templates/layout.mustache', 'utf-8') layout = hogan.compile(layout, { sectionTags: [{o:'_i', c:'i'}] }) // retrieve pages pages = fs.readdirSync(__dirname + '/../templates/pages') // iterate over pages pages.forEach(function (name) { if (!name.match(/\.mustache$/)) return var page = fs.readFileSync(__dirname + '/../templates/pages/' + name, 'utf-8') , context = {} context[name.replace(/\.mustache$/, '')] = 'active' context._i = true page = hogan.compile(page, { sectionTags: [{o:'_i', c:'i'}] }) page = layout.render(context, { body: page }) fs.writeFileSync(__dirname + '/../' + name.replace(/mustache$/, 'html'), page, 'utf-8') })