embed-parser
v0.1.3
Published
A parser for get embed data from url
Downloads
8
Readme
embed-parser
A parser for get embed data from url, use oembed-parser for fallback
Installation
$ yarn add embed-parser
# or npm
$ npm install embed-parser
Usage
const embedParser = require('embed-parser')
embedParser('https://v.youku.com/v_show/id_XMzkyODgxODM2OA==.html').then(embed => {
console.log(embed)
// =>
// {
// type: 'video',
// version: '1.0',
// title: 'YouKu Video',
// provider_name: 'YouKu',
// provider_url: 'https://www.youku.com',
// html: '<iframe src="http://player.youku.com/embed/XMzkyODgxODM2OA==" width="640" height="360" frameborder="0" allowfullscreen></iframe>',
// width: 640,
// height: 360
// }
})
Features
- Extract embed by local rules
- use OEmbed for fallback
- Custom embed handler
API
embedParser(url)
Extract embed data from url.
url
- Type:
string
- Details: original url
embedParser.extract(url)
- alias to
embedParser(url)
embedParser.hasHandler(url)
Determine if there is a matching handler.
url
- Type:
string
- Details: original url
embedParser.hasProvider(url)
- alias to
embedParser.hasHandler(url)
embedParser.registerHandler(regex, handler, priority = 20)
Register an custom embed handler.
regex
- Type:
string
- Details: The regex that will be used to see if this handler should be used for a URL.
handler
- Type:
function
- Details: The handler function that will be called if the regex is matched.
priority
- Type:
number
- Details: The handler function priority
- Default: 20
example
embedParser.registerHandler('http://v.zce.me/item-(.+)', matches => {
return { html: `http://v.zce.me/embed/${matches[1]}` }
})
Contributing
- Fork it on GitHub!
- Clone the fork to your own machine.
- Checkout your feature branch:
git checkout -b my-awesome-feature
- Commit your changes to your own branch:
git commit -am 'Add some feature'
- Push your work back up to your fork:
git push -u origin my-awesome-feature
- Submit a Pull Request so that we can review your changes.
NOTE: Be sure to merge the latest from "upstream" before making a pull request!