Noembed - extendable oEmbed gateway
use Plack::Builder;
use Noembed;
my $noembed = Noembed->new;
builder {
# an oEmbed endpoint supporting lots of sites
mount "/embed" => builder {
enable "JSONP";
$noembed->to_app;
};
# a CSS file with all the styles
mount "/noembed.css" => $noembed->css_response;
# a JSON response describing all the supported sites
# and what URL patterns they match
mount "/providers" => $noembed->providers_response;
};
Noembed is an oEmbed gateway. It allows you to fetch information about external URLs, which can then be embeded HTML pages. Noembed supports a large list of sites and makes it easy to add more.
To add a new site to Noembed create a new class that inherits from Noembed::Source, Noembed::ImageSource, or Noembed::oEmbedSource and override the required methods.
To see an example of how to use Noembed from the client side, take a look at the demo in the eg/ directory. It accepts a URL and attempts to embed it in the page.
Noembed::Source, Noembed::ImageSource, Noembed::oEmbedSource, Noembed::Util, Web::Scraper
Lee Aylward
- Clint Ecker (Path support)
- Ryan Baumann (Spotify support)
- Bryce Kerley (Spelling fixes, Facebook and Twitter API help)
- Cameron Johnston (Instagram fix)
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.