Skip to content

Commit 9d93f4f

Browse files
committed
html-utils: update cheerio usage to generate html code
1 parent 8859141 commit 9d93f4f

File tree

1 file changed

+10
-17
lines changed

1 file changed

+10
-17
lines changed

lib/html-utils.js

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55

66
var defaultPaddingBottom = 100 / CONFIG.DEFAULT_ASPECT_RATIO;
77

8+
function createCheerioElement(name) {
9+
return cheerio.load(`<${name}></${name}>`)(name);
10+
}
11+
812
function wrapContainer($element, data, options) {
913

1014
var aspectWrapperClass = options && options.aspectWrapperClass;
@@ -30,7 +34,7 @@
3034
}
3135
}
3236

33-
var $container = cheerio('<div>')
37+
var $container = createCheerioElement('div')
3438
.append($element);
3539

3640
if (aspectWrapperClass) {
@@ -45,7 +49,7 @@
4549
var hasMaxWidth = media && (media["max-width"] || media["min-width"] || media["width"] || verticalAspect);
4650

4751
if (hasMaxWidth || forceWidthLimitContainer) {
48-
$widthLimitContainer = cheerio('<div>')
52+
$widthLimitContainer = createCheerioElement('div')
4953
.append($container);
5054
}
5155

@@ -166,7 +170,7 @@
166170
&& data.href;
167171
},
168172
generate: function(data) {
169-
var $img = cheerio('<img>')
173+
var $img = createCheerioElement('img')
170174
.attr('src', data.href);
171175
if (data.title) {
172176
$img
@@ -190,7 +194,7 @@
190194
var givf = data.rel.indexOf('gifv') > -1;
191195
var autoplay = data.rel.indexOf('autoplay') > -1 || givf;
192196

193-
var $video = cheerio('<video' + (givf ? ' loop muted webkit-playsinline' : ' controls') + (autoplay ? ' autoplay' : '') + '>Your browser does not support HTML5 video.</video>');
197+
var $video = cheerio.load('<video' + (givf ? ' loop muted webkit-playsinline' : ' controls') + (autoplay ? ' autoplay' : '') + '>Your browser does not support HTML5 video.</video>')('video');
194198

195199
if (iframelyData && iframelyData.links) {
196200

@@ -279,8 +283,7 @@
279283
return data.type === "text/html" && data.href;
280284
},
281285
generate: function(data, options) {
282-
283-
var $iframe = cheerio('<iframe>')
286+
var $iframe = createCheerioElement('iframe')
284287
.attr('src', data.href)
285288
.css('border', '0')
286289
.attr('allowfullscreen', '');
@@ -334,16 +337,6 @@
334337
}
335338
};
336339

337-
export function generateElementWrapperHtml(element, link, options) {
338-
339-
if (typeof element === 'string') {
340-
element = cheerio(element);
341-
}
342-
343-
var $el = wrapContainer(element, link, options);
344-
return cheerio('<div>').append($el).html();
345-
};
346-
347340
export function generateLinkElementHtml(link, options) {
348341
var $el = generateLinkElement(link, options);
349342
if (_.isString($el)) {
@@ -352,7 +345,7 @@
352345
if (options && options.canonical && link.href !== options.canonical) {
353346
$el.attr('data-embed-canonical', options.canonical);
354347
}
355-
return cheerio('<div>').append($el).html();
348+
return $el.prop('outerHTML');
356349
} else {
357350
return '';
358351
}

0 commit comments

Comments
 (0)