Giter VIP home page Giter VIP logo

embetty's Introduction

embetty ยท Build Status Dependency Status JavaScript Style Guide

Embetty displays remote content like tweets or videos without compromising your privacy.

Embetty

See it in action on our demo pages.

Quick Start

  1. Setup your embetty-server.
  2. Include the embetty lib into your HTML document.
  3. Insert an embed by using a custom tag (see embeds section below).

Example:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta data-embetty-server="/path/to/embetty-server">
  <script async src="embetty.js"></script>
</head>
<body>
  <embetty-tweet status="1166685910030790662"></embetty-tweet>
</body>
</html>

Documentation

Configure the Embetty server

Embetty needs a server component that you need to run on your infrastructure. Configure the server URL for embetty using a <meta data-embetty-server> tag:

<head>
  <meta data-embetty-server="/path/to/embetty-server">
</head>

Including embetty.js

There are three options.

  1. Download an Embetty archive from the releases page. Make embetty.js available on your site.
  2. Use Embetty in your npm project: yarn add @heise/embetty or npm install @heise/embetty --save. Then import embetty into your main script (i.e. import '@heise/embetty').
  3. Clone this repository and build ./dist/embetty.js:
    $ git clone https://github.com/heiseonline/embetty
    $ cd embetty
    $ yarn
    $ yarn build

Supported embed types

Currently, tweets and various video platforms are supported.

Tweet

Use the status attribute to embed a tweet with its tweet ID. Example:

<embetty-tweet status="950371792874557440"></embetty-tweet>

Use the include-thread attribute to include the thread above the tweet (i.e. the conversation so far, for context). Example:

<embetty-tweet status="950371792874557440" include-thread></embetty-tweet>

Video

Use the type attribute with a value of facebook, vimeo or youtube. Set the video-id attribute to the video ID.

<embetty-video type="facebook" video-id="10156049485672318"></embetty-video>

Use the poster-image attribute with an URL. This overwrites the preview image of the video.

<embetty-video type="facebook" video-id="10156049485672318" poster-image="www.test.com/image.jpg"></embetty-video>

For videos of type vimeo or youtube, it's also possible to set a start-at attribute with a value of time in seconds to start the video at a specific timecode.

<embetty-video type="youtube" start-at="96" video-id="3L4fHrIJ3A4"></embetty-video>
<embetty-video type="vimeo" start-at="96" video-id="223099532"></embetty-video>

Events

Embetty triggers the following events:

Name Description
initialized The Embetty embed will enter the viewport after this has been triggered.
activated The Embetty video embed has been replaced with an iframe containing the original video player. The content of the iframe may still be loading.

Example code:

document.querySelector('embetty-tweet').addEventListener('initialized', function(e) { ... })

Testing

  1. Clone this repository.
  2. yarn
  3. export the TWITTER_ tokens mentioned in https://github.com/heiseonline/embetty-server
  4. yarn test

Caveats

The Embetty server component does not proxy video data. This means that the tracking protection becomes ineffective after the play button has been clicked.

License

Embetty is MIT licensed.

embetty's People

Contributors

pmb0 avatar compeak avatar stevenkowalzik avatar mick352 avatar greenkeeper[bot] avatar ausminternet avatar dependabot-preview[bot] avatar danielruf avatar rbraband avatar schliflo avatar benjaminherbert avatar bdeutsch-heise avatar dependabot[bot] avatar luto 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.