Browse Source

Convert oembed into youtube or vimeo iframe

pull/5314/head
peteruithoven 2 years ago
parent
commit
443cc052c3
1 changed files with 22 additions and 1 deletions
  1. 23
      server/modules/rendering/html-mediaplayers/renderer.js

23
server/modules/rendering/html-mediaplayers/renderer.js

@ -1,5 +1,26 @@
const rxYoutube = /^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/)|(?:(?:watch)?\?v(?:i)?=|&v(?:i)?=))([^#&?]*).*/
const rxVimeo = /^.*(vimeo\.com\/)((channels\/[A-z]+\/)|(groups\/[A-z]+\/videos\/))?([0-9]+)/
module.exports = {
init($, config) {
$('oembed').each((i, elm) => {
const url = $(elm).attr('url')
const ytMatch = url.match(rxYoutube)
let src
if (ytMatch) {
src = `https://www.youtube.com/embed/${ytMatch[1]}`
} else {
const vmMatch = url.match(rxVimeo)
if (vmMatch) {
src = `https://player.vimeo.com/video/${vmMatch[5]}`
} else {
return
}
}
const newElm = $(`<div class="video-responsive">
<iframe type="text/html" width="640" height="360" src="${src}" frameborder="0" allowfullscreen></iframe>
</div>`)
$(elm).parent().replaceWith(newElm)
})
}
}
Loading…
Cancel
Save