X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/690fb9ef0a8964fb7b7f18eb8c7243ac03cf4b47..9201c5810622e27a19de7e331046108d7110c46b:/modules/visualEditor.transformations.js?ds=sidebyside diff --git a/modules/visualEditor.transformations.js b/modules/visualEditor.transformations.js index 49f9aa3..57049e7 100644 --- a/modules/visualEditor.transformations.js +++ b/modules/visualEditor.transformations.js @@ -11,7 +11,6 @@ if(typeof module !== 'undefined' && module.exports) { var inner = $(xml).clone(); var toret = $('
'); toret.append(inner); - toret.find('metadata').remove(); var toBlock = ['div', 'document', 'section', 'header']; var toInline = ['aside', 'span']; @@ -20,11 +19,12 @@ if(typeof module !== 'undefined' && module.exports) { tagName = tagName.toLowerCase(); console.log('running ' + tagName); toret.find(tagName).replaceWith(function() { - var suffix = tagName !== 'div' ? tagName : 'block'; - var toret = $('
').attr('wlxml-tag', suffix); var currentTag = $(this); + if(currentTag.attr('wlxml-tag')) + return; + var toret = $('
').attr('wlxml-tag', tagName); if(currentTag.attr('class')) - toret.attr('wlxml-class', currentTag.attr('class')); + toret.attr('wlxml-class', currentTag.attr('class').replace(/\./g, '-')); toret.append(currentTag.contents()); return toret; }); @@ -34,9 +34,11 @@ if(typeof module !== 'undefined' && module.exports) { tagName = tagName.toLowerCase(); toret.find(tagName).replaceWith(function() { var currentTag = $(this); + if(currentTag.attr('wlxml-tag')) + return; var toret = $('').attr('wlxml-tag', tagName); if(currentTag.attr('class')) - toret.attr('wlxml-class', currentTag.attr('class')); + toret.attr('wlxml-class', currentTag.attr('class').replace(/\./g, '-')); toret.append(currentTag.contents()); return toret; }); @@ -69,15 +71,20 @@ if(typeof module !== 'undefined' && module.exports) { toret.find('div, span').replaceWith(function() { var div = $(this); var tagName = div.attr('wlxml-tag'); - return $('<'+tagName+'>').append(div.contents()); + var toret = $('<'+tagName+'>'); + if(div.attr('wlxml-class')) + toret.attr('class', div.attr('wlxml-class').replace(/-/g, '.')) + toret.append(div.contents()); + return toret; }); - var meta = $(''); + var meta = $('\n'); _.each(_.keys(documentDescription.metadata), function(key) { - meta.append($('' + documentDescription.metadata[key] + '')); + meta.append('\n\t' + documentDescription.metadata[key] + ''); }); + meta.append('\n'); - toret.find('document').prepend(meta); + toret.find('metadata').replaceWith(meta); return toret.html();