|
@ -1,6 +1,9 @@ |
|
|
'use strict'; |
|
|
'use strict'; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var assign = require('object-assign'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function escapeHtml(str) { |
|
|
function escapeHtml(str) { |
|
|
return str.replace(/&/g, '&') |
|
|
return str.replace(/&/g, '&') |
|
|
.replace(/</g, '<') |
|
|
.replace(/</g, '<') |
|
@ -85,13 +88,16 @@ rules.text = function (state, token) { |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// TODO: Stub. Do extendable.
|
|
|
// Renderer class
|
|
|
function Renderer() { |
|
|
function Renderer() { |
|
|
|
|
|
// Clone rules object to allow local modifications
|
|
|
|
|
|
this.rules = assign({}, rules); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
Renderer.prototype.render = function (state) { |
|
|
Renderer.prototype.render = function (state) { |
|
|
var i, len, rule, |
|
|
var i, len, rule, |
|
|
tokens = state.tokens; |
|
|
tokens = state.tokens, |
|
|
|
|
|
rules = this.rules; |
|
|
|
|
|
|
|
|
for (i = 0, len = tokens.length; i < len; i++) { |
|
|
for (i = 0, len = tokens.length; i < len; i++) { |
|
|
rule = rules[tokens[i].type]; |
|
|
rule = rules[tokens[i].type]; |
|
|