UNPKG

ashleshajs

Version:

AshleshaJS is a framework to build high performance and maintainable single page web applications. It uses ExpressJS and YUI3 as foundation. It is tightly coupled with Twitter Bootstrap for the CSS framework but you can use any other framework as well.

44 lines (34 loc) 1.19 kB
#!/usr/bin/env node var hogan = require('hogan.js') , fs = require('fs') , prod = process.argv[2] == 'production' , title = 'Twitter Bootstrap' 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 context.title = name .replace(/\.mustache/, '') .replace(/\-.*/, '') .replace(/(.)/, function ($1) { return $1.toUpperCase() }) if (context.title == 'Index') { context.title = title } else { context.title += ' · ' + title } 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') })