aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2013-03-31 14:44:45 +0100
committerMichael Williamson <mike@zwobble.org>2013-03-31 14:44:45 +0100
commit18667e12719c61d92dbbb9e08762e4848c56a9cb (patch)
tree8efe67ac5e4a8c623c5b4d8eb92c3bd848596466 /lib
parent94d1d9b01df5faeb56ec9aab275c3370183697ff (diff)
Use dustjs for templating
Diffstat (limited to 'lib')
-rw-r--r--lib/web.js25
1 files changed, 12 insertions, 13 deletions
diff --git a/lib/web.js b/lib/web.js
index 7036e53..33d28f3 100644
--- a/lib/web.js
+++ b/lib/web.js
@@ -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) {