mirror of
https://github.com/overleaf/overleaf.git
synced 2024-12-04 20:44:44 -05:00
33 lines
907 B
JavaScript
33 lines
907 B
JavaScript
|
#!/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')
|
||
|
})
|