mirror of
https://github.com/tjsga/website-2018.git
synced 2025-04-21 11:40:17 -04:00
38 lines
770 B
JavaScript
38 lines
770 B
JavaScript
// 3rd party
|
|
var express = require('express');
|
|
var hbs = require('hbs');
|
|
|
|
var app = express();
|
|
|
|
// set the view engine to use handlebars
|
|
app.set('view engine', 'hbs');
|
|
app.set('views', __dirname + '/views');
|
|
|
|
app.use(express.static(__dirname + '/public'));
|
|
|
|
var blocks = {};
|
|
|
|
hbs.registerHelper('extend', function(name, context) {
|
|
var block = blocks[name];
|
|
if (!block) {
|
|
block = blocks[name] = [];
|
|
}
|
|
|
|
block.push(context.fn(this)); // for older versions of handlebars, use block.push(context(this));
|
|
});
|
|
|
|
hbs.registerHelper('block', function(name) {
|
|
var val = (blocks[name] || []).join('\n');
|
|
|
|
// clear the block
|
|
blocks[name] = [];
|
|
return val;
|
|
});
|
|
|
|
app.get('/', function(req, res){
|
|
res.render('index');
|
|
});
|
|
|
|
app.listen(3000);
|
|
|