demjhonsilver / embedia-vue

Embedia Vue is an embed package for Vue which can embed from platforms like Facebook, Instagram, TikTok, YouTube/Shorts, Twitter/X, Vimeo and Dailymotion.
https://demjhonsilver.github.io/embedia-vue-docs
MIT License
2 stars 0 forks source link
embed javascript video vue vue3

Logo

# Embedia Vue [![npm version](https://img.shields.io/npm/v/embedia-vue.svg?logo=npm&style=flat-square&label=Latest&color=blue)](https://www.npmjs.com/package/embedia-vue) ![Build Status](https://img.shields.io/badge/Build-Passing-brightgreen?style=flat-square) ![Package Size](https://img.shields.io/bundlephobia/minzip/embedia-vue?style=flat-square&color=yellow) ![Downloads](https://img.shields.io/npm/dt/embedia-vue.svg?style=flat-square&label=Downloads&color=orange) [![License](https://img.shields.io/npm/l/embedia-vue.svg?style=flat-square&label=License&color=green)](https://github.com/demjhonsilver/embedia-vue/blob/main/LICENSE.md)

Table of Contents

Description

Embedia Vue is an embed package for Vue which can embed from platforms like Facebook, Instagram, TikTok, YouTube/Shorts, Twitter/X, Vimeo and Dailymotion.

Framework Supported versions
Vue.js 3 & above

Release-notes

Major Changes:

v1.0.0

Minor Changes:

v1.2.0

Patch Changes:

v1.2.5


Features


Click here: Demo


Installation

To install the Embedia Vue, you can use the following npm command:

npm install embedia-vue

Embed-video

Attributes Facebook Instagram TikTok X
Required? width yes
Required? height yes
Required? fullscreen optional
Required? controls
Required? autoplay
Required? cssname optional optional optional optional
Required? clip yes yes yes yes


Attributes YouTube Vimeo Dailymotion
Required? width yes yes yes
Required? height yes yes yes
Required? fullscreen optional optional
Required? controls optional optional
Required? autoplay optional optional optional
Required? cssname optional optional optional
Required? clip yes yes yes

Width

You can copy and paste the following HD dimensions below:


Value Width and Height
854x480 width: 854, height: 480
640x360 width: 640, height: 360
426x240 width: 426, height: 240
256x144 width: 256, height: 144


Paradigm

  <EmbediaVue
    clip=""
    width=""
    height=""
    :autoplay="false"
    :fullscreen="false"
    :controls="true"
    cssname="rename-me-now"
  />

You can use any importing syntax script format:

<script setup>
import { EmbediaVue } from 'embedia-vue';
</script>

or

<script>
import { EmbediaVue } from 'embedia-vue';

export default {
  components: {
    EmbediaVue
  }
};
</script>

For global usage (main.js)

import { createApp } from 'vue';
import './style.css'; 
import App from './App.vue';
import router from './router';
import { EmbediaVue } from 'embedia-vue'; // Import global

createApp(App)
  .component('EmbediaVue', EmbediaVue) 
  .use(router) 
  .mount('#app');

If you choose global, you can use the code below:

<template>
  <EmbediaVue
    clip=""
    width=""
    height=""
  />
</template>
<style scoped>
</style>


Vue

<template>
  <EmbediaVue
    clip="https://www.youtube.com/watch?v=oEXFMGK7IC0"
    width="640"
    height="360"
    cssname="embed-clip"
  />
</template>

<script setup>
import { EmbediaVue } from 'embedia-vue';
</script>

<style scoped>
.embed-clip {
  border: 2px solid green;
}
</style>

Responsiveness


In your built-in default style.css ( body only )


Change the display value from flex to block.


body {
  margin: 0;
  display: block; // this code makes responsive
  place-items: center;
  min-width: 320px;
  min-height: 100vh;
}

License

MIT

Demjhon Silver