first commit

This commit is contained in:
2024-07-15 12:33:27 +02:00
commit ce50ae282b
22084 changed files with 2623791 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
name: 'Administrator role'
description: 'Provides the Administrator role.'
type: 'User role'
config:
actions:
user.role.administrator:
# If this role already exists, then this action has no effect. If it doesn't exist, we'll create it with the following values.
createIfNotExists:
id: administrator
label: Administrator
weight: 3
is_admin: true

View File

@@ -0,0 +1,29 @@
name: 'Article comments'
description: 'Provides commenting on article content.'
type: 'Content field'
recipes:
- article_content_type
- comment_base
config:
actions:
core.entity_form_display.node.article.default:
setComponent:
name: comment
options:
type: comment_default
weight: 20
region: content
settings: {}
third_party_settings: {}
core.entity_view_display.node.article.default:
setComponent:
name: comment
options:
type: comment_default
label: above
settings:
view_mode: default
pager_id: 0
third_party_settings: { }
weight: 110
region: content

View File

@@ -0,0 +1,28 @@
name: 'Article content type'
description: 'Provides Article content type and related configuration. Use <em>articles</em> for time-sensitive content like news, press releases or blog posts.'
type: 'Content type'
install:
- image
- node
- path
config:
import:
node:
# Only import config which is also imported by the Standard profile.
- core.entity_view_mode.node.full
- core.entity_view_mode.node.rss
- core.entity_view_mode.node.teaser
- field.storage.node.body
- system.action.node_delete_action
- system.action.node_make_sticky_action
- system.action.node_make_unsticky_action
- system.action.node_promote_action
- system.action.node_publish_action
- system.action.node_save_action
- system.action.node_unpromote_action
- system.action.node_unpublish_action
image:
# Only import config which is also imported by the Standard profile.
- image.style.medium
- image.style.thumbnail
- image.style.wide

View File

@@ -0,0 +1,39 @@
name: 'Article tags'
description: 'Provides tags on article content.'
type: 'Content field'
recipes:
- article_content_type
- tags_taxonomy
install:
- views
config:
import:
taxonomy:
- views.view.taxonomy_term
actions:
core.entity_form_display.node.article.default:
setComponent:
name: field_tags
options:
type: entity_reference_autocomplete_tags
weight: 3
region: content
settings:
match_operator: CONTAINS
match_limit: 10
size: 60
placeholder: ''
third_party_settings: { }
core.entity_view_display.node.article.teaser: &entity_view_display_node_article_teaser
setComponent:
name: field_tags
options:
type: entity_reference_label
label: above
settings:
link: true
third_party_settings: { }
weight: 10
region: content
core.entity_view_display.node.article.default:
<<: *entity_view_display_node_article_teaser

View File

@@ -0,0 +1,27 @@
name: 'Audio media'
description: 'Provides "Audio" media type and related configuration. A locally hosted audio file.'
type: 'Media type'
install:
- image
- media_library
- path
- views
config:
import:
file:
- views.view.files
media_library:
- core.entity_view_display.media.audio.media_library
- core.entity_view_mode.media.media_library
- core.entity_form_mode.media.media_library
- image.style.media_library
- views.view.media_library
media:
- core.entity_view_mode.media.full
- system.action.media_delete_action
- system.action.media_publish_action
- system.action.media_save_action
- system.action.media_unpublish_action
- views.view.media
image:
- image.style.thumbnail

View File

@@ -0,0 +1,12 @@
name: 'Basic block'
description: 'Provides "Basic block" custom block type and related configuration. A basic block contains a title and a body.'
type: 'Block type'
install:
- block_content
- views
config:
import:
block_content:
- field.storage.block_content.body
- core.entity_view_mode.block_content.full
- views.view.block_content

View File

@@ -0,0 +1,9 @@
name: 'Basic HTML editor'
description: 'Provides "Basic HTML" text format along with WYSIWYG editor and related configuration.'
type: 'Text format editor'
install:
- ckeditor5
config:
actions:
user.role.authenticated:
grantPermission: 'use text format basic_html'

View File

@@ -0,0 +1,18 @@
_meta:
version: '1.0'
entity_type: shortcut
uuid: 478b3170-1dfd-49d8-8eb3-f1b285445ab7
bundle: default
default_langcode: en
default:
title:
-
value: 'All content'
weight:
-
value: -19
link:
-
uri: 'internal:/admin/content'
title: ''
options: { }

View File

