Docs

embedo

A simple, lightweight and standalone content embed plugin for web

embedo.js

Bower version npm version
        
 /**
  * @implements Embedo setup
  *
  * @package {npm} npm install embedo --save
  * @package {bower} bower install embedo
  *
  * @import {jsdelivr} https://cdn.jsdelivr.net/npm/embedo
  * @import {cdnjs} https://cdnjs.com/libraries/embedo
  * @import {unpkg} https://unpkg.com/embedo
  */

  import Embedo from './my/vendor/folder';

  const embedo = new Embedo({
    facebook: {
      appId: 'my_app_id', // Enable facebook SDK
      version: 'v2.10'
    },
    twitter: true,  // Enable twitter SDK
    instagram: true,  // Enable instagram SDK
    pinterest: true  // Enable pinterest SDK,
    googlemaps: {
      key: 'my_api_key' // Enables google maps API
    }
  });

  // Calling .load() event (HTMLElement, url[String|Array], options[Object])
  embedo.load(
    document.getElementById('my-awesome-container'),
    'https://twitter.com/Twitter/status/849866660882206721'
  );

  // OR calling .load() event (HTMLElement, url[String|Array], options[Object])
  embedo.load(
    document.getElementById('my-awesome-container'), [
    'https://www.instagram.com/p/BX3fMnRjHpZ',
    'https://www.instagram.com/p/BX3ejdJHmkD',
    'https://www.instagram.com/p/BX3VEDqFvmg'
  ], {
    hidecaption: false
  });

  // Load with native and external options
  embedo.load(
    document.getElementById('my-awesome-container'),
    'https://www.instagram.com/p/BSoJJjQA3Td/',
    {
      width: 640,
      height: 480,
      hidecaption: true
    }
  );

  // Also, the jQuery way
  embedo.load($('my-awesome-container').get(0), 'my://url');

  // Refresh event (if no element passed, refreshes all embedo instances)
  embedo.refresh(document.getElementById('my-awesome-container'));

  // Destroy event (if no element passed, destroys all embedo instances)
  embedo.destroy(document.getElementById('my-awesome-container'));

  // Event Handlers to watch element mutated, refreshed or removed
  embedo.on('watch', (event, result) => {});
  embedo.on('refresh', (result, data) => {});
  embedo.on('destroy', () => {});
        
      

What's currently supported?

Facebook URLs containing post, photos and videos
Twitter URLs containing user timeline and tweets
YouTube videos URLs, playlists will play in loop
Instagram URLs containing posts and videos
Pinterest URLs containing posts and pins
Vimeo URLs containing videos
Google Maps URLs containing cordinates to a location
Embeds other urls including .pdf, .mp4, .webm and other formats as alternative