diff --git a/src/ServiceProviders/MediaProviders/dailymotion.js b/src/ServiceProviders/MediaProviders/dailymotion.js new file mode 100644 index 0000000..3dc777d --- /dev/null +++ b/src/ServiceProviders/MediaProviders/dailymotion.js @@ -0,0 +1,27 @@ +const baseMediaProvider = require('./baseMediaProvider') + +class dailymotionProvider extends baseMediaProvider { + constructor () { + super() + this.name = 'dailymotion' + this.response.type = 'iframe' + this.response.eventName = 'dailymotion' + } + matcher (link) { + if (link !== undefined || link !== '') { + var regExp = /^.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/ + var match = link.match(regExp) + if (match && match[2].length > 5) { + return match[2] + } + } + return false + } + extractContents (link) { + let match = this.matcher(link) + this.response.content = match + return true + } + +} +module.exports = dailymotionProvider diff --git a/src/ServiceProviders/providers.js b/src/ServiceProviders/providers.js index 8d199de..7d25cb7 100644 --- a/src/ServiceProviders/providers.js +++ b/src/ServiceProviders/providers.js @@ -1,5 +1,7 @@ const youtubeProvider = require('./MediaProviders/youtube') const vimeoProvider = require('./MediaProviders/vimeo') +const dailymotionProvider = require('./MediaProviders/dailymotion') + const pdfProvider = require('./MediaProviders/pdf') const docsProvider = require('./MediaProviders/docs') const applyMedia = require('./mediaProviderApplier') @@ -9,7 +11,8 @@ let matchers = { youtube: new youtubeProvider(), pdf: new pdfProvider(), docs: new docsProvider(), - 'vimeo': new vimeoProvider() + vimeo: new vimeoProvider(), + dailymotion: new dailymotionProvider() } module.exports = { diff --git a/src/index.html b/src/index.html index 7d45e5b..105fe3e 100644 --- a/src/index.html +++ b/src/index.html @@ -11,7 +11,7 @@
Start by pasting any youtube/vimeo url. For bugs, you can create issues at github.com/poush/h2
+Start by pasting any youtube/vimeo/dailymotion url. For bugs, you can create issues at github.com/poush/h2