From 1ac216456ababc3d7d5f5c41357157e091d47945 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Tue, 2 Apr 2024 13:22:57 -0400 Subject: [PATCH] first commit of sous-media --- LICENSE | 21 +++ README.md | 26 ++++ composer.json | 37 +++++ ...entity_form_display.media.file.default.yml | 106 ++++++++++++++ ...ntity_form_display.media.image.default.yml | 130 +++++++++++++++++ ...ntity_form_display.media.video.default.yml | 138 ++++++++++++++++++ ...entity_view_display.media.file.default.yml | 30 ++++ ..._view_display.media.file.media_library.yml | 35 +++++ ...entity_view_display.media.file.preview.yml | 33 +++++ ...ntity_view_display.media.image.default.yml | 48 ++++++ ...view_display.media.image.media_library.yml | 39 +++++ ...ntity_view_display.media.image.preview.yml | 37 +++++ ...ntity_view_display.media.video.default.yml | 64 ++++++++ ...view_display.media.video.media_library.yml | 41 ++++++ ...ntity_view_display.media.video.preview.yml | 39 +++++ config/core.entity_view_mode.file.token.yml | 10 ++ config/core.entity_view_mode.media.full.yml | 10 ++ ...e.entity_view_mode.media.media_library.yml | 13 ++ .../core.entity_view_mode.media.preview.yml | 10 ++ config/core.entity_view_mode.media.token.yml | 10 ++ ...eld.field.media.file.field_description.yml | 21 +++ ...ield.field.media.file.field_media_file.yml | 26 ++++ config/field.field.media.file.field_tags.yml | 28 ++++ .../field.field.media.image.field_caption.yml | 18 +++ ...ield.field.media.image.field_copyright.yml | 18 +++ ...ld.field.media.image.field_description.yml | 21 +++ ...ld.field.media.image.field_media_image.yml | 37 +++++ config/field.field.media.image.field_tags.yml | 28 ++++ .../field.field.media.video.field_caption.yml | 18 +++ ...ield.field.media.video.field_copyright.yml | 18 +++ ...ld.field.media.video.field_description.yml | 21 +++ ...d.media.video.field_media_oembed_video.yml | 18 +++ config/field.field.media.video.field_tags.yml | 28 ++++ ...eld.field.media.video.field_transcript.yml | 22 +++ config/field.storage.media.field_caption.yml | 18 +++ .../field.storage.media.field_copyright.yml | 20 +++ .../field.storage.media.field_description.yml | 18 +++ .../field.storage.media.field_media_file.yml | 22 +++ .../field.storage.media.field_media_image.yml | 29 ++++ ...storage.media.field_media_oembed_video.yml | 20 +++ config/field.storage.media.field_tags.yml | 19 +++ .../field.storage.media.field_transcript.yml | 18 +++ config/image.style.large.yml | 16 ++ config/image.style.media_library.yml | 17 +++ config/image.style.medium.yml | 16 ++ config/image.style.thumbnail.yml | 16 ++ config/image.style.wide.yml | 16 ++ config/media.settings.yml | 6 + config/media.type.file.yml | 15 ++ config/media.type.image.yml | 15 ++ config/media.type.video.yml | 19 +++ config/taxonomy.vocabulary.media_tags.yml | 7 + recipe.yml | 25 ++++ 53 files changed, 1531 insertions(+) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 composer.json create mode 100644 config/core.entity_form_display.media.file.default.yml create mode 100644 config/core.entity_form_display.media.image.default.yml create mode 100644 config/core.entity_form_display.media.video.default.yml create mode 100644 config/core.entity_view_display.media.file.default.yml create mode 100644 config/core.entity_view_display.media.file.media_library.yml create mode 100644 config/core.entity_view_display.media.file.preview.yml create mode 100644 config/core.entity_view_display.media.image.default.yml create mode 100644 config/core.entity_view_display.media.image.media_library.yml create mode 100644 config/core.entity_view_display.media.image.preview.yml create mode 100644 config/core.entity_view_display.media.video.default.yml create mode 100644 config/core.entity_view_display.media.video.media_library.yml create mode 100644 config/core.entity_view_display.media.video.preview.yml create mode 100644 config/core.entity_view_mode.file.token.yml create mode 100644 config/core.entity_view_mode.media.full.yml create mode 100644 config/core.entity_view_mode.media.media_library.yml create mode 100644 config/core.entity_view_mode.media.preview.yml create mode 100644 config/core.entity_view_mode.media.token.yml create mode 100644 config/field.field.media.file.field_description.yml create mode 100644 config/field.field.media.file.field_media_file.yml create mode 100644 config/field.field.media.file.field_tags.yml create mode 100644 config/field.field.media.image.field_caption.yml create mode 100644 config/field.field.media.image.field_copyright.yml create mode 100644 config/field.field.media.image.field_description.yml create mode 100644 config/field.field.media.image.field_media_image.yml create mode 100644 config/field.field.media.image.field_tags.yml create mode 100644 config/field.field.media.video.field_caption.yml create mode 100644 config/field.field.media.video.field_copyright.yml create mode 100644 config/field.field.media.video.field_description.yml create mode 100644 config/field.field.media.video.field_media_oembed_video.yml create mode 100644 config/field.field.media.video.field_tags.yml create mode 100644 config/field.field.media.video.field_transcript.yml create mode 100644 config/field.storage.media.field_caption.yml create mode 100644 config/field.storage.media.field_copyright.yml create mode 100644 config/field.storage.media.field_description.yml create mode 100644 config/field.storage.media.field_media_file.yml create mode 100644 config/field.storage.media.field_media_image.yml create mode 100644 config/field.storage.media.field_media_oembed_video.yml create mode 100644 config/field.storage.media.field_tags.yml create mode 100644 config/field.storage.media.field_transcript.yml create mode 100644 config/image.style.large.yml create mode 100644 config/image.style.media_library.yml create mode 100644 config/image.style.medium.yml create mode 100644 config/image.style.thumbnail.yml create mode 100644 config/image.style.wide.yml create mode 100644 config/media.settings.yml create mode 100644 config/media.type.file.yml create mode 100644 config/media.type.image.yml create mode 100644 config/media.type.video.yml create mode 100644 config/taxonomy.vocabulary.media_tags.yml create mode 100644 recipe.yml diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..503f4a8 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Four Kitchens + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..943d2d1 --- /dev/null +++ b/README.md @@ -0,0 +1,26 @@ +# Sous Media Drupal Recipe +A recipe that contains modules and configuration for the Sous media experience. + +This module configures three media types: +- file +- image +- video + +## Configuring Drupal for Recipes + +See https://www.drupal.org/files/issues/2023-10-01/Configuring%20Drupal%20to%20Apply%20Recipes.md + +## Installing this Recipe + +`composer require fourkitchens/sous-media` + +## Applying this Recipe + +If you used the Sous Project as your starterkit: +- `lando install-recipe sous-media` + +Manually applying the recipe to your own project: +From your webroot run: +- `php core/scripts/drupal recipe recipes/sous-media` +- `drush cr` +- `composer unpack fourkitchens/sous-media` diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..46b37c3 --- /dev/null +++ b/composer.json @@ -0,0 +1,37 @@ +{ + "name": "fourkitchens/sous-media", + "description": "A recipe that contains modules and configuration for Sous media.", + "keywords": ["recipe", "Drupal recipes", "drupal recipe"], + "type": "drupal-recipe", + "license": "GPL-2.0-or-later", + "authors": [ + { + "name": "Laura Johnson", + "role": "Maintainer" + } + ], + "repositories": [ + { + "type": "package", + "package": { + "name": "dropzone/dropzone", + "version": "5.9.3", + "type": "drupal-library", + "extra": { + "installer-name": "dropzone/dist" + }, + "dist": { + "url": "https://github.com/dropzone/dropzone/releases/download/v5.9.3/dist.zip", + "type": "zip" + } + } + } + ], + "minimum-stability": "dev", + "require": { + "dropzone/dropzone": "^5.9", + "drupal/media_library_edit": "^3.0", + "drupal/focal_point": "^2.0", + "drupal/dropzonejs": "^2.5" + } +} \ No newline at end of file diff --git a/config/core.entity_form_display.media.file.default.yml b/config/core.entity_form_display.media.file.default.yml new file mode 100644 index 0000000..df5c507 --- /dev/null +++ b/config/core.entity_form_display.media.file.default.yml @@ -0,0 +1,106 @@ +langcode: en +status: true +dependencies: + config: + - field.field.media.file.field_description + - field.field.media.file.field_media_file + - field.field.media.file.field_tags + - media.type.file + module: + - field_group + - file + - text +third_party_settings: + field_group: + group_tabs: + children: + - group_file_content + - group_file_details + label: Tabs + region: content + parent_name: '' + weight: 0 + format_type: tabs + format_settings: + classes: '' + id: '' + direction: horizontal + group_file_content: + children: + - name + - field_media_file + label: 'File Content' + region: content + parent_name: group_tabs + weight: 9 + format_type: tab + format_settings: + classes: '' + id: '' + formatter: open + description: '' + required_fields: true + group_file_details: + children: + - field_description + - field_tags + label: 'File Details' + region: content + parent_name: group_tabs + weight: 10 + format_type: tab + format_settings: + classes: '' + id: '' + formatter: closed + description: '' + required_fields: true +id: media.file.default +targetEntityType: media +bundle: file +mode: default +content: + field_description: + type: text_textarea + weight: 3 + region: content + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + field_media_file: + type: file_generic + weight: 2 + region: content + settings: + progress_indicator: throbber + third_party_settings: { } + field_tags: + type: entity_reference_autocomplete_tags + weight: 4 + region: content + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } + name: + type: string_textfield + weight: 1 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + status: + type: boolean_checkbox + weight: 4 + region: content + settings: + display_label: true + third_party_settings: { } +hidden: + created: true + path: true + uid: true diff --git a/config/core.entity_form_display.media.image.default.yml b/config/core.entity_form_display.media.image.default.yml new file mode 100644 index 0000000..da2986a --- /dev/null +++ b/config/core.entity_form_display.media.image.default.yml @@ -0,0 +1,130 @@ +langcode: en +status: true +dependencies: + config: + - field.field.media.image.field_caption + - field.field.media.image.field_copyright + - field.field.media.image.field_description + - field.field.media.image.field_media_image + - field.field.media.image.field_tags + - image.style.thumbnail + - media.type.image + module: + - field_group + - focal_point + - text +third_party_settings: + field_group: + group_image_details: + children: + - field_caption + - field_description + - field_copyright + - field_tags + label: 'Image Details' + region: content + parent_name: group_tabs + weight: 10 + format_type: tab + format_settings: + classes: '' + id: '' + formatter: closed + description: '' + required_fields: true + group_tabs: + children: + - group_image_content + - group_image_details + label: Tabs + region: content + parent_name: '' + weight: 0 + format_type: tabs + format_settings: + classes: '' + id: '' + direction: horizontal + group_image_content: + children: + - name + - field_media_image + label: 'Image Content' + region: content + parent_name: group_tabs + weight: 9 + format_type: tab + format_settings: + classes: '' + id: '' + formatter: open + description: '' + required_fields: true +id: media.image.default +targetEntityType: media +bundle: image +mode: default +content: + field_caption: + type: string_textarea + weight: 8 + region: content + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + field_copyright: + type: string_textfield + weight: 10 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_description: + type: text_textarea + weight: 9 + region: content + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + field_media_image: + type: image_focal_point + weight: 3 + region: content + settings: + progress_indicator: throbber + preview_image_style: thumbnail + preview_link: true + offsets: '50,50' + third_party_settings: { } + field_tags: + type: entity_reference_autocomplete + weight: 11 + region: content + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } + name: + type: string_textfield + weight: 2 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + status: + type: boolean_checkbox + weight: 2 + region: content + settings: + display_label: true + third_party_settings: { } +hidden: + created: true + path: true + uid: true diff --git a/config/core.entity_form_display.media.video.default.yml b/config/core.entity_form_display.media.video.default.yml new file mode 100644 index 0000000..a019d91 --- /dev/null +++ b/config/core.entity_form_display.media.video.default.yml @@ -0,0 +1,138 @@ +langcode: en +status: true +dependencies: + config: + - field.field.media.video.field_caption + - field.field.media.video.field_copyright + - field.field.media.video.field_description + - field.field.media.video.field_media_oembed_video + - field.field.media.video.field_tags + - field.field.media.video.field_transcript + - media.type.video + module: + - field_group + - link + - media + - text +third_party_settings: + field_group: + group_tabs: + children: + - group_video_content + - group_video_details + label: Tabs + region: content + parent_name: '' + weight: 0 + format_type: tabs + format_settings: + classes: '' + id: '' + direction: horizontal + group_video_content: + children: + - name + - field_media_oembed_video + label: 'Video Content' + region: content + parent_name: group_tabs + weight: 12 + format_type: tab + format_settings: + classes: '' + id: '' + formatter: open + description: '' + required_fields: true + group_video_details: + children: + - field_caption + - field_description + - field_copyright + - field_transcript + - field_tags + label: 'Video Details' + region: content + parent_name: group_tabs + weight: 13 + format_type: tab + format_settings: + classes: '' + id: '' + formatter: closed + description: '' + required_fields: true +id: media.video.default +targetEntityType: media +bundle: video +mode: default +content: + field_caption: + type: string_textarea + weight: 4 + region: content + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + field_copyright: + type: string_textfield + weight: 6 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_description: + type: text_textarea + weight: 5 + region: content + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + field_media_oembed_video: + type: oembed_textfield + weight: 12 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_tags: + type: entity_reference_autocomplete + weight: 8 + region: content + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } + field_transcript: + type: link_default + weight: 7 + region: content + settings: + placeholder_url: '' + placeholder_title: '' + third_party_settings: { } + name: + type: string_textfield + weight: 11 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + status: + type: boolean_checkbox + weight: 1 + region: content + settings: + display_label: true + third_party_settings: { } +hidden: + created: true + path: true + uid: true diff --git a/config/core.entity_view_display.media.file.default.yml b/config/core.entity_view_display.media.file.default.yml new file mode 100644 index 0000000..69578bb --- /dev/null +++ b/config/core.entity_view_display.media.file.default.yml @@ -0,0 +1,30 @@ +langcode: en +status: true +dependencies: + config: + - field.field.media.file.field_description + - field.field.media.file.field_media_file + - field.field.media.file.field_tags + - media.type.file + module: + - file +id: media.file.default +targetEntityType: media +bundle: file +mode: default +content: + field_media_file: + type: file_default + label: visually_hidden + settings: + use_description_as_link_text: true + third_party_settings: { } + weight: 0 + region: content +hidden: + created: true + field_description: true + field_tags: true + name: true + thumbnail: true + uid: true diff --git a/config/core.entity_view_display.media.file.media_library.yml b/config/core.entity_view_display.media.file.media_library.yml new file mode 100644 index 0000000..e989e39 --- /dev/null +++ b/config/core.entity_view_display.media.file.media_library.yml @@ -0,0 +1,35 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.media.media_library + - field.field.media.file.field_description + - field.field.media.file.field_media_file + - field.field.media.file.field_tags + - image.style.medium + - media.type.file + module: + - image +id: media.file.media_library +targetEntityType: media +bundle: file +mode: media_library +content: + thumbnail: + type: image + label: hidden + settings: + image_link: '' + image_style: medium + image_loading: + attribute: lazy + third_party_settings: { } + weight: 0 + region: content +hidden: + created: true + field_description: true + field_media_file: true + field_tags: true + name: true + uid: true diff --git a/config/core.entity_view_display.media.file.preview.yml b/config/core.entity_view_display.media.file.preview.yml new file mode 100644 index 0000000..f6b50ca --- /dev/null +++ b/config/core.entity_view_display.media.file.preview.yml @@ -0,0 +1,33 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.media.preview + - field.field.media.file.field_description + - field.field.media.file.field_media_file + - field.field.media.file.field_tags + - image.style.medium + - media.type.file + module: + - image +id: media.file.preview +targetEntityType: media +bundle: file +mode: preview +content: + thumbnail: + type: image + label: hidden + settings: + image_link: '' + image_style: medium + third_party_settings: { } + weight: 0 + region: content +hidden: + created: true + field_description: true + field_media_file: true + field_tags: true + name: true + uid: true diff --git a/config/core.entity_view_display.media.image.default.yml b/config/core.entity_view_display.media.image.default.yml new file mode 100644 index 0000000..a6b8271 --- /dev/null +++ b/config/core.entity_view_display.media.image.default.yml @@ -0,0 +1,48 @@ +langcode: en +status: true +dependencies: + config: + - field.field.media.image.field_caption + - field.field.media.image.field_copyright + - field.field.media.image.field_description + - field.field.media.image.field_media_image + - field.field.media.image.field_tags + - media.type.image + module: + - image +id: media.image.default +targetEntityType: media +bundle: image +mode: default +content: + field_caption: + type: basic_string + label: hidden + settings: { } + third_party_settings: { } + weight: 1 + region: content + field_copyright: + type: string + label: hidden + settings: + link_to_entity: false + third_party_settings: { } + weight: 2 + region: content + field_media_image: + type: image + label: hidden + settings: + image_link: '' + image_style: '' + third_party_settings: { } + weight: 0 + region: content +hidden: + created: true + field_description: true + field_tags: true + name: true + thumbnail: true + uid: true diff --git a/config/core.entity_view_display.media.image.media_library.yml b/config/core.entity_view_display.media.image.media_library.yml new file mode 100644 index 0000000..805f316 --- /dev/null +++ b/config/core.entity_view_display.media.image.media_library.yml @@ -0,0 +1,39 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.media.media_library + - field.field.media.image.field_caption + - field.field.media.image.field_copyright + - field.field.media.image.field_description + - field.field.media.image.field_media_image + - field.field.media.image.field_tags + - image.style.medium + - media.type.image + module: + - image +id: media.image.media_library +targetEntityType: media +bundle: image +mode: media_library +content: + thumbnail: + type: image + label: hidden + settings: + image_link: '' + image_style: medium + image_loading: + attribute: lazy + third_party_settings: { } + weight: 0 + region: content +hidden: + created: true + field_caption: true + field_copyright: true + field_description: true + field_media_image: true + field_tags: true + name: true + uid: true diff --git a/config/core.entity_view_display.media.image.preview.yml b/config/core.entity_view_display.media.image.preview.yml new file mode 100644 index 0000000..484535f --- /dev/null +++ b/config/core.entity_view_display.media.image.preview.yml @@ -0,0 +1,37 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.media.preview + - field.field.media.image.field_caption + - field.field.media.image.field_copyright + - field.field.media.image.field_description + - field.field.media.image.field_media_image + - field.field.media.image.field_tags + - image.style.medium + - media.type.image + module: + - image +id: media.image.preview +targetEntityType: media +bundle: image +mode: preview +content: + field_media_image: + type: image + label: hidden + settings: + image_link: '' + image_style: medium + third_party_settings: { } + weight: 0 + region: content +hidden: + created: true + field_caption: true + field_copyright: true + field_description: true + field_tags: true + name: true + thumbnail: true + uid: true diff --git a/config/core.entity_view_display.media.video.default.yml b/config/core.entity_view_display.media.video.default.yml new file mode 100644 index 0000000..0be453b --- /dev/null +++ b/config/core.entity_view_display.media.video.default.yml @@ -0,0 +1,64 @@ +langcode: en +status: true +dependencies: + config: + - field.field.media.video.field_caption + - field.field.media.video.field_copyright + - field.field.media.video.field_description + - field.field.media.video.field_media_oembed_video + - field.field.media.video.field_tags + - field.field.media.video.field_transcript + - media.type.video + module: + - link + - media +id: media.video.default +targetEntityType: media +bundle: video +mode: default +content: + field_caption: + type: basic_string + label: above + settings: { } + third_party_settings: { } + weight: 1 + region: content + field_copyright: + type: string + label: above + settings: + link_to_entity: false + third_party_settings: { } + weight: 3 + region: content + field_media_oembed_video: + type: oembed + label: hidden + settings: + max_width: 0 + max_height: 0 + loading: + attribute: eager + third_party_settings: { } + weight: 0 + region: content + field_transcript: + type: link + label: above + settings: + trim_length: 80 + url_only: false + url_plain: false + rel: '' + target: '' + third_party_settings: { } + weight: 2 + region: content +hidden: + created: true + field_description: true + field_tags: true + name: true + thumbnail: true + uid: true diff --git a/config/core.entity_view_display.media.video.media_library.yml b/config/core.entity_view_display.media.video.media_library.yml new file mode 100644 index 0000000..fa1f5de --- /dev/null +++ b/config/core.entity_view_display.media.video.media_library.yml @@ -0,0 +1,41 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.media.media_library + - field.field.media.video.field_caption + - field.field.media.video.field_copyright + - field.field.media.video.field_description + - field.field.media.video.field_media_oembed_video + - field.field.media.video.field_tags + - field.field.media.video.field_transcript + - image.style.medium + - media.type.video + module: + - image +id: media.video.media_library +targetEntityType: media +bundle: video +mode: media_library +content: + thumbnail: + type: image + label: hidden + settings: + image_link: '' + image_style: medium + image_loading: + attribute: lazy + third_party_settings: { } + weight: 0 + region: content +hidden: + created: true + field_caption: true + field_copyright: true + field_description: true + field_media_oembed_video: true + field_tags: true + field_transcript: true + name: true + uid: true diff --git a/config/core.entity_view_display.media.video.preview.yml b/config/core.entity_view_display.media.video.preview.yml new file mode 100644 index 0000000..048d2b3 --- /dev/null +++ b/config/core.entity_view_display.media.video.preview.yml @@ -0,0 +1,39 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.media.preview + - field.field.media.video.field_caption + - field.field.media.video.field_copyright + - field.field.media.video.field_description + - field.field.media.video.field_media_oembed_video + - field.field.media.video.field_tags + - field.field.media.video.field_transcript + - image.style.medium + - media.type.video + module: + - image +id: media.video.preview +targetEntityType: media +bundle: video +mode: preview +content: + thumbnail: + type: image + label: hidden + settings: + image_link: '' + image_style: medium + third_party_settings: { } + weight: 0 + region: content +hidden: + created: true + field_caption: true + field_copyright: true + field_description: true + field_media_oembed_video: true + field_tags: true + field_transcript: true + name: true + uid: true diff --git a/config/core.entity_view_mode.file.token.yml b/config/core.entity_view_mode.file.token.yml new file mode 100644 index 0000000..2adb897 --- /dev/null +++ b/config/core.entity_view_mode.file.token.yml @@ -0,0 +1,10 @@ +langcode: en +status: true +dependencies: + module: + - file +id: file.token +label: Token +description: '' +targetEntityType: file +cache: true diff --git a/config/core.entity_view_mode.media.full.yml b/config/core.entity_view_mode.media.full.yml new file mode 100644 index 0000000..2520391 --- /dev/null +++ b/config/core.entity_view_mode.media.full.yml @@ -0,0 +1,10 @@ +langcode: en +status: false +dependencies: + module: + - media +id: media.full +label: 'Full content' +description: '' +targetEntityType: media +cache: true diff --git a/config/core.entity_view_mode.media.media_library.yml b/config/core.entity_view_mode.media.media_library.yml new file mode 100644 index 0000000..ca9b3da --- /dev/null +++ b/config/core.entity_view_mode.media.media_library.yml @@ -0,0 +1,13 @@ +langcode: en +status: true +dependencies: + module: + - media + enforced: + module: + - media_library +id: media.media_library +label: 'Media library' +description: '' +targetEntityType: media +cache: true diff --git a/config/core.entity_view_mode.media.preview.yml b/config/core.entity_view_mode.media.preview.yml new file mode 100644 index 0000000..55166ae --- /dev/null +++ b/config/core.entity_view_mode.media.preview.yml @@ -0,0 +1,10 @@ +langcode: en +status: true +dependencies: + module: + - media +id: media.preview +label: Preview +description: '' +targetEntityType: media +cache: true diff --git a/config/core.entity_view_mode.media.token.yml b/config/core.entity_view_mode.media.token.yml new file mode 100644 index 0000000..ab4eb75 --- /dev/null +++ b/config/core.entity_view_mode.media.token.yml @@ -0,0 +1,10 @@ +langcode: en +status: true +dependencies: + module: + - media +id: media.token +label: Token +description: '' +targetEntityType: media +cache: true diff --git a/config/field.field.media.file.field_description.yml b/config/field.field.media.file.field_description.yml new file mode 100644 index 0000000..7129b51 --- /dev/null +++ b/config/field.field.media.file.field_description.yml @@ -0,0 +1,21 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_description + - media.type.file + module: + - text +id: media.file.field_description +field_name: field_description +entity_type: media +bundle: file +label: Description +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + allowed_formats: { } +field_type: text_long diff --git a/config/field.field.media.file.field_media_file.yml b/config/field.field.media.file.field_media_file.yml new file mode 100644 index 0000000..73a6a41 --- /dev/null +++ b/config/field.field.media.file.field_media_file.yml @@ -0,0 +1,26 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_media_file + - media.type.file + module: + - file +id: media.file.field_media_file +field_name: field_media_file +entity_type: media +bundle: file +label: File +description: '' +required: true +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'default:file' + handler_settings: { } + file_directory: '[date:custom:Y]-[date:custom:m]' + file_extensions: 'txt doc docx pdf' + max_filesize: '' + description_field: false +field_type: file diff --git a/config/field.field.media.file.field_tags.yml b/config/field.field.media.file.field_tags.yml new file mode 100644 index 0000000..0e03026 --- /dev/null +++ b/config/field.field.media.file.field_tags.yml @@ -0,0 +1,28 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_tags + - media.type.file + - taxonomy.vocabulary.media_tags +id: media.file.field_tags +field_name: field_tags +entity_type: media +bundle: file +label: Tags +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + media_tags: media_tags + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: media_tags +field_type: entity_reference diff --git a/config/field.field.media.image.field_caption.yml b/config/field.field.media.image.field_caption.yml new file mode 100644 index 0000000..da38f67 --- /dev/null +++ b/config/field.field.media.image.field_caption.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_caption + - media.type.image +id: media.image.field_caption +field_name: field_caption +entity_type: media +bundle: image +label: Caption +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string_long diff --git a/config/field.field.media.image.field_copyright.yml b/config/field.field.media.image.field_copyright.yml new file mode 100644 index 0000000..9970ddb --- /dev/null +++ b/config/field.field.media.image.field_copyright.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_copyright + - media.type.image +id: media.image.field_copyright +field_name: field_copyright +entity_type: media +bundle: image +label: Copyright +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/field.field.media.image.field_description.yml b/config/field.field.media.image.field_description.yml new file mode 100644 index 0000000..3a4e0d5 --- /dev/null +++ b/config/field.field.media.image.field_description.yml @@ -0,0 +1,21 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_description + - media.type.image + module: + - text +id: media.image.field_description +field_name: field_description +entity_type: media +bundle: image +label: Description +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + allowed_formats: { } +field_type: text_long diff --git a/config/field.field.media.image.field_media_image.yml b/config/field.field.media.image.field_media_image.yml new file mode 100644 index 0000000..4ae5de5 --- /dev/null +++ b/config/field.field.media.image.field_media_image.yml @@ -0,0 +1,37 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_media_image + - media.type.image + module: + - image +id: media.image.field_media_image +field_name: field_media_image +entity_type: media +bundle: image +label: Image +description: '' +required: true +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'default:file' + handler_settings: { } + file_directory: '[date:custom:Y]-[date:custom:m]' + file_extensions: 'png gif jpg jpeg' + max_filesize: '' + max_resolution: '' + min_resolution: '' + alt_field: true + alt_field_required: true + title_field: false + title_field_required: false + default_image: + uuid: null + alt: '' + title: '' + width: null + height: null +field_type: image diff --git a/config/field.field.media.image.field_tags.yml b/config/field.field.media.image.field_tags.yml new file mode 100644 index 0000000..67fbdd3 --- /dev/null +++ b/config/field.field.media.image.field_tags.yml @@ -0,0 +1,28 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_tags + - media.type.image + - taxonomy.vocabulary.media_tags +id: media.image.field_tags +field_name: field_tags +entity_type: media +bundle: image +label: Tags +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + media_tags: media_tags + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: media_tags +field_type: entity_reference diff --git a/config/field.field.media.video.field_caption.yml b/config/field.field.media.video.field_caption.yml new file mode 100644 index 0000000..e2bfd79 --- /dev/null +++ b/config/field.field.media.video.field_caption.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_caption + - media.type.video +id: media.video.field_caption +field_name: field_caption +entity_type: media +bundle: video +label: Caption +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: { } +field_type: string_long diff --git a/config/field.field.media.video.field_copyright.yml b/config/field.field.media.video.field_copyright.yml new file mode 100644 index 0000000..49ce2e5 --- /dev/null +++ b/config/field.field.media.video.field_copyright.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_copyright + - media.type.video +id: media.video.field_copyright +field_name: field_copyright +entity_type: media +bundle: video +label: Copyright +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/field.field.media.video.field_description.yml b/config/field.field.media.video.field_description.yml new file mode 100644 index 0000000..468b1d4 --- /dev/null +++ b/config/field.field.media.video.field_description.yml @@ -0,0 +1,21 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_description + - media.type.video + module: + - text +id: media.video.field_description +field_name: field_description +entity_type: media +bundle: video +label: Description +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + allowed_formats: { } +field_type: text_long diff --git a/config/field.field.media.video.field_media_oembed_video.yml b/config/field.field.media.video.field_media_oembed_video.yml new file mode 100644 index 0000000..39b9523 --- /dev/null +++ b/config/field.field.media.video.field_media_oembed_video.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_media_oembed_video + - media.type.video +id: media.video.field_media_oembed_video +field_name: field_media_oembed_video +entity_type: media +bundle: video +label: 'Remote video URL' +description: '' +required: true +translatable: true +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/field.field.media.video.field_tags.yml b/config/field.field.media.video.field_tags.yml new file mode 100644 index 0000000..632a388 --- /dev/null +++ b/config/field.field.media.video.field_tags.yml @@ -0,0 +1,28 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_tags + - media.type.video + - taxonomy.vocabulary.media_tags +id: media.video.field_tags +field_name: field_tags +entity_type: media +bundle: video +label: Tags +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + media_tags: media_tags + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: media_tags +field_type: entity_reference diff --git a/config/field.field.media.video.field_transcript.yml b/config/field.field.media.video.field_transcript.yml new file mode 100644 index 0000000..b62369c --- /dev/null +++ b/config/field.field.media.video.field_transcript.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_transcript + - media.type.video + module: + - link +id: media.video.field_transcript +field_name: field_transcript +entity_type: media +bundle: video +label: Transcript +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + title: 1 + link_type: 17 +field_type: link diff --git a/config/field.storage.media.field_caption.yml b/config/field.storage.media.field_caption.yml new file mode 100644 index 0000000..ed8a984 --- /dev/null +++ b/config/field.storage.media.field_caption.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + module: + - media +id: media.field_caption +field_name: field_caption +entity_type: media +type: string_long +settings: + case_sensitive: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/field.storage.media.field_copyright.yml b/config/field.storage.media.field_copyright.yml new file mode 100644 index 0000000..435d703 --- /dev/null +++ b/config/field.storage.media.field_copyright.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + module: + - media +id: media.field_copyright +field_name: field_copyright +entity_type: media +type: string +settings: + max_length: 255 + case_sensitive: false + is_ascii: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/field.storage.media.field_description.yml b/config/field.storage.media.field_description.yml new file mode 100644 index 0000000..bce545b --- /dev/null +++ b/config/field.storage.media.field_description.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + module: + - media + - text +id: media.field_description +field_name: field_description +entity_type: media +type: text_long +settings: { } +module: text +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/field.storage.media.field_media_file.yml b/config/field.storage.media.field_media_file.yml new file mode 100644 index 0000000..e1d2fbe --- /dev/null +++ b/config/field.storage.media.field_media_file.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + module: + - file + - media +id: media.field_media_file +field_name: field_media_file +entity_type: media +type: file +settings: + target_type: file + display_field: false + display_default: false + uri_scheme: public +module: file +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/field.storage.media.field_media_image.yml b/config/field.storage.media.field_media_image.yml new file mode 100644 index 0000000..4f9a4e6 --- /dev/null +++ b/config/field.storage.media.field_media_image.yml @@ -0,0 +1,29 @@ +langcode: en +status: true +dependencies: + module: + - file + - image + - media +id: media.field_media_image +field_name: field_media_image +entity_type: media +type: image +settings: + target_type: file + display_field: false + display_default: false + uri_scheme: public + default_image: + uuid: null + alt: '' + title: '' + width: null + height: null +module: image +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/field.storage.media.field_media_oembed_video.yml b/config/field.storage.media.field_media_oembed_video.yml new file mode 100644 index 0000000..e8664f0 --- /dev/null +++ b/config/field.storage.media.field_media_oembed_video.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + module: + - media +id: media.field_media_oembed_video +field_name: field_media_oembed_video +entity_type: media +type: string +settings: + max_length: 255 + case_sensitive: false + is_ascii: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/field.storage.media.field_tags.yml b/config/field.storage.media.field_tags.yml new file mode 100644 index 0000000..07883d2 --- /dev/null +++ b/config/field.storage.media.field_tags.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - media + - taxonomy +id: media.field_tags +field_name: field_tags +entity_type: media +type: entity_reference +settings: + target_type: taxonomy_term +module: core +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/field.storage.media.field_transcript.yml b/config/field.storage.media.field_transcript.yml new file mode 100644 index 0000000..80e9a8c --- /dev/null +++ b/config/field.storage.media.field_transcript.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + module: + - link + - media +id: media.field_transcript +field_name: field_transcript +entity_type: media +type: link +settings: { } +module: link +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/image.style.large.yml b/config/image.style.large.yml new file mode 100644 index 0000000..e43ae7b --- /dev/null +++ b/config/image.style.large.yml @@ -0,0 +1,16 @@ +langcode: en +status: true +dependencies: { } +_core: + default_config_hash: J2n0RpFzS0-bgSyxjs6rSdgxB1rb-bTAgqywNx_964M +name: large +label: 'Large (480×480)' +effects: + ddd73aa7-4bd6-4c85-b600-bdf2b1628d1d: + uuid: ddd73aa7-4bd6-4c85-b600-bdf2b1628d1d + id: image_scale + weight: 0 + data: + width: 480 + height: 480 + upscale: false diff --git a/config/image.style.media_library.yml b/config/image.style.media_library.yml new file mode 100644 index 0000000..f1acd3b --- /dev/null +++ b/config/image.style.media_library.yml @@ -0,0 +1,17 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - media_library +name: media_library +label: 'Media Library thumbnail (220×220)' +effects: + 75b076a8-1234-4b42-85db-bf377c4d8d5f: + uuid: 75b076a8-1234-4b42-85db-bf377c4d8d5f + id: image_scale + weight: 0 + data: + width: 220 + height: 220 + upscale: false diff --git a/config/image.style.medium.yml b/config/image.style.medium.yml new file mode 100644 index 0000000..c682753 --- /dev/null +++ b/config/image.style.medium.yml @@ -0,0 +1,16 @@ +langcode: en +status: true +dependencies: { } +_core: + default_config_hash: Y9NmnZHQq20ASSyTNA6JnwtWrJJiSajOehGDtmUFdM0 +name: medium +label: 'Medium (220×220)' +effects: + bddf0d06-42f9-4c75-a700-a33cafa25ea0: + uuid: bddf0d06-42f9-4c75-a700-a33cafa25ea0 + id: image_scale + weight: 0 + data: + width: 220 + height: 220 + upscale: false diff --git a/config/image.style.thumbnail.yml b/config/image.style.thumbnail.yml new file mode 100644 index 0000000..56416f4 --- /dev/null +++ b/config/image.style.thumbnail.yml @@ -0,0 +1,16 @@ +langcode: en +status: true +dependencies: { } +_core: + default_config_hash: cCiWdBHgLwj5omG35lsKc4LkW4MBdmcctkVop4ol5x0 +name: thumbnail +label: 'Thumbnail (100×100)' +effects: + 1cfec298-8620-4749-b100-ccb6c4500779: + uuid: 1cfec298-8620-4749-b100-ccb6c4500779 + id: image_scale + weight: 0 + data: + width: 100 + height: 100 + upscale: false diff --git a/config/image.style.wide.yml b/config/image.style.wide.yml new file mode 100644 index 0000000..5d35005 --- /dev/null +++ b/config/image.style.wide.yml @@ -0,0 +1,16 @@ +langcode: en +status: true +dependencies: { } +_core: + default_config_hash: LswCVLg8z4Zk1u6pV1Dpj1qUj5YY2CQ7_ojx7bJQ8qk +name: wide +label: 'Wide (1090)' +effects: + 09959c15-59ce-4f6d-90df-e2d7cf32bce5: + uuid: 09959c15-59ce-4f6d-90df-e2d7cf32bce5 + id: image_scale + weight: 1 + data: + width: 1090 + height: null + upscale: false diff --git a/config/media.settings.yml b/config/media.settings.yml new file mode 100644 index 0000000..fd32318 --- /dev/null +++ b/config/media.settings.yml @@ -0,0 +1,6 @@ +_core: + default_config_hash: PlWtVQXY5oKYZqCMPXh6SPamXagn5BoZqgAI8EY9WsY +icon_base_uri: 'public://media-icons/generic' +iframe_domain: '' +oembed_providers_url: 'https://oembed.com/providers.json' +standalone_url: false diff --git a/config/media.type.file.yml b/config/media.type.file.yml new file mode 100644 index 0000000..e406481 --- /dev/null +++ b/config/media.type.file.yml @@ -0,0 +1,15 @@ +langcode: en +status: true +dependencies: { } +id: file +label: File +description: '' +source: file +queue_thumbnail_downloads: false +new_revision: true +source_configuration: + source_field: field_media_file +field_map: + name: name + mimetype: field_media_file + filesize: field_media_file diff --git a/config/media.type.image.yml b/config/media.type.image.yml new file mode 100644 index 0000000..c4257ac --- /dev/null +++ b/config/media.type.image.yml @@ -0,0 +1,15 @@ +langcode: en +status: true +dependencies: { } +id: image +label: Image +description: '' +source: image +queue_thumbnail_downloads: false +new_revision: true +source_configuration: + source_field: field_media_image +field_map: + name: name + mimetype: field_media_image + filesize: field_media_image diff --git a/config/media.type.video.yml b/config/media.type.video.yml new file mode 100644 index 0000000..5621184 --- /dev/null +++ b/config/media.type.video.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: { } +id: video +label: Video +description: '' +source: 'oembed:video' +queue_thumbnail_downloads: false +new_revision: true +source_configuration: + source_field: field_media_oembed_video + thumbnails_directory: 'public://oembed_thumbnails' + providers: + - YouTube + - Vimeo +field_map: + type: field_media_oembed_video + title: name + url: field_media_oembed_video diff --git a/config/taxonomy.vocabulary.media_tags.yml b/config/taxonomy.vocabulary.media_tags.yml new file mode 100644 index 0000000..e374f2a --- /dev/null +++ b/config/taxonomy.vocabulary.media_tags.yml @@ -0,0 +1,7 @@ +langcode: en +status: true +dependencies: { } +name: 'Media Tags' +vid: media_tags +description: '' +weight: 0 diff --git a/recipe.yml b/recipe.yml new file mode 100644 index 0000000..cb7edcb --- /dev/null +++ b/recipe.yml @@ -0,0 +1,25 @@ +name: 'Sous Media' +description: 'A recipe that contains modules and configuration for Sous media.' +type: 'Site' +install: + # Core modules + - field_group + - file + - image + - link + - media + - media_library + - taxonomy + - views + # Contrib modules + - dropzonejs + - focal_point + - media_library_edit +config: + import: + # Core. + image: '*' + media: '*' + media_library: '*' + # Contrib. + focal_point: '*' \ No newline at end of file