npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

svelte-youtube-lite

v1.2.1

Published

A simple svelte component for creating YouTube embeds with a focus on performance and privacy (GDPR compliant).

Downloads

793

Readme

svelte-youtube-lite

A simple svelte component for creating YouTube embeds with a focus on performance and privacy (GDPR compliant).

  • Loads the video thumbnail on page load
  • Creates the embed when the thumbnail is clicked

Compatibility

Version 1.0.0 and above are compatible with Svelte 5 (branch main). For Svelte 4 projects, use ^0.6.0 (branch svelte4)

Installation

npm install -D svelte-youtube-lite

Usage

Run the demo page locally for a preview

Import

<script>
	import { Youtube } from 'svelte-youtube-lite';
</script>

Minimal example

<Youtube id="aYtE6XE6b_s" />

With low quality thumbnail

<Youtube id="aYtE6XE6b_s" thumbnail="mqdefault" />

With custom iframe title

(YouTube iframe API fallback uses the videos title as iframe title)

<Youtube id="aYtE6XE6b_s" title="Cute cat video" />

Without title

<Youtube id="aYtE6XE6b_s" showTitle="{false}" />

Custom Play Button

If you want to use a custom play button, you can use the snippet slot to add your own button. A PlayButton component is also provided if you simply want to change the title and aria-label of the default play button.

<Youtube {id} showTitle="{false}">
	{#snippet playButton()}
	<button style="position: absolute; left: 50%; top: 50%; transform: translate3d(-50%, -50%, 0);">
		A completely custom button
	</button>
	{/snippet}
</Youtube>

Run demo locally

git clone https://github.com/radiofrance/svelte-youtube-lite.git
cd svelte-youtube-lite
npm i
npm run dev

Todo

  • [ ] support for full youtube urls (eg: with playlist and start time) ?
  • [ ] support for youtube shorts ? change from 16:9 to vertical ?
  • [ ] use DNS preconnect for all youtube iframe assets
  • [ ] parameter (boolean) : load with intersection observer
  • [ ] parameter (number) : start time
  • [ ] parameter (string) : playlist id
  • [ ] fallback to YouTube iframe API for browsers with bad autoplay support