Giter Site home page Giter Site logo

slightlyoff / lite-vimeo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from justinribeiro/lite-youtube

78.0 3.0 26.0 204 KB

Vimeo version of Justin's version of Paul's lighter YT embed

Home Page: https://www.npmjs.com/package/@slightlyoff/lite-vimeo

License: MIT License

JavaScript 9.16% TypeScript 90.84%

lite-vimeo's Introduction

npm version

<lite-vimeo>

A web component that displays Vimeo embeds faster. Based on Justin Ribeiro's excellent <lite-youtube>, which, in turn, is a Shadow DOM version of Paul's lite-youtube-embed.

This is basically a rebadge of Justin's component, but for Vimeo.

Features

  • No dependencies; it's just a vanilla web component.
  • It's fast yo.
  • It's Shadow Dom encapsulated!
  • It's responsive 16:9
  • It's accessible via keyboard and will set ARIA via the videotitle attribute
  • It's locale ready; you can set the videoplay to have a properly locale based label
  • Set the start attribute to start at a particular place in a video
  • You can set autoload to use Intersection Observer to load the iframe when scrolled into view.
  • Loads placeholder image as WebP with a Jpeg fallback

Install

This web component is built with ES modules in mind and is available on NPM:

Install code-block:

npm i @slightlyoff/lite-vimeo
# or
yarn add @slightlyoff/lite-vimeo

After install, import into your project:

import '@slightlyoff/lite-vimeo';

Install with CDN

If you want the paste-and-go version, you can simply load it via CDN:

<script type="module" src="https://cdn.jsdelivr.net/npm/@slightlyoff/[email protected]/lite-vimeo.js">

Basic Usage

<lite-vimeo videoid="364402896"></lite-vimeo>

Add Video Title

<lite-vimeo
  videoid="364402896"
  videotitle="This is a video title"
></lite-vimeo>

Change "Play" for Locale

<lite-vimeo
  videoid="364402896"
  videoplay="Mirar"
  videotitle="Mis hijos se burlan de mi español"
></lite-vimeo>

Style It

Height and Width are responsive in the component.

<style>
  .styleIt {
    width: 400px;
    margin: auto;
  }
</style>
<div class="styleIt">
  <lite-vimeo videoid="364402896"></lite-vimeo>
</div>

Set a video start time

<!-- Start at 5 min, 30 seconds -->
<lite-vimeo videoid="364402896" start="5m30s"></lite-vimeo>

AutoLoad with IntersectionObserver

Uses Intersection Observer if available to automatically load the Vimeo iframe when scrolled into view.

<lite-vimeo videoid="364402896" autoload></lite-vimeo>

Auto Play (requires AutoLoad)

<lite-vimeo videoid="364402896" autoload autoplay></lite-vimeo>

Attributes

The web component allows certain attributes to be give a little additional flexibility.

Name Description Default
videoid The Vimeo videoid ``
videotitle The title of the video Video
videoplay The title of the play button (for translation) Play
autoload Use Intersection Observer to load iframe when scrolled into view false
autoplay Video attempts to play automatically if auto-load set and browser allows it false
start Set the point at which the video should start, in seconds 0

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.