@@ -0,0 +1,18 @@
_meta:
version: '1.0'
entity_type: shortcut
uuid: d5377721-d6de-4fdf-82e2-557c50f84ceb
bundle: default
default_langcode: en
default:
title:
-
value: 'Add content'
weight:
-
value: -20
link:
-
uri: 'internal:/node/add'
title: ''
options: { }

View File

@@ -0,0 +1,12 @@
name: 'Basic shortcuts'
description: 'Provides a basic set of shortcuts for logged-in users.'
type: Administration
install:
- shortcut
config:
import:
shortcut:
- shortcut.set.default
actions:
user.role.authenticated:
grantPermission: 'access shortcuts'

View File

@@ -0,0 +1,26 @@
name: 'Default comments'
description: 'Allows commenting on content.'
type: 'Comment type'
install:
- comment
- node
- views
config:
import:
comment:
- core.entity_view_mode.comment.full
- field.storage.comment.comment_body
- system.action.comment_delete_action
- system.action.comment_publish_action
- system.action.comment_save_action
- system.action.comment_unpublish_action
- views.view.comment
- views.view.comments_recent
actions:
user.role.authenticated:
grantPermissions:
- 'access comments'
- 'post comments'
- 'skip comment approval'
user.role.anonymous:
grantPermission: 'access comments'

View File

@@ -0,0 +1,15 @@
name: 'Content editor role'
description: 'Provides the Content editor role.'
type: 'User role'
config:
actions:
user.role.content_editor:
# If this role already exists, then this action has no effect. If it doesn't exist, we'll create it with the following values.
createIfNotExists:
id: content_editor
label: 'Content editor'
weight: 2
is_admin: false
permissions:
- 'access administration pages'
- 'view own unpublished content'

View File

@@ -0,0 +1,19 @@
name: 'Content search'
type: Search
description: 'Adds a page that can search site content.'
install:
- node
- search
config:
import:
node:
- core.entity_view_mode.node.search_index
- core.entity_view_mode.node.search_result
- search.page.node_search
actions:
user.role.anonymous:
grantPermissions:
- 'search content'
user.role.authenticated:
grantPermissions:
- 'search content'

View File

@@ -0,0 +1,24 @@
name: 'Admin theme'
description: 'Sets up Claro as the administrative (backend) theme.'
type: 'Themes'
install:
- claro
- block
config:
import:
system:
- system.menu.account
- system.menu.main
- system.theme
claro:
- block.block.claro_breadcrumbs
- block.block.claro_content
- block.block.claro_local_actions
- block.block.claro_messages
- block.block.claro_page_title
- block.block.claro_primary_local_tasks
- block.block.claro_secondary_local_tasks
actions:
system.theme:
simpleConfigUpdate:
admin: claro

View File

@@ -0,0 +1,29 @@
name: 'Front end theme'
description: 'Sets up Olivero as the front-end theme.'
type: 'Themes'
install:
- olivero
- block
config:
import:
system:
- system.menu.account
- system.menu.main
- system.theme
olivero:
- block.block.olivero_account_menu
- block.block.olivero_breadcrumbs
- block.block.olivero_content
- block.block.olivero_main_menu
- block.block.olivero_messages
- block.block.olivero_page_title
- block.block.olivero_powered
- block.block.olivero_primary_admin_actions
- block.block.olivero_primary_local_tasks
- block.block.olivero_secondary_local_tasks
- block.block.olivero_site_branding
- core.date_format.olivero_medium
actions:
system.theme:
simpleConfigUpdate:
default: olivero

View File

@@ -0,0 +1,16 @@
name: 'Recommended Maintenance'
description: 'Sets up modules recommended for site maintenance.'
type: 'Maintenance'
install:
- automated_cron
- announcements_feed
- dblog
- views
config:
import:
automated_cron:
- automated_cron.settings
dblog:
- views.view.watchdog
system:
- system.cron

View File

@@ -0,0 +1,7 @@
name: 'Recommended Performance'
description: 'Sets up modules for improved site performance.'
type: 'Performance'
install:
- page_cache
- dynamic_page_cache
- big_pipe

View File

@@ -0,0 +1,25 @@
name: 'Document media type'
description: 'Provides "Document" media type and related configuration to enable uploaded files or documents, such as a PDF.'
type: 'Media type'
install:
- media_library
- path
- views
config:
import:
file:
- views.view.files
media_library:
- core.entity_view_mode.media.media_library
- core.entity_form_mode.media.media_library
- image.style.media_library
- views.view.media_library
media:
- core.entity_view_mode.media.full
- system.action.media_delete_action
- system.action.media_publish_action
- system.action.media_save_action
- system.action.media_unpublish_action
- views.view.media
image:
- image.style.thumbnail

