twbs--bootstrap/docs/build/index.js

44 lines
1.2 KiB
JavaScript
Raw Normal View History

2012-01-23 22:14:16 +00:00
#!/usr/bin/env node
var hogan = require('hogan.js')
, fs = require('fs')
2012-02-02 00:38:58 +00:00
, prod = process.argv[2] == 'production'
, title = 'Twitter Bootstrap'
2012-01-23 22:14:16 +00:00
var layout, pages
// compile layout template
layout = fs.readFileSync(__dirname + '/../templates/layout.mustache', 'utf-8')
layout = hogan.compile(layout, { sectionTags: [{o:'_i', c:'i'}] })
2012-01-23 22:14:16 +00:00
// retrieve pages
pages = fs.readdirSync(__dirname + '/../templates/pages')
// iterate over pages
pages.forEach(function (name) {
2012-01-27 22:44:05 +00:00
if (!name.match(/\.mustache$/)) return
2012-01-27 22:43:41 +00:00
2012-01-23 22:14:16 +00:00
var page = fs.readFileSync(__dirname + '/../templates/pages/' + name, 'utf-8')
, context = {}
context[name.replace(/\.mustache$/, '')] = 'active'
context._i = true
2012-02-02 00:38:58 +00:00
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'}] })
2012-01-23 22:14:16 +00:00
page = layout.render(context, {
body: page
})
fs.writeFileSync(__dirname + '/../' + name.replace(/mustache$/, 'html'), page, 'utf-8')
})