Skip to content

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

Notifications You must be signed in to change notification settings

FloEdelmann/embetty-vue

Folders and files

NameName
Last commit message
Last commit date
Jan 27, 2025
May 13, 2021
Jul 30, 2018
Jul 26, 2020
Aug 8, 2018
May 13, 2021
Aug 7, 2018
Aug 7, 2018
May 13, 2021
Sep 3, 2024
Nov 1, 2023
May 13, 2021

Repository files navigation

embetty-vue npm

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

This is a Vue.js alternative to the original embetty implementation (which is based on Web Components). To use it, you need to have a embetty server up and running.

Usage

Setup when using a bundler (webpack, rollup, etc.)

import Vue from 'vue';
import EmbettyVue from 'embetty-vue';

const Vue = require('vue');
const { EmbettyVue } = require('embetty-vue');

Vue.use(EmbettyVue, {
  // optional, but recommended
  serverUrl: '/path/to/embetty-server', // without trailing slash

  // optional
  posterImageMode: 'cover' // or 'contain'
});

The CSS can be imported from embetty-vue/dist/embetty-vue.css.

Setup when directly linking the files

In your HTML head:

<link rel="stylesheet" type="text/css" href="dist/embetty-vue.min.css" />
<meta data-embetty-server="/path/to/embetty-server" /> <!-- without trailing slash -->
<script type="text/javascript" src="vue.js"></script>
<script type="text/javascript" src="dist/embetty-vue.browser.min.js"></script>

You can link to the files without .min for debugging.

Using the components

<embetty-tweet status="928365837123227654" />
<embetty-video type="youtube" video-id="m6UOo2YGbIE" />

If you didn't specify the server URL globally (either the options passed to Vue.use or the <meta> tag), you must specify it on every component:

<embetty-tweet server-url="/path/to/embetty-server" status="928365837123227654" />
<embetty-video server-url="/path/to/embetty-server" type="youtube" video-id="m6UOo2YGbIE" />

See src/App.vue for a lot of examples and component options.

Differences to original implementation

embetty-vue's <embetty-video> component supports type native: Provide an URL to a video file as video-id to load it on click in a <video> HTML element.

Development

Project setup

npm install

Compiles and hot-reloads for development

npm run watch

Compiles and minifies for production

npm run build