X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/0300c67b09d2d26318a8df1f8c5a92d1b2589db1..be2a6b23318edd40b491fc9f8a98360ae5618af7:/redakcja/static/js/wiki/xslt.js?ds=sidebyside diff --git a/redakcja/static/js/wiki/xslt.js b/redakcja/static/js/wiki/xslt.js index 46726c18..a97322a5 100644 --- a/redakcja/static/js/wiki/xslt.js +++ b/redakcja/static/js/wiki/xslt.js @@ -40,7 +40,7 @@ function withThemes(code_block, onError) { if (typeof withThemes.canon == 'undefined') { $.ajax({ - url: '/themes', + url: '/editor/themes', dataType: 'text', success: function(data) { withThemes.canon = data.split('\n'); @@ -59,12 +59,15 @@ function withThemes(code_block, onError) function xml2html(options) { + ALIEN_REGEX = /([^a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s<>«»\\*_!,:;?&%."'=#()\/-]+)/g; + withStylesheets(function() { var xml = options.xml.replace(/\/(\s+)/g, '
$1'); - xml = xml.replace(/([^a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s<>«»\\*_!,:;?%."'=#()\/-]+)/g, '$1'); +// xml = xml.replace(/([^a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s<>«»\\*_!,:;?&%."'=#()\/-]+)/g, '$1'); 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) { @@ -253,7 +256,7 @@ HTMLSerializer.prototype.serialize = function(rootElement, stripOuter) break; case TEXT_NODE: self.result += text_buffer; - text_buffer = token.node.nodeValue; + text_buffer = token.node.nodeValue.replace(/&/g, '&').replace(/