diff options
| author | Michael Williamson <mike@zwobble.org> | 2013-03-31 14:44:45 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2013-03-31 14:44:45 +0100 |
| commit | 18667e12719c61d92dbbb9e08762e4848c56a9cb (patch) | |
| tree | 8efe67ac5e4a8c623c5b4d8eb92c3bd848596466 /lib | |
| parent | 94d1d9b01df5faeb56ec9aab275c3370183697ff (diff) | |
Use dustjs for templating
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/web.js | 25 |
1 files changed, 12 insertions, 13 deletions
@@ -3,8 +3,16 @@ var connect = require("connect"); var url = require("url"); var fs = require("fs"); var q = require("q"); +var dust = require("dustjs-linkedin"); + var mammoth = require("./"); + +dust.onLoad = function(templateName, callback) { + fs.readFile("templates/" + templateName, "utf-8", callback) +}; + + function startServer(options) { var app = connect() .use(connect.bodyParser()) @@ -70,24 +78,15 @@ function renderTemplate(request, response, next) { return next(); } var templateName = request.template.name; - q.nfcall(fs.readFile, "templates/" + templateName, "utf-8") - .then(function(templateContent) { - var values = request.template.values || {}; - var content = templateContent; - for (var key in values) { - if (Object.prototype.hasOwnProperty.call(values, key)) { - content = content.replace("{{" + key + "}}", values[key]); - } - } + + q.nfcall(dust.render, templateName, request.template.values) + .then(function(content) { response.writeHead(200, { "content-type": "text/html; charset=utf-8" }); response.end(content); }) - .fail(function(error) { - console.log(error); - next(error); - }); + .fail(next); } if (require.main === module) { |
