Giter Site home page Giter Site logo

its4nik / iframely Goto Github PK

View Code? Open in Web Editor NEW

This project forked from itteco/iframely

0.0 0.0 0.0 11.33 MB

oEmbed proxy. Supports over 1800 domains via custom parsers, oEmbed, Twitter Cards and Open Graph

Home Page: https://iframely.com

License: Other

Shell 0.01% JavaScript 95.91% Makefile 0.16% Dockerfile 0.06% EJS 2.78% Jinja 1.08%

iframely's Introduction

Iframely API for Responsive Web Embeds and URL Meta

This is the self-hosted version of Iframely's APIs and HTML parsers.

Iframely takes your URL and returns its metadata. If supported on the URL, we'll add HTML of rich media embeds. Think layers, posts, slideshows, surveys, infographics, maps and more.

This package includes specific domain parsers for most popular publishers. YouTube, Facebook, Instagram, Twitter, SoundCloud, Google Maps, TED, Twitch and many more. See /plugins/domains folder. In addition, we cover many domains by whitelisting media through the generic publishing protocols: oEmbed, Open Graph, Twitter Cards and microformats. For the rest of URLs, you'll include have metadata and thumbnail images from those protocols. Use it to create your own URL previews.

Iframely's whitelist file is fetched from our central database. The changes are synced automatically to your instance by default. But you replace that with your own whitelist file. There should be over 1500 domains covered by the central whitelist.

Breaking changes in version 2.0.0

The minimum version of the Node required for Iframely starting from version 2.0.0 is Node 14. Please see migration steps from earlier versions.

API endpoints

To make use of the data, you need to connect to APIs over HTTP. There are two endpoints available. One in oEmbed and one in Iframely API format. The oEmbed endpoint is just an adapter from Iframely to oEmbed spec.

Iframely format mimics the <head> section of the page. It has meta field for data and links array for media.

Both endpoints accept &url= input and provide JSON response. Below are some open responses from our cloud API, so you can see the format:

You can use Iframely can as Node.js library. That's how we use it in the cloud. However, documentation on it is lacking.

Not included as compared to Cloud API

Hosted cloud APIs can optionally return Iframely.com-powered iFrame renders in the html field. iFrames deliver all hosted widgets such as cards for URL previews, GIF support, player events, AMP, and others. Our per-URL customization, predictive sizing mechanism for JavaScript-based embeds to minimize the layout shift, lazy-loading, type-based media whitelist and the number of other configurations are only available in the cloud.

This open-source version provides the web parsers only. Iframely cloud use data from those parsers as-is in production. Though the format of API endpoints between the cloud and self-hosted version should match, there might be minor discrepancies.

Finally, there's a number of domain plugins not included in self-hosted version. We seem to have stopped adding new publishers to the open-source. It looks like many of our later providers need quicker turnaround time for updates and fixes. You can extend the self-hosted version with private plugins too.

Get started:

To get started with the APIs:

Contribute

We put our best effort to maintain Iframely and all its domain parsers. Please, feel free to reach us on Twitter or to submit an issue if you have any suggestions. Our support email is support at iframely.com

Fork and pull-request, if you'd like to add more plugins and/or contribute fixes or improvements. By doing so, you make your work available under the same MIT license.

Please submit your PR against develop branch. This is where everything gets merged before we release it into master.

License & Authors

MIT License. (c) 2012-2022 Itteco Software Corp. Nazar Leush, Ivan Paramonau and the contributors.

iframely's People

Contributors

nleush avatar iparamonau avatar victorenator avatar garmoncheg avatar joltcan avatar panzi avatar eabehr avatar yellowby avatar siniakinaa avatar dependabot[bot] avatar j0k3r avatar marwonline avatar normandohall avatar elenakastritsa avatar leereilly avatar morantron avatar trevorah avatar aariacarterweir avatar jangarcia avatar itarcontact avatar torbenbrodt avatar sreuter-atl avatar gromnan avatar justjosias avatar js1010111 avatar freelook avatar suprememoocow avatar ajwild avatar asap avatar fent avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.