From 18667e12719c61d92dbbb9e08762e4848c56a9cb Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 31 Mar 2013 14:44:45 +0100 Subject: Use dustjs for templating --- lib/web.js | 25 ++++++++++++------------- package.json | 3 ++- templates/convert.html | 4 ++-- 3 files changed, 16 insertions(+), 16 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) { diff --git a/package.json b/package.json index d1a1073..8607b47 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,8 @@ "lop": "~0.2.6", "zipfile": "~0.3.4", "optimist": "~0.3.5", - "connect": "~2.7.3" + "connect": "~2.7.3", + "dustjs-linkedin": "~1.2.1" }, "devDependencies": { "mocha": "~1.8" diff --git a/templates/convert.html b/templates/convert.html index a9da766..ecdb708 100644 --- a/templates/convert.html +++ b/templates/convert.html @@ -9,11 +9,11 @@

Mammoth

- {{documentHtml}} + {documentHtml|s}
-

Uploaded document:
{{documentName}}

+

Uploaded document:
{documentName}

-- cgit v1.2.3