MikeStecker/craft-videoembedder

Craft 插件,可以将 YouTube 或 Vimeo 的链接转换为嵌入 URL。

支持包维护!
verbb

安装次数: 96,609

依赖关系: 1

建议者: 0

安全性: 0

星星: 17

关注者: 4

分支: 14

公开问题: 18

类型:craft-plugin

1.1.4 2019-09-03 19:27 UTC

This package is auto-updated.

Last update: 2024-09-24 08:48:08 UTC


README

Screenshot

Craft 插件,可以将 YouTube 或 Vimeo 的链接转换为嵌入 URL。本插件将完全免费。

移植自 VigetCraft 2.x 版本的 Video Embed 插件

要求

此插件需要 Craft CMS 3.0.0 或更高版本。

安装

要安装 Video Embedder,请按照以下步骤操作

  1. 使用 Composer 在项目目录中运行 composer require mikestecker/craft-videoembedder 进行安装
  2. 在 Craft 控制面板的设置 > 插件下安装插件

Video Embedder 在 Craft 3.x 上工作。

Video Embedder 概述

Video Embedder 会获取您的 YouTube 或 Vimeo 链接,并将其转换为适合在 iframe 标签内使用的嵌入 URL。Video Embedder 还有一个变量,可以获取相同的 URL 并获取缩略图 URL。

使用 Video Embedder

将 YouTube 或 Vimeo 链接传递给 getEmbedUrl 变量,并返回嵌入 URL。插件将检查 URL 是否有效且允许嵌入。如果不允许,则返回空字符串。

{% set embed = craft.videoEmbedder.getEmbedUrl('https://www.youtube.com/watch?v=6xWpo5Dn254') %}

{% if embed | length %}
    {{ embed }}
{% endif %}

示例

{% set embed = craft.videoEmbedder.getEmbedUrl('https://www.youtube.com/watch?v=6xWpo5Dn254') %}

{% if embed | length %}
    <iframe src="{{ embed }}"></iframe>
{% endif %}

输出

<iframe src="//www.youtube.com/embed/6xWpo5Dn254"></iframe>

新功能 1.0.5

getEmbedUrl 现在接受 YouTube 和 Vimeo URL 的可选参数,例如 autoplayrel

{% set embed = craft.videoEmbedder.getEmbedUrl('https://www.youtube.com/watch?v=6xWpo5Dn254', {autoplay: 1, rel: 0, theme: 'dark'}) %}

Video Embedder 还会使用 getVideoThumbnail 变量从 YouTube 或 Vimeo 获取最大的缩略图 URL。

{% set thumbnail = craft.videoEmbedder.getVideoThumbnail('https://www.youtube.com/watch?v=6xWpo5Dn254') %}

{% if thumbnail | length %}
    {{ thumbnail }}
{% endif %}

输出

//img.youtube.com/vi/6xWpo5Dn254/0.jpg

新功能 1.0.5

Video Embedder 现在将生成 iframe 代码。只需使用 embed 变量与您的 URL 一起使用。您还可以传递 YouTube 和 Vimeo URL 的可选参数,例如 autoplayrel 等。

基本示例

{% set embed = craft.videoEmbedder.embed('https://www.youtube.com/watch?v=6xWpo5Dn254') %}

{% if embed | length %}
    {{ embed }}
{% endif %}

带有参数

{% set embed = craft.videoEmbedder.embed('https://www.youtube.com/watch?v=6xWpo5Dn254', {autoplay: 1, rel: 0, theme: 'dark'}) %}

这些参数将直接输出到嵌入 URL 字符串的末尾,并且仅针对 YouTube 和 Vimeo 进行了测试。请与每个提供商确认支持哪些参数。

新功能 1.0.9

从 URL 中仅返回 Vimeo 或 YouTube ID。这在需要与 Plyr 等工具一起使用时很有用。

基本示例

{% set videoUrl = 'https://www.youtube.com/watch?v=6xWpo5Dn254' %}
{% set videoId = craft.videoEmbedder.getVideoId(videoUrl) %}
{% set providerName = craft.videoEmbedder.getProviderName(videoUrl) %}

{% if videoId | length %}
    <div id="player" data-plyr-provider="{{ providerName | lower }}" data-plyr-embed-id="{{ videoId }}"></div>
{% endif %}

Video Embedder 路线图

一些要完成的事项以及潜在功能的想法

  • 添加生成 iframe HTML 的功能
  • 添加新的视频 URL 字段类型(感谢 @samuelbirch!)
  • 将视频 URL 字段类型限制为仅允许支持的视频 URL
  • 添加对更多视频提供商的支持(部分添加到 1.0.5,通过切换到使用 Embed 库)
  • 添加更多缩略图大小选项
  • 测试

这是我第一个插件,我在插件开发方面经验不足。请随意分支,添加您希望看到的功能,并向我发送拉取请求。

Mike Stecker 提供