jonnitto/prettyembedvimeo

此包已被废弃,不再维护。作者建议使用 jonnitto/prettyembedvideoplatforms 包。

Neos CMS 中 Vimeo 视频的更美观的嵌入 - 具有高清预览图片、灯箱功能和嵌入选项的高级定制等优质选项。

4.1.0 2023-03-16 13:48 UTC

This package is auto-updated.

Last update: 2023-03-16 13:58:38 UTC


README

Latest stable version Total downloads License GitHub forks Donate Paypal Wishlist amazon GitHub stars GitHub watchers GitHub followers Follow Jon on Twitter

Jonnitto.PrettyEmbedVimeo

此包有一个继任者:PrettyEmbedVideoPlatforms 它包括自动检测 Vimeo 或 YouTube 视频的功能。要更新,请 按照这些说明操作

Neos CMS 中 Vimeo 视频的更美观的嵌入 - 具有高清预览图片、灯箱功能和嵌入选项的高级定制等优质选项。

screenshot

版本 Neos 维护
1.* 3.3.* + 4.*
2.* ^4.2.* + 5.*
3.* ^4.2.* + >= 5
4.* >= 5.3

安装

大多数情况下,您需要调整包(例如,在 Settings.yaml 中的配置)。因此,从您的主题包中添加相应的包到 composer 是非常重要的。通常,这是位于 Packages/Sites/ 下的站点包。要正确安装,转到您的主题包(例如Packages/Sites/Foo.Bar)并运行以下命令

composer require jonnitto/prettyembedvimeo --no-update

--no-update 命令防止依赖项自动更新。在将包添加到您的主题 composer.json 之后,返回到 Neos 安装的根目录并运行 composer update。就这样!您所需的包现在已正确安装。

常见问题解答

Jonnitto.Plyr 相比,PrettyEmbed 系列有什么不同?

PrettyEmbed 系列 Plyr
YouTube 视频
YouTube 播单
Vimeo
原声音频
原声视频
原生视频的高级字幕
预览图片
包含灯箱
预览图片(视频用)
JavaScript API
文件大小(JS & CSS) 更小 更大

由于播放器仅在请求时才加载,因此所有 PrettyEmbed 系列的包都具有更好的前端性能优势。因此,在用户想观看视频之前不会加载 iframe 或视频。

定制

配置

整个 PrettyEmbed 系列的全局设置

一些设置将从 PrettyEmbedHelper 包全局设置。这些是默认设置

Jonnitto:
  PrettyEmbedHelper:
    # If you want to use your own assets, set this to false (Backend.js and Backend.css will be always be included in the backend)
    includeAssets:
      css: true
      js: true

    # If you want to save the duration of YouTube videos and playlists into the
    # property metadataDuration you have to add a API key from YouTube Data API v3
    # You can create this key on https://console.cloud.google.com/
    youtubeApiKey: null

    # For Vimeo and Youtube you can enable here the option the show a confirm dialog
    # that external content get loaded and the user may be tracked
    enableGdprMessage: false

    # This is the maximum width of a custom preview image
    maximumWidth: 1920

    # If this is set to a string, the element gets wrapped with a div and the class with the giving string.
    # If set to true, the element gets wrapped with a div without any class.
    # If set to false, the element get not wrapped at all
    wrapper: 'jonnitto-prettyembed-wrapper'

    # The buttons which get injected (file content) to the player.
    button:
      play: 'resource://Jonnitto.PrettyEmbedHelper/Public/Assets/PlayButton.svg'
      pause: 'resource://Jonnitto.PrettyEmbedHelper/Public/Assets/PauseButton.svg'

禁用包含 CSS 和/或 JS 文件

JavaScript 和 CSS 文件通过 Sitegeist.Slipstream 加载。

如果您想加载自己的 CSS,可以这样禁用它。

Jonnitto:
  PrettyEmbedHelper:
    includeAssets:
      css: false

如果您想加载自己的 JavaScript,可以这样禁用它。

Jonnitto:
  PrettyEmbedHelper:
    includeAssets:
      js: false

如果您在构建管道中使用 SCCS,您可以使用以下变量调整 Main.scss 的外观和感觉。

