UNPKG

npf2html

Version:

Converts Tumblr's Neue Post Format to plain HTML

78 lines 2.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.renderAudio = renderAudio; /** * Converts {@link block} to HTML. * * @category Content */ function renderAudio(renderer, block) { let result = `<figure class="${renderer.prefix}-block-audio">`; if (block.media || !(block.embed_html || block.embed_url)) { const hasText = block.title || block.artist || block.album; const hasCaption = block.poster || block.attribution || hasText; if (block.media) { result += `<audio controls src="${renderer.escape(block.media[0].url)}">` + '</audio>'; if (hasCaption) result += '<figcaption>'; } else { result += `<a href="${renderer.escape(block.url)}">`; } if (block.poster) { result += renderer.renderImageMedia(block.poster); } if (block.title) { result += `<span class="${renderer.prefix}-block-audio-title">` + renderer.escape(block.title) + '</span>'; } if (block.artist) { if (block.title) result += ' - '; result += `<span class="${renderer.prefix}-block-audio-artist">` + renderer.escape(block.artist) + '</span>'; } if (block.album) { if (block.title || block.artist) result += ' on '; result += `<span class="${renderer.prefix}-block-audio-album">` + renderer.escape(block.album) + '</span>'; } if (!block.media) { if (!hasText) result += renderer.escape(block.url); result += '</a>'; } if (block.attribution) { if (!block.media) result += '<figcaption>'; result += renderer.renderAttribution(block.attribution); if (!block.media) result += '</figcaption>'; } if (block.media && hasCaption) result += '</figcaption>'; } else { result += block.embed_html ? block.embed_html : `<iframe src="${renderer.escape(block.embed_url)}"></iframe>`; if (block.attribution) { result += '<figcaption>' + renderer.renderAttribution(block.attribution) + '</figcaption>'; } } result += '</figure>'; return result; } //# sourceMappingURL=audio-block.js.map