su-sws/ stanford_media
用于Drupal 8媒体管理的Stanford媒体模块
Requires
- php: >=8.1
- davidbarratt/custom-installer: ^1.1
- drupal/core: ^10.3 || ^11
- drupal/dropzonejs: ^2.7
- drupal/entity_usage: ^2.0@beta
- drupal/focal_point: ^2.0
- drupal/inline_entity_form: ^3.0
- drupal/oembed_providers: ^2.1
- enyo/dropzone: ^5.9
Conflicts
- 11.x-dev
- 11.1.1
- 11.1.0
- 11.0.3
- 11.0.2
- 11.0.1
- 11.0.0
- 10.x-dev
- 10.1.4
- 10.1.3
- 10.1.2
- 10.1.1
- 10.1.0
- 10.0.0
- 9.x-dev
- 9.0.1
- 9.0.0
- 8.x-dev
- 8.3.5
- 8.3.4
- 8.3.3
- 8.3.2
- 8.3.1
- 8.3.0
- 8.2.x-dev
- 8.2.25
- 8.2.24
- 8.2.23
- 8.2.22
- 8.2.21
- 8.2.20
- 8.2.19
- 8.2.18
- 8.2.17
- 8.2.16
- 8.2.15
- 8.2.14
- 8.2.13
- 8.2.12
- 8.2.11
- 8.2.10
- 8.2.9
- 8.2.8
- 8.2.7
- 8.2.6
- 8.2.5
- 8.2.4
- 8.2.3
- 8.2.2
- 8.2.1
- 8.2.0
- 8.2.0-alpha.3
- 8.2.0-alpha.2
- 8.2.0-alpha.1
- dev-test-d11
- dev-release-11.1.1
- dev-main
- dev-master
This package is auto-updated.
Last update: 2024-08-29 16:12:49 UTC
README
版本:8.x
维护者: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
目录中,将在模块/配置文件安装期间引发依赖问题。
配置
- 根据需要将媒体库按钮添加到WYSIWYG中,并勾选“嵌入媒体”复选框。
- 如果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标签的标签,例如,(
patch
,minor
,major
) - 当PR合并到
master
时,将自动创建一个新标签,根据semver标签提升版本。 - github动作是从semver-release-action构建的,并且在该处有进一步文档。