View File

@@ -0,0 +1,12 @@
name: 'Editorial workflow'
description: 'Provides an editorial workflow for moderating content.'
type: 'Workflow'
install:
- content_moderation
# The moderated_content view depends on Node.
- node
- views
config:
import:
content_moderation:
- views.view.moderated_content

View File

@@ -0,0 +1,9 @@
{
"name": "drupal_recipe/example",
"description": "An example Drupal recipe description",
"type": "drupal-recipe",
"require": {
"drupal/core": "^10.0.x-dev"
},
"license": "GPL-2.0-or-later"
}

47
core/recipes/example/recipe.yml Executable file
View File

@@ -0,0 +1,47 @@
# The type key is similar to the package key in module.info.yml. It
# can be used by the UI to group Drupal recipes. Additionally,
# the type 'Site' means that the Drupal recipe will be listed in
# the installer.
type: 'Content type'
name: 'Example'
install:
# An array of modules or themes to install, if they are not already.
# The system will detect if it is a theme or a module. During the
# install only simple configuration from the new modules is created.
# This allows the Drupal recipe control over the configuration.
- node
- text
config:
# A Drupal recipe can have a config directory. All configuration
# is this directory will be imported after the modules have been
# installed.
# Additionally, the Drupal recipe can install configuration entities
# provided by the modules it configures. This allows them to not have
# to maintain or copy this configuration. Note the examples below are
# fictitious.
import:
node:
- node.type.article
# Import all configuration that is provided by the text module and any
# optional configuration that depends on the text module that is provided by
# modules already installed.
text: '*'
# Configuration actions may be defined. The structure here should be
# entity_type.ID.action. Below the user role entity type with an ID of
# editor is having the permissions added. The permissions key will be
# mapped to the \Drupal\user\Entity\Role::grantPermission() method.
actions:
user.role.editor:
createIfNotExists:
label: 'Editor'
grantPermissions:
- 'delete any article content'
- 'edit any article content'
content: {}
# A Drupal recipe can have a content directory. All content in this
# directory will be created after the configuration is installed.

View File

@@ -0,0 +1,24 @@
name: 'Website feedback contact form'
description: 'Provides a website feedback contact form.'
type: 'Contact form'
install:
- contact
config:
import:
contact:
- contact.form.personal
system:
- system.menu.footer
actions:
core.menu.static_menu_link_overrides:
simpleConfigUpdate:
definitions.contact__site_page:
menu_name: footer
parent: ''
weight: 0
expanded: false
enabled: true
user.role.anonymous:
grantPermission: 'access site-wide contact form'
user.role.authenticated:
grantPermission: 'access site-wide contact form'

View File

@@ -0,0 +1,5 @@
name: 'Full HTML editor'
description: 'Provides "Full HTML" text format along with WYSIWYG editor and related configuration.'
type: 'Text format editor'
install:
- ckeditor5

View File

@@ -0,0 +1,27 @@
name: 'Image media type'
description: 'Provides "Image" media type and related configuration. Use local images for reusable media.'
type: 'Media type'
install:
- media_library
- path
- views
config:
import:
file:
- views.view.files
media_library:
- core.entity_view_mode.media.media_library
- core.entity_form_mode.media.media_library
- image.style.media_library
- views.view.media_library
media:
- core.entity_view_mode.media.full
- system.action.media_delete_action
- system.action.media_publish_action
- system.action.media_save_action
- system.action.media_unpublish_action
- views.view.media
image:
- image.style.medium
- image.style.large
- image.style.thumbnail

View File

@@ -0,0 +1,25 @@
name: 'Local video media'
description: 'Provides a media type for self-hosted video files.'
type: 'Media type'
install:
- media_library
- path
- views
config:
import:
file:
- views.view.files
media_library:
- core.entity_view_mode.media.media_library
- core.entity_form_mode.media.media_library
- image.style.media_library
- views.view.media_library
media:
- core.entity_view_mode.media.full
- system.action.media_delete_action
- system.action.media_publish_action
- system.action.media_save_action
- system.action.media_unpublish_action
- views.view.media
image:
- image.style.thumbnail

View File

