/noembed

oEmbed gateway service with additional non-oEmbed sources

Primary LanguagePerl

NAME

Noembed - extendable oEmbed gateway

SYNOPSIS

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;
};

DESCRIPTION

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.

EXAMPLES

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.

SEE ALSO

Noembed::Source, Noembed::ImageSource, Noembed::oEmbedSource, Noembed::Util, Web::Scraper

AUTHOR

Lee Aylward

CONTRIBUTORS

  • Clint Ecker (Path support)
  • Ryan Baumann (Spotify support)
  • Bryce Kerley (Spelling fixes, Facebook and Twitter API help)
  • Cameron Johnston (Instagram fix)

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.