| 123456789101112131415161718192021222324252627282930313233 |
- #!/usr/bin/env node
- var hogan = require('hogan.js')
- , fs = require('fs')
- , prod = process.argv[2] == 'production'
- 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
- context.production = prod
- 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')
- })
|