npf2html
Version:
Converts Tumblr's Neue Post Format to plain HTML
50 lines • 1.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.renderVideo = renderVideo;
/**
* Converts {@link block} to HTML.
*
* @category Content
*/
function renderVideo(renderer, block) {
var _a, _b;
let result = `<figure class="${renderer.prefix}-block-video">`;
if (block.media) {
result +=
'<video src="' + renderer.escape((_b = (_a = block.media) === null || _a === void 0 ? void 0 : _a.url) !== null && _b !== void 0 ? _b : block.url) + '"';
if (block.poster) {
result +=
' poster="' +
renderer.escape(block.poster.reduce((biggest, current) => biggest && biggest.width > current.width ? biggest : current).url) +
'"';
}
result += '></video>';
}
else if (block.embed_html) {
result += block.embed_html;
}
else if (block.embed_iframe) {
result +=
`<iframe src="${renderer.escape(block.embed_iframe.url)}"` +
` width="${block.embed_iframe.width}"` +
` height="${block.embed_iframe.height}"></iframe>`;
}
else if (block.embed_url) {
result += `<iframe src="${renderer.escape(block.embed_url)}"></iframe>`;
}
else {
result +=
`<a href="${renderer.escape(block.url)}">` +
renderer.escape(block.url) +
'</a>';
}
if (block.attribution) {
result +=
'<figcaption>' +
renderer.renderAttribution(block.attribution) +
'</figcaption>';
}
result += '</figure>';
return result;
}
//# sourceMappingURL=video-block.js.map