add support for inline SVG

This commit is contained in:
alexadam 2016-09-12 10:57:35 +03:00
parent 586173d87f
commit f046e72253
2 changed files with 13 additions and 1 deletions

View file

@ -67,10 +67,20 @@ function extractCanvasToImg($htmlObject) {
}); });
} }
function extractSvgToImg($htmlObject) {
var serializer = new XMLSerializer();
$htmlObject.find('svg').each(function (index, elem) {
var svgXml = serializer.serializeToString(elem);
var imgSrc = 'data:image/svg+xml;base64,' + window.btoa(svgXml);
$(elem).replaceWith('<img src="' + imgSrc + '">' + '</img>');
});
}
function preProcess($htmlObject) { function preProcess($htmlObject) {
extractMathMl($htmlObject); extractMathMl($htmlObject);
extractCanvasToImg($htmlObject); extractCanvasToImg($htmlObject);
$htmlObject.find('script, style, svg, noscript, iframe').remove(); extractSvgToImg($htmlObject);
$htmlObject.find('script, style, noscript, iframe').remove();
$htmlObject.find('*:empty').not('img').remove(); $htmlObject.find('*:empty').not('img').remove();
formatPreCodeElements($htmlObject); formatPreCodeElements($htmlObject);
} }

View file

@ -53,6 +53,8 @@ function getFileExtension(fileName) {
tmpFileName = tmpFileName.toLowerCase(); tmpFileName = tmpFileName.toLowerCase();
if (tmpFileName === 'jpg') { if (tmpFileName === 'jpg') {
tmpFileName = 'jpeg'; tmpFileName = 'jpeg';
} else if (tmpFileName === 'svg+xml') {
tmpFileName = 'svg';
} else if (tmpFileName.trim() === '') { } else if (tmpFileName.trim() === '') {
tmpFileName = ''; tmpFileName = '';
} }