X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/a22d30b71f012cf8653319e6743440abf7be52a8..39305f915559082f17b7a5b8fd7521ee05181fec:/modules/visualEditor.transformations.js?ds=sidebyside diff --git a/modules/visualEditor.transformations.js b/modules/visualEditor.transformations.js index 9d21f5d..c2b0d3a 100644 --- a/modules/visualEditor.transformations.js +++ b/modules/visualEditor.transformations.js @@ -14,14 +14,14 @@ if(typeof module !== 'undefined' && module.exports) { toret.find('metadata').remove(); var toBlock = ['div', 'document', 'section', 'header']; - var toInline = ['aside']; + var toInline = ['aside', 'span']; toBlock.forEach(function(tagName) { tagName = tagName.toLowerCase(); console.log('running ' + tagName); toret.find(tagName).replaceWith(function() { var suffix = tagName !== 'div' ? tagName : 'block'; - return $('
').addClass('rng-' + suffix).append($(this).contents()); + return $('
').attr('wlxml-tag', suffix).append($(this).contents()); }); }); @@ -29,7 +29,7 @@ if(typeof module !== 'undefined' && module.exports) { tagName = tagName.toLowerCase(); toret.find(tagName).replaceWith(function() { var node = this; - return $('').addClass('rng-' + tagName).append($(this).contents()); + return $('').attr('wlxml-tag', tagName).append($(this).contents()); }); }); return toret.children(); @@ -52,7 +52,26 @@ if(typeof module !== 'undefined' && module.exports) { transformations.toXML = { getXML: function(documentDescription) { - return documentDescription.HTMLTree; + + var inner = $(documentDescription.HTMLTree); + var toret = $('
'); + toret.append(inner); + + toret.find('div, span').replaceWith(function() { + var div = $(this); + var tagName = div.attr('wlxml-tag'); + return $('<'+tagName+'>').append(div.contents()); + }); + + var meta = $(''); + _.each(_.keys(documentDescription.metadata), function(key) { + meta.append($('' + documentDescription.metadata[key] + '')); + }); + + toret.find('document').prepend(meta); + + return toret.html(); + } }