@@ -0,0 +1,21 @@
name: 'Basic page'
description: "Provides Basic page content type and related configuration. Use <em>basic pages</em> for your static content, such as an 'About us' page."
type: 'Content type'
install:
- node
- path
config:
import:
node:
- core.entity_view_mode.node.full
- core.entity_view_mode.node.rss
- core.entity_view_mode.node.teaser
- field.storage.node.body
- system.action.node_delete_action
- system.action.node_make_sticky_action
- system.action.node_make_unsticky_action
- system.action.node_promote_action
- system.action.node_publish_action
- system.action.node_save_action
- system.action.node_unpromote_action
- system.action.node_unpublish_action

View File

@@ -0,0 +1,23 @@
name: 'Remote video media'
description: 'Provides a media type for videos hosted on YouTube and Vimeo.'
type: 'Media type'
install:
- media_library
- path
- views
config:
import:
media_library:
- core.entity_view_mode.media.media_library
- core.entity_form_mode.media.media_library
- image.style.media_library
- views.view.media_library
media:
- core.entity_view_mode.media.full
- system.action.media_delete_action
- system.action.media_publish_action
- system.action.media_save_action
- system.action.media_unpublish_action
- views.view.media
image:
- image.style.medium

View File

@@ -0,0 +1,11 @@
name: 'Restricted HTML'
description: 'Provides "Restricted HTML" text format.'
type: 'Text format'
install:
- filter
config:
import:
filter: '*'
actions:
user.role.anonymous:
grantPermission: 'use text format restricted_html'

102
core/recipes/standard/recipe.yml Executable file
View File

@@ -0,0 +1,102 @@
name: 'Standard'
description: 'Provides a standard site with commonly used features pre-configured.'
type: 'Site'
recipes:
- basic_block_type
- basic_shortcuts
- article_comment
- article_tags
- feedback_contact_form
- article_content_type
- page_content_type
- basic_html_format_editor
- full_html_format_editor
- content_search
- core_recommended_performance
- core_recommended_maintenance
- core_recommended_admin_theme
- core_recommended_front_end_theme
- user_picture
# Provides a fallback text format which is available to all users.
- restricted_html_format
- administrator_role
- content_editor_role
install:
- image
- help
- history
- config
- contextual
- menu_link_content
- datetime
- menu_ui
- options
- toolbar
- field_ui
- views_ui
- shortcut
config:
import:
claro:
- block.block.claro_help
help:
- search.page.help_search
- block.block.claro_help_search
image:
- image.style.large
- image.style.thumbnail
node:
- views.view.archive
- views.view.content
- views.view.content_recent
- views.view.frontpage
- views.view.glossary
olivero:
- block.block.olivero_help
- block.block.olivero_search_form_narrow
- block.block.olivero_search_form_wide
- block.block.olivero_syndicate
user:
- core.entity_view_mode.user.compact
- search.page.user_search
- views.view.user_admin_people
- views.view.who_s_new
- views.view.who_s_online
actions:
node.settings:
simpleConfigUpdate:
use_admin_theme: true
system.site:
simpleConfigUpdate:
page.front: /node
user.role.anonymous:
grantPermission: 'access content'
user.role.authenticated:
grantPermissions:
- 'access content'
- 'delete own files'
user.role.content_editor:
grantPermissions:
- 'access content overview'
- 'access contextual links'
- 'access files overview'
- 'access toolbar'
- 'administer url aliases'
- 'create terms in tags'
- 'create url aliases'
- 'edit own comments'
- 'edit terms in tags'
- 'delete own files'
- 'revert all revisions'
- 'view all revisions'
- 'view the administration theme'
grantPermissionsForEachNodeType:
- 'create %bundle content'
- 'delete %bundle revisions'
- 'delete own %bundle content'
- 'edit own %bundle content'
user.settings:
simpleConfigUpdate:
verify_mail: true
register: visitors_admin_approval
cancel_method: user_cancel_block

View File

@@ -0,0 +1,8 @@
name: 'Standard Responsive Images'
description: 'Provides basic responsive images and accompanying image styles.'
type: 'Media'
install:
- responsive_image
config:
import:
image: '*'

View File

@@ -0,0 +1,11 @@
name: Tags
description: 'Provides "Tags" taxonomy vocabulary and related configuration. Use tags to group content on similar topics into categories.'
type: 'Taxonomy'
install:
- taxonomy
config:
import:
taxonomy:
- core.entity_view_mode.taxonomy_term.full
- system.action.taxonomy_term_publish_action
- system.action.taxonomy_term_unpublish_action

View File

@@ -0,0 +1,8 @@
name: User pictures
description: 'Adds the ability for user accounts to have pictures (avatars).'
type: Users
install:
- field
- file
- image
- user