app.get("/templates.js", function(req, res) { var hoganTemplateRenderer = HoganTemplateRenderer({ partialsDirectory: __dirname + "/public/templates" }) res.contentType("application/javascript"); res.send(hoganTemplateRenderer.getSharedTemplates()); });
var express = require('express'), app = module.exports = express.createServer(), HoganTemplateRenderer = require('hogan-template-compiler'), templateDirectory = __dirname + "/views", layoutTemplatePath = templateDirectory + "/layout.mustache", hoganTemplateRenderer = HoganTemplateRenderer({ partialsDirectory: templateDirectory + "/partials" }); /** * An Express compatible template compiler. */ var hoganCompiler = { compile: function(source, options) { var template; if (options.filename === layoutTemplatePath) { template = hoganTemplateRenderer.compileTemplateFile(layoutTemplatePath); } else { template = hoganTemplateRenderer.getTemplate(options.filename); } return function(locals) { return template.render(locals, hoganTemplateRenderer.getPartials()); }; } }; app.configure(function() { // Register the hogan renderer with the mustache file type. app.register('.mustache', hoganCompiler);