su-sws/stanford_media

用于Drupal 8媒体管理的Stanford媒体模块

安装次数: 92,901

依赖项: 10

建议者: 0

安全: 0

星标: 2

关注者: 16

分支: 2

公开问题: 0

类型:drupal-custom-module

11.1.1 2024-08-28 15:20 UTC

README

版本:8.x

CircleCI

维护者:pookmish

变更日志:CHANGELOG.md

描述

Stanford媒体模块用于增强Drupal 8核心媒体管理。以下是增强功能列表。已确认与ckeditor兼容。

字段格式化器

在Drupal核心中,无法在媒体字段中选择图像样式。提供的字段格式化器将图像样式或响应式图像样式传递到显示模式,以便更容易显示所需的图像样式。

嵌入修改插件

当一个媒体实体被嵌入到wysiwyg中时,核心媒体实现没有提供用户进行某些自定义的功能。插件(位于src/Plugin/MediaEmbedDialog)针对特定的媒体类型,添加必要的自定义和预渲染,以获得期望的结果。

批量上传页面

此功能使用上述Dropzone上传插件。它允许用户拖放他们想要的所有允许的文件。然后将为每个项目提供一个表单,允许用户自定义图像alt文本、项目标题等。

媒体重复验证

为了减少重复图像的数量,媒体重复验证将比较新上传的图像和文档,并将它们与现有项目进行比较。如果项目相似度足够高,用户将看到使用现有项目或继续添加新项目的选项。在必要时可以添加额外的重复插件。

安装

像安装其他模块一样安装此模块。 查看Drupal文档 如果在已启用媒体模块的现有站点上使用此模块,它将覆盖现有的媒体模块配置。如果在安装此模块之前媒体实体已存在,请务必小心。

当使用composer将其声明为依赖项时,需要对dropzone库进行自定义修改。添加或修改根composer.json文件。以下是将dropzone库安装到正确目录的可能示例。

"extra": {
    "custom-installer": {
        "docroot/libraries/{$name}/": [
            "enyo/dropzone",
        ]
    }
}

当安装此模块时,它创建媒体实体类型。一个问题是在尝试在lightning或标准安装配置文件等安装配置文件上安装模块时。这些配置文件中的每一个都包含媒体实体类型配置,与该模块中的配置冲突。如果已存在实体捆绑包,则需要执行额外步骤。一个解决方案是将此模块中的所有配置文件临时移动到config/optional目录中,然后继续安装。这应该创建任何缺少的媒体捆绑包,并创建此模块包含的实体浏览器。冲突的原因是其他模块的依赖关系。其他模块和其他配置文件可以声明对此模块配置的依赖。如果将此模块的所有配置都放置在config/optional目录中,将在模块/配置文件安装期间引发依赖问题。

配置

  1. 根据需要将媒体库按钮添加到WYSIWYG中,并勾选“嵌入媒体”复选框。
  2. 如果WYSIWYG配置为限制允许的HTML标签,请确保以下标签被添加到允许的标签列表中:<drupal-media data-entity-type data-entity-uuid data-caption data-align data-* class>
    • 尽管 data-* 会允许所有数据属性,您不需要添加其他属性,但UI表单验证如果没有上述属性将抛出错误。
    • data-caption 仅在允许字幕时才需要。这必须添加,由于嵌入式表单的硬编码检查,不能依赖 data-*
    • data-align 仅在媒体可以进行对齐时才需要。与上述 data-align 类似的问题。

故障排除

如果您在使用此模块时遇到问题,请尝试恢复配置文件。如果您仍然遇到问题,请尝试在GitHub问题页面上发布问题。

开发者

开发工具:为了构建和编译CSS、JavaScript和图像资产,以使此主题变得出色,您需要安装npm和nvm。然后导航到主题的根目录。

运行

nvm use
npm install

此项目使用webpack组装此主题的资产。要编译Sass、JavaScript并将所有资产推送到适当位置

运行

npm run publish

此脚本将所有资产从 /src 编译到 /dist

查看 package.json 以获取额外的npm脚本和功能。

贡献/合作

您可以为此模块贡献功能、错误修复或文档。如果您想建议一个修复或新功能,您可以在GitHub问题队列中添加一个新问题,或者您可以分叉此存储库并提交一个拉取请求。有关更多信息,请参阅GitHub关于分叉、分支和拉取请求的文章

版本发布

构建新版本的步骤

  • 检出 8.x-2.x 分支的最新提交。
  • 为发布创建一个新分支。
  • 将任何必要的更改提交到发布分支。
  • 向合并您的发布分支到 master 创建一个PR。
  • 给PR一个符合semver标签的标签,例如,(patchminormajor)
  • 当PR合并到 master 时,将自动创建一个新标签,根据semver标签提升版本。
  • github动作是从semver-release-action构建的,并且在该处有进一步文档。