openeuropa/oe_oembed

OpenEuropa Drupal oEmbed 组件。

安装数: 51,613

依赖项: 1

建议者: 0

安全: 0

星标: 1

关注者: 17

分支: 4

开放问题: 0

类型:drupal-module

0.11.1 2024-08-08 05:36 UTC

README

OpenEuropa oEmbed 模块允许以非 Drupal(通用)方式将实体嵌入到内容中。

为此,它包括两个主要元素:WYSIWYG 嵌入按钮和过滤器插件。此外,它还允许网站管理员定义哪些可用的视图显示也可以嵌入(以及它们是否应内嵌或作为块嵌入)。

WYSIWYG 按钮

使用嵌入 WYSIWYG 按钮,编辑者可以选择要嵌入的实体。选择实体后,将在内容中插入基于 oEmbed 的嵌入代码。此代码遵循 oEmbed 协议,因此其他客户端也能理解。以下是一个嵌入代码示例(针对媒体实体)

<p data-oembed="https://oembed.ec.europa.eu?url=https%3A//data.ec.europa.eu/ewp/media/118a06e9-e7df-4b7b-8ab2-5f5addc2f0b3">
  <a href="https://data.ec.europa.eu/ewp/media/118a06e9-e7df-4b7b-8ab2-5f5addc2f0b3">The media title</a>
</p>

其中 118a06e9-e7df-4b7b-8ab2-5f5addc2f0b3 是媒体实体的 UUID。

对于节点,它看起来像这样

<p data-oembed="https://oembed.ec.europa.eu?url=https%3A//data.ec.europa.eu/ewp/node/118a06e9-e7df-4b7b-8ab2-5f5addc2f0b3">
  <a href="https://data.ec.europa.eu/ewp/node/118a06e9-e7df-4b7b-8ab2-5f5addc2f0b3">The node title</a>
</p>

而内嵌嵌入看起来像这样

<a data-oembed="https://oembed.ec.europa.eu?url=https%3A//data.ec.europa.eu/ewp/media/118a06e9-e7df-4b7b-8ab2-5f5addc2f0b3" href="https://data.ec.europa.eu/ewp/media/118a06e9-e7df-4b7b-8ab2-5f5addc2f0b3">sdasd</a>

此外,还有一个 [OpenEuropa oEmbed 服务器] 子模块,当网站期望其内容被需要理解嵌入代码的外部系统读取时可以用来。本质上,它充当网站媒体资源的 oEmbed 提供者。

文本过滤器

由 WYSIWYG 按钮提供的嵌入代码由过滤器插件 FilterOembed 转换为渲染的实体。将此添加到文本格式后,将用渲染的实体替换嵌入标签。

可嵌入的视图显示

网站管理员需要定义哪些可用的视图模式也可以通过上述工具嵌入。这是通过在每个可用媒体包的显示模式配置页面中选择可用的视图显示来完成的。

使用方法

为了使用模块的功能,请按照以下步骤操作

  1. 创建一个使用 Drupal 实体 嵌入类型的嵌入按钮。

  2. 创建一个文本格式。您可以通过导航到 /admin/config/content/formats 并点击“添加文本格式”按钮来完成此操作。

  3. 将嵌入按钮添加到您的活动工具栏。您可以在创建文本格式时或通过导航到文本格式配置表单(/admin/config/content/formats/manage/TEXT_FORMAT_ID)来完成此操作。请确保您选择 CKEditor 作为您的文本格式的文本编辑器,并将按钮从“可用按钮”部分移动到活动工具栏。

  4. 启用“使用 oEmbed 格式嵌入实体”过滤器。此过滤器需要启用并放置在过滤器处理顺序的最后。(警告:如果您希望将 oEmbed 特定的 URL 转换为内部别名,这是非常重要的)

  5. 使视图显示可嵌入。完成前一步后,导航到要嵌入的包的显示模式配置,并选择哪些可用的视图显示可用于嵌入。例如,要配置哪些图像媒体类型的视图显示可用于嵌入,您需要导航到 /admin/structure/media/manage/image/display

开发设置

您可以通过以下步骤构建开发站点

  • 安装 Composer 依赖项
composer install

composer install 之后,会自动触发一个后命令钩子(drupal:site-setup)。它将确保在开发站点中正确设置必要的符号链接。它还将在开发配置文件(如 behat.yml.dist)中执行令牌替换。

请注意:测试站点内部通过使用OpenEuropa Task Runner的Drupal项目符号链接命令来符号链接项目文件和目录。

如果您在项目的根目录中添加了新的文件或目录,您需要重新运行drupal:site-setup以确保它们能够正确地被符号链接。

如果您不想重新运行完整的站点设置,您可以直接运行

$ ./vendor/bin/run drupal:symlink-project
  • 通过运行以下命令安装测试站点
./vendor/bin/run drupal:site-install

开发站点的Web根目录应位于build目录中。

使用Docker Compose

或者,您可以使用提供的配置通过DockerDocker Compose来构建一个开发站点。

Docker提供了必要的服务和技术,如Web服务器和数据库服务器,以便无论您的本地主机配置如何,都可以使站点运行。

需求

配置

默认情况下,Docker Compose读取两个文件,一个是docker-compose.yml,另一个是可选的docker-compose.override.yml文件。按照惯例,docker-compose.yml包含您的基配置,默认提供。覆盖文件,如其名称所示,可以包含现有服务或全新的服务的配置覆盖。如果服务在两个文件中都有定义,Docker Compose将合并配置。

有关Docker Compose扩展机制的更多信息,请参阅官方Docker Compose文档

使用方法

开始,运行

docker-compose up

建议不要将docker-compose守护化,这样您可以在完成工作后快速将其关闭(CTRL+C)。但是,如果您想将其守护化,您必须添加-d标志

docker-compose up -d

然后

docker-compose exec web composer install
docker-compose exec web ./vendor/bin/run drupal:site-install

使用默认配置,开发站点的文件应位于build目录中,并且开发站点应可通过以下地址访问:http://127.0.0.1:8080/build

运行测试

要运行grumphp检查

docker-compose exec web ./vendor/bin/grumphp run

要运行phpunit测试

docker-compose exec web ./vendor/bin/phpunit

要运行behat测试

docker-compose exec web ./vendor/bin/behat

逐步调试

要启用从命令行的逐步调试,将XDEBUG_SESSION环境变量设置为其任意值传递给容器

docker-compose exec -e XDEBUG_SESSION=1 web <your command>

请注意,从XDebug 3开始,如果设置了变量但您的客户端没有监听调试连接,控制台将输出连接错误消息。错误消息将导致PHPUnit测试的假阴性。

要从浏览器中启动逐步调试,请使用浏览器扩展或类似https://www.jetbrains.com/phpstorm/marklets/生成的书签来设置正确的cookie。

贡献

请阅读完整文档以了解我们的行为准则以及向我们提交拉取请求的过程。

版本控制

我们使用SemVer进行版本控制。有关可用版本的信息,请参阅此存储库的标签