{
if (typeof withThemes.canon == 'undefined') {
$.ajax({
- url: '/themes',
+ url: '/editor/themes',
dataType: 'text',
success: function(data) {
withThemes.canon = data.split('\n');
function xml2html(options) {
+ ALIEN_REGEX = /([^a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s<>«»\\*_!,:;?&%."'=#()\/-]+)/g;
+
withStylesheets(function() {
var xml = options.xml.replace(/\/(\s+)/g, '<br />$1');
- xml = xml.replace(/([^a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s<>«»\\*_!,:;?%."'=#()\/-]+)/g, '<alien>$1</alien>');
+// xml = xml.replace(/([^a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s<>«»\\*_!,:;?&%."'=#()\/-]+)/g, '<alien>$1</alien>');
var parser = new DOMParser();
var serializer = new XMLSerializer();
var doc = parser.parseFromString(xml, 'text/xml');
+ walk(doc.firstChild, wrapInTag(ALIEN_REGEX, 'alien'))
var error = $('parsererror', doc);
if (error.length == 0) {
break;
case TEXT_NODE:
self.result += text_buffer;
- text_buffer = token.node.nodeValue;
+ text_buffer = token.node.nodeValue.replace(/&/g, '&').replace(/</g, '<');
break;
case COMMENT_NODE:
self.result += text_buffer;