mirror of https://github.com/requarks/wiki
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
892 B
27 lines
892 B
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)
|
|
})
|
|
}
|
|
}
|