Exemple #1
0
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);