Retrieving HTML from CouchBase into Node.js / Express 4 leaves it unrendered -
i'm having little issue rendering html, stored in couchbase, fetched node.js
in couchbase have several little html-snippets. contain text, tags such <br /> , html entities such <. of course of study stored escaped string in json.
so far, good. when pull out , display on page, rendered "as-is", without beingness interpreted html.
for example:
[ content ...] <p>lorem > ipsum<br />and line</p> [rest of content ...] from controller in express 4:
var express = require('express'); var router = express.router(); var couchbase = require('couchbase'); var cluster = new couchbase.cluster('couchbase://myserver'); var bucket = cluster.openbucket('somebucket', 'somepassword'); var entities = require('html-entities').xmlentities; entities = new entities(); var utf8 = require('utf8'); /* home page. */ router.get('/', function(req, res) { bucket.get('my:thingie:44', function(err, result) { if(err) throw err console.log(result); var html = utf8.decode(entities.decode(result.value.thingie.html)); // var html = utf8.encode(result.value.thingie.html); // var html = utf8.decode(result.value.thingie.html); res.render('index', { title: 'pagetitle', content: html }); }); }); it passed template (using hogan.js) rendering.
when looking found might have encoding of <'s , <'s prevent beingness parsed. can see converting attempts in code, none of options gave desired result, i.e. rendering contents html.
when using utf8.decode(), no difference. using utf8.encode(), no difference. using entities.decode() convert < < predicted, it's not rendered if <div;> becomes <div>.
any ideas?
i found solution on here: partials node.js + express + hogan.js
when putting html in hogan template, have utilize {{{var}}} instead of {{var}}. , renders beautifully, intended :)
wasn't encoding issues @ ;)
node.js express character-encoding couchbase html-entities
No comments:
Post a Comment