This commit is contained in:
Peter Uithoven 2025-02-14 17:12:53 +02:00 committed by GitHub
commit 76b300f463
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 23 additions and 2 deletions

View File

@ -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)
})
}
}

View File

@ -29,7 +29,7 @@ module.exports = {
if (config.allowIFrames) {
allowedTags.push('iframe')
allowedAttrs.push('allow')
allowedAttrs.push('allow', 'frameborder', 'allowfullscreen')
}
input = DOMPurify.sanitize(input, {