// Buttons (play / pause)
$prettyembed-button-play-size: 72px !default;
$prettyembed-button-pause-size: round(
  $prettyembed-button-play-size / 2
) !default;
$prettyembed-button-pause-margin: round(
  $prettyembed-button-pause-size / 2
) !default;
$prettyembed-button-opacity: 0.9 !default;
$prettyembed-button-scale: 0.8 !default;
$prettyembed-button-scale-hover: 1 !default;
$prettyembed-button-scale-active: 0.9 !default;
$prettyembed-button-foreground-color: #fff !default;
$prettyembed-button-background-color: #000 !default;
$prettyembed-button-background-opactiy: 0.4 !default;

// Lightbox
$prettyembed-lightbox-include: true !default;
$prettyembed-lightbox-overlay-color: #0b0b0b !default;
$prettyembed-lightbox-overlay-opacity: 0.8 !default;
$prettyembed-lightbox-padding: 15px !default;
$prettyembed-lightbox-max-width: 900px !default;
$prettyembed-lightbox-shadow: 0 0 8px rgba(#000, 0.6) !default;
$prettyembed-lightbox-z-index: 5500 !default;
$prettyembed-lightbox-close-size: 30px !default;
$prettyembed-lightbox-close-opacity: 0.65 !default;
$prettyembed-lightbox-close-opacity-hover: 1 !default;
$prettyembed-lightbox-close-color: #fff !default;

因为所有变量都有 !default 标志,所以如果您在导入 Main.scss 之前声明它们,变量不会被覆盖。这样,大部分常见的调整都可以轻松实现。

节点类型和混入

如果您想自定义默认设置,请查看 Settings.Jonnitto.yaml 文件。如果没有节点属性给出,将使用这些默认值。例如,如果您不想让编辑器选择视频是否在灯箱中打开,您可以在配置文件夹中像这样禁用混入:

'Jonnitto.PrettyEmbedVimeo:Content.Vimeo':
  superTypes:
    'Jonnitto.PrettyEmbedHelper:Mixin.Lightbox': false

以下是可用的混入。

混入名称(前缀:Jonnitto.PrettyEmbed 描述 默认值 默认启用
辅助:混入组 启用检查器组
辅助:混入图像 添加预览图像属性
辅助:混入灯箱 在灯箱中打开视频 false
辅助:混入保持宽高比 如果灯箱处于活动状态,预览图像可以保持其宽高比。 true
辅助:混入后端标签 读取视频标题并将其设置为内容树中的标签
Vimeo:混入视频ID 让用户输入视频 ID 或 Vimeo URL
辅助:混入允许全屏 允许全屏或不允许全屏 true
辅助:混入循环 循环视频 false
辅助:混入静音 视频加载时是否静音 false

如果您想给编辑器更多的控制权,您也可以添加自己的属性,如 colorbackground 等。有关完整列表,请查看 Settings.Jonnitto.yaml 文件中的 defaults 部分。

如果您想在节点类型中包含 YouTube 视频,您至少应使用混入 Jonnitto.PrettyEmbedVimeo:Mixin.VideoID。除了 videoID 属性外,此混入还添加了从 oembed 服务获取的元数据的属性。此混入也是从服务获取/更新数据所必需的。

融合

如果您想将播放器作为纯组件使用,您可以使用 Jonnitto.PrettyEmbedVimeo:Component.Vimeo 融合原型。

如果您想读取节点属性并让包为您处理所有这些,您应使用 Jonnitto.PrettyEmbedVimeo:Content.Vimeo 原型。为了更方便地将其包含在节点类型中,您可以使用 contentElement = false 禁用内容元素包装。如果您想创建,例如,带有视频节点类型的文本,这很有用。

获取元数据

要获取元数据,您可以运行以下流命令:./flow prettyembed:metadata。此命令会搜索具有 VideoID 混合的节点,并尝试获取元数据。如果由于某些原因无法获取元数据(例如视频设置为私密或ID不存在),您将得到一个包含节点类型名称、类型、视频ID和节点路径的表格。
任务包含两个选项

  • --workspace 工作区名称,默认为 'live'
  • --remove 如果设置,将删除所有元数据

要了解命令行界面中的选项概览,您可以运行 ./flow help prettyembed:metadata

从版本1更新

要从版本1更新,您必须在您的命令行界面中运行以下命令
./flow node:migrate --version 20190617204500

要检查迁移的当前状态,您可以运行
./flow node:migrationstatus