Add Drupal CMS Admin UI recipe

https://www.drupal.org/project/drupal_cms_admin_ui

```
composer require drupal/drupal_cms_admin_ui
drush recipe $(pwd)/recipes/drupal_cms_admin_ui
```
This commit is contained in:
Oliver Davies 2025-06-15 15:17:49 +01:00
parent 3ba181a753
commit e740384446
19 changed files with 703 additions and 2 deletions

View file

@ -20,6 +20,7 @@
"drupal/auto_entitylabel": "^3.4",
"drupal/core-composer-scaffold": "^11.1",
"drupal/core-recommended": "^11.1",
"drupal/drupal_cms_admin_ui": "^1.1",
"drupal/drupal_cms_seo_tools": "^1.1",
"drupal/markdown_easy": "^1.0",
"drupal/paragraphs": "^1.19",

438
composer.lock generated
View file

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "d08a9ed40d3ba12f5ad2396def6f45ef",
"content-hash": "2507c74aa091edc3083f69f0c62339b5",
"packages": [
{
"name": "asm89/stack-cors",
@ -1398,6 +1398,79 @@
"issues": "https://www.drupal.org/project/issues/checklistapi"
}
},
{
"name": "drupal/coffee",
"version": "2.0.1",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/coffee.git",
"reference": "2.0.1"
},
"dist": {
"type": "zip",
"url": "https://ftp.drupal.org/files/projects/coffee-2.0.1.zip",
"reference": "2.0.1",
"shasum": "cc19f67fbf48c5946f8053093e100cbd07e96167"
},
"require": {
"drupal/core": "^10.2 || ^11.0"
},
"type": "drupal-module",
"extra": {
"drupal": {
"version": "2.0.1",
"datestamp": "1736247807",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
}
},
"branch-alias": {
"dev-8.x-1.x": "8.1.x-dev"
}
},
"notification-url": "https://packages.drupal.org/8/downloads",
"license": [
"GPL-2.0-or-later"
],
"authors": [
{
"name": "Michael Mol",
"homepage": "https://www.drupal.org/u/michaelmol",
"role": "Maintainer"
},
{
"name": "Marco",
"homepage": "https://www.drupal.org/u/willzyx",
"role": "Maintainer"
},
{
"name": "Oliver Köhler",
"homepage": "https://www.drupal.org/u/nebel54",
"role": "Maintainer"
},
{
"name": "Alli Price",
"homepage": "https://www.drupal.org/u/heylookalive",
"role": "Maintainer"
},
{
"name": "See other contributors",
"homepage": "https://www.drupal.org/node/1356930/committers",
"role": "contributor"
}
],
"description": "Provides an Alfred like search box to navigate within your site.",
"homepage": "https://drupal.org/project/coffee",
"keywords": [
"Drupal"
],
"support": {
"source": "https://git.drupalcode.org/project/coffee",
"issues": "https://drupal.org/project/issues/coffee",
"irc": "irc://irc.freenode.org/drupal-contribute"
}
},
{
"name": "drupal/core",
"version": "11.1.7",
@ -1852,6 +1925,127 @@
"issues": "https://www.drupal.org/project/issues/ctools"
}
},
{
"name": "drupal/dashboard",
"version": "2.0.0",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/dashboard.git",
"reference": "2.0.0"
},
"dist": {
"type": "zip",
"url": "https://ftp.drupal.org/files/projects/dashboard-2.0.0.zip",
"reference": "2.0.0",
"shasum": "e03d4f2d98aad3a3131a7ab21e898704386e4259"
},
"require": {
"drupal/core": "^10.2 || ^11"
},
"type": "drupal-module",
"extra": {
"drupal": {
"version": "2.0.0",
"datestamp": "1736528735",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
}
}
},
"notification-url": "https://packages.drupal.org/8/downloads",
"license": [
"GPL-2.0-or-later"
],
"authors": [
{
"name": "See contributors",
"homepage": "https://www.drupal.org/node/35094/maintainers"
},
{
"name": "Anonymous",
"homepage": "https://www.drupal.org/user/0"
},
{
"name": "chrismiller627",
"homepage": "https://www.drupal.org/user/274027"
},
{
"name": "ckrina",
"homepage": "https://www.drupal.org/user/1206650"
},
{
"name": "dmitrig01",
"homepage": "https://www.drupal.org/user/47566"
},
{
"name": "jtsnow",
"homepage": "https://www.drupal.org/user/171614"
},
{
"name": "mtift",
"homepage": "https://www.drupal.org/user/751908"
},
{
"name": "penyaskito",
"homepage": "https://www.drupal.org/user/959536"
},
{
"name": "pingers",
"homepage": "https://www.drupal.org/user/56282"
},
{
"name": "plopesc",
"homepage": "https://www.drupal.org/user/282415"
},
{
"name": "webchick",
"homepage": "https://www.drupal.org/user/24967"
}
],
"description": "Provides customizable dashboards.",
"homepage": "https://www.drupal.org/project/dashboard",
"keywords": [
"Drupal"
],
"support": {
"source": "https://git.drupalcode.org/project/dashboard",
"issues": "https://www.drupal.org/project/issues/dashboard"
}
},
{
"name": "drupal/drupal_cms_admin_ui",
"version": "1.1.3",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/drupal_cms_admin_ui.git",
"reference": "6eefe2e0bbcd2676b7bee3e05a5bdd3c60e62938"
},
"dist": {
"type": "zip",
"url": "https://git.drupalcode.org/api/v4/projects/project%2Fdrupal_cms_admin_ui/repository/archive.zip?sha=6eefe2e0bbcd2676b7bee3e05a5bdd3c60e62938",
"reference": "6eefe2e0bbcd2676b7bee3e05a5bdd3c60e62938",
"shasum": ""
},
"require": {
"drupal/coffee": "^2",
"drupal/core": "^10.3 || ^11",
"drupal/dashboard": "^2",
"drupal/gin": "^4.0.6 || ^5",
"drupal/sam": "^1.2",
"drupal/tagify": "^1.2"
},
"type": "drupal-recipe",
"notification-url": "https://packagist.org/downloads/",
"license": [
"GPL-2.0-or-later"
],
"description": "Sets up a nice administrative theme and navigation.",
"support": {
"source": "https://git.drupalcode.org/project/drupal_cms_admin_ui/-/tree/1.1.3"
},
"time": "2025-06-10T11:21:54+00:00"
},
{
"name": "drupal/drupal_cms_seo_tools",
"version": "1.1.1",
@ -2242,6 +2436,135 @@
"irc": "irc://irc.freenode.org/drupal-contribute"
}
},
{
"name": "drupal/gin",
"version": "4.0.6",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/gin.git",
"reference": "4.0.6"
},
"dist": {
"type": "zip",
"url": "https://ftp.drupal.org/files/projects/gin-4.0.6.zip",
"reference": "4.0.6",
"shasum": "c68a0fb646c439e1eea3f31f282e59be36eadab2"
},
"require": {
"drupal/core": "^10 || ^11",
"drupal/gin_toolbar": "^2.0"
},
"type": "drupal-theme",
"extra": {
"drupal": {
"version": "4.0.6",
"datestamp": "1740739176",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
}
}
},
"notification-url": "https://packages.drupal.org/8/downloads",
"scripts": {
"phpcs": [
"phpcs -s --runtime-set ignore_warnings_on_exit 1 --runtime-set ignore_errors_on_exit 0 'web/modules/custom'"
]
},
"license": [
"GPL-2.0-or-later"
],
"authors": [
{
"name": "Sascha Eggenberger (saschaeggi)",
"homepage": "https://www.drupal.org/u/saschaeggi",
"role": "Maintainer"
},
{
"name": "saschaeggi",
"homepage": "https://www.drupal.org/user/1999056"
}
],
"description": "For a better Admin and Content Editor Experience.",
"homepage": "https://www.drupal.org/project/gin",
"support": {
"source": "https://git.drupalcode.org/project/gin",
"issues": "https://www.drupal.org/project/issues/gin"
},
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/saschaeggi"
},
{
"type": "other",
"url": "https://paypal.me/saschaeggi"
}
]
},
{
"name": "drupal/gin_toolbar",
"version": "2.0.0",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/gin_toolbar.git",
"reference": "2.0.0"
},
"dist": {
"type": "zip",
"url": "https://ftp.drupal.org/files/projects/gin_toolbar-2.0.0.zip",
"reference": "2.0.0",
"shasum": "2befeab2de9f7953b76b1a36c9bfb6a7e3987b11"
},
"require": {
"drupal/core": "^9 || ^10 || ^11"
},
"type": "drupal-module",
"extra": {
"drupal": {
"version": "2.0.0",
"datestamp": "1734698921",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
}
}
},
"notification-url": "https://packages.drupal.org/8/downloads",
"license": [
"GPL-2.0+"
],
"authors": [
{
"name": "Sascha Eggenberger (saschaeggi)",
"homepage": "https://www.drupal.org/u/saschaeggi",
"role": "Maintainer"
},
{
"name": "saschaeggi",
"homepage": "https://www.drupal.org/user/1999056"
}
],
"description": "Gin Toolbar for Frontend use",
"homepage": "https://www.drupal.org/project/gin_toolbar",
"keywords": [
"Drupal"
],
"support": {
"source": "http://cgit.drupalcode.org/gin_toolbar",
"issues": "https://www.drupal.org/project/issues/gin_toolbar"
},
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/saschaeggi"
},
{
"type": "other",
"url": "https://paypal.me/saschaeggi"
}
]
},
{
"name": "drupal/markdown_easy",
"version": "1.0.1",
@ -2688,6 +3011,66 @@
"issues": "https://www.drupal.org/project/issues/robotstxt"
}
},
{
"name": "drupal/sam",
"version": "1.3.2",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/sam.git",
"reference": "1.3.2"
},
"dist": {
"type": "zip",
"url": "https://ftp.drupal.org/files/projects/sam-1.3.2.zip",
"reference": "1.3.2",
"shasum": "455bbdaa3565842fb848ad5c7c38126cfa5e8e4c"
},
"require": {
"drupal/core": "^9.2 || ^10 || ^11"
},
"require-dev": {
"drupal/entity_reference_revisions": "*",
"drupal/paragraphs": "dev-1.x"
},
"type": "drupal-module",
"extra": {
"drupal": {
"version": "1.3.2",
"datestamp": "1733343161",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
}
}
},
"notification-url": "https://packages.drupal.org/8/downloads",
"license": [
"GPL-2.0+"
],
"authors": [
{
"name": "lullabot",
"homepage": "https://www.drupal.org/user/3815489"
},
{
"name": "marcoscano",
"homepage": "https://www.drupal.org/user/1288796"
},
{
"name": "penyaskito",
"homepage": "https://www.drupal.org/user/959536"
}
],
"description": "Improves limited-cardinality widgets by displaying only one empty element at a time",
"homepage": "https://www.drupal.org/project/sam",
"keywords": [
"Drupal"
],
"support": {
"source": "http://cgit.drupalcode.org/sam",
"issues": "http://drupal.org/project/issues/sam"
}
},
{
"name": "drupal/seo_checklist",
"version": "5.2.4",
@ -2899,6 +3282,59 @@
"issues": "http://drupal.org/project/issues/sitemap"
}
},
{
"name": "drupal/tagify",
"version": "1.2.40",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/tagify.git",
"reference": "1.2.40"
},
"dist": {
"type": "zip",
"url": "https://ftp.drupal.org/files/projects/tagify-1.2.40.zip",
"reference": "1.2.40",
"shasum": "5a4bcc41fe1997a3cd9548e0641268741f68c0a1"
},
"require": {
"drupal/core": "^8.8 || ^9 || ^10 || ^11"
},
"require-dev": {
"drupal/better_exposed_filters": "^7.0",
"drupal/facets": "^2.0",
"drupal/iconify_icons": "*",
"drupal/search_api": "^1.31",
"drupal/ui_icons": "*",
"drupal/ui_icons_field": "*"
},
"type": "drupal-module",
"extra": {
"drupal": {
"version": "1.2.40",
"datestamp": "1748686447",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
}
}
},
"notification-url": "https://packages.drupal.org/8/downloads",
"license": [
"GPL-2.0-or-later"
],
"authors": [
{
"name": "David Galeano",
"homepage": "https://www.drupal.org/u/gxleano"
}
],
"description": "Integration with the Tagify JavaScript library.",
"homepage": "https://drupal.org/project/tagify",
"support": {
"source": "https://git.drupalcode.org/project/tagify",
"issues": "https://www.drupal.org/project/issues/tagify"
}
},
{
"name": "drupal/token",
"version": "1.15.0",

View file

@ -0,0 +1,22 @@
uuid: f615a68c-fdb9-40ab-bc79-f70c2a715eb3
langcode: en
status: true
dependencies:
module:
- system
theme:
- gin
_core:
default_config_hash: y9X3xgCsO59pQyzNLzY1D3SDJJxCHILLWkpPnmuTJ2E
id: gin_breadcrumbs
theme: gin
region: breadcrumb
weight: 0
provider: null
plugin: system_breadcrumb_block
settings:
id: system_breadcrumb_block
label: Breadcrumbs
label_display: '0'
provider: system
visibility: { }

View file

@ -0,0 +1,22 @@
uuid: fbac89f2-160b-436c-99e6-48e2af3fa444
langcode: en
status: true
dependencies:
module:
- system
theme:
- gin
_core:
default_config_hash: erQSEZF2XUjNmgTl0uNRBzmg18ZGXwUcw2FhApoeuHk
id: gin_content
theme: gin
region: content
weight: -4
provider: null
plugin: system_main_block
settings:
id: system_main_block
label: 'Main page content'
label_display: '0'
provider: system
visibility: { }

View file

@ -0,0 +1,20 @@
uuid: 19f0e955-fc87-41af-8397-4eca8c33fd04
langcode: en
status: true
dependencies:
theme:
- gin
_core:
default_config_hash: OQ9aJ-4qVwK1x00o9EOYK4eFDjQr_HLpbPiJaPSVZiQ
id: gin_local_actions
theme: gin
region: content
weight: -10
provider: null
plugin: local_actions_block
settings:
id: local_actions_block
label: 'Primary admin actions'
label_display: '0'
provider: core
visibility: { }

View file

@ -0,0 +1,22 @@
uuid: 10de17a1-3c2c-4ef9-8f7d-57062553d495
langcode: en
status: true
dependencies:
module:
- system
theme:
- gin
_core:
default_config_hash: BZ5tpW7H8X4PVGRm3MImTIHd2tN0eF7zOtp4SpRYUA0
id: gin_messages
theme: gin
region: highlighted
weight: -5
provider: null
plugin: system_messages_block
settings:
id: system_messages_block
label: 'Status messages'
label_display: '0'
provider: system
visibility: { }

View file

@ -0,0 +1,20 @@
uuid: 19321262-00d6-479a-81e4-2711a28a4737
langcode: en
status: true
dependencies:
theme:
- gin
_core:
default_config_hash: 6aOgWsNTXjqrDm98TXSAjP6qd2nCijD1xw45MrnbK-Y
id: gin_page_title
theme: gin
region: content
weight: -5
provider: null
plugin: page_title_block
settings:
id: page_title_block
label: 'Page title'
label_display: '0'
provider: core
visibility: { }

View file

@ -0,0 +1,22 @@
uuid: f27b72ab-8a29-45a8-b39e-4bdeb49d73b5
langcode: en
status: true
dependencies:
theme:
- gin
_core:
default_config_hash: nGE3EoPQQaQCuqTUtZgw0-KIzmrqdKDzdNQf2JyPUt4
id: gin_primary_local_tasks
theme: gin
region: highlighted
weight: -4
provider: null
plugin: local_tasks_block
settings:
id: local_tasks_block
label: 'Primary tabs'
label_display: '0'
provider: core
primary: true
secondary: false
visibility: { }

View file

@ -0,0 +1,22 @@
uuid: fa87b341-c9b2-4beb-81f3-5786ba3d7dc5
langcode: en
status: true
dependencies:
theme:
- gin
_core:
default_config_hash: ydSxdq7R66I8UMC460rOzlfzvlUL4VRbdwc6z9DWaUI
id: gin_secondary_local_tasks
theme: gin
region: highlighted
weight: -2
provider: null
plugin: local_tasks_block
settings:
id: local_tasks_block
label: 'Secondary tabs'
label_display: '0'
provider: core
primary: false
secondary: true
visibility: { }

View file

@ -0,0 +1,3 @@
coffee_menus:
admin: admin
max_results: 7

View file

@ -10,11 +10,13 @@ module:
breakpoint: 0
checklistapi: 0
ckeditor5: 0
coffee: 0
comment: 0
config: 0
contact: 0
contextual: 0
crop: 0
dashboard: 0
datetime: 0
dblog: 0
dynamic_page_cache: 0
@ -32,6 +34,7 @@ module:
file: 0
filter: 0
focal_point: 0
gin_toolbar: 0
help: 0
history: 0
image: 0
@ -46,6 +49,7 @@ module:
metatag: 0
metatag_open_graph: 0
metatag_twitter_cards: 0
navigation: 0
node: 0
opd_daily_emails: 0
opd_podcast: 0
@ -57,6 +61,7 @@ module:
redirect: 0
rel_to_abs: 0
robotstxt: 0
sam: 0
search: 0
seo_checklist: 0
serialization: 0
@ -65,6 +70,8 @@ module:
sitemap: 0
sqlite: 0
system: 0
tagify: 0
tagify_user_list: 0
taxonomy: 0
text: 0
token: 0
@ -87,4 +94,5 @@ module:
theme:
claro: 0
opdavies: 0
gin: 0
profile: standard

View file

@ -0,0 +1,24 @@
favicon:
use_default: true
features:
comment_user_picture: true
comment_user_verification: true
favicon: true
node_user_picture: true
logo:
use_default: true
third_party_settings:
shortcut:
module_link: true
preset_accent_color: blue
preset_focus_color: gin
enable_darkmode: '1'
classic_toolbar: new
secondary_toolbar_frontend: true
high_contrast_mode: false
accent_color: ''
focus_color: ''
layout_density: default
show_description_toggle: false
show_user_theme_settings: false
sticky_action_buttons: false

View file

@ -0,0 +1,52 @@
langcode: en
sections:
-
layout_id: navigation_layout
layout_settings:
label: ''
components:
2694e8e4-2af1-4be6-a11c-84b2dee3cfdf:
uuid: 2694e8e4-2af1-4be6-a11c-84b2dee3cfdf
region: content
configuration:
id: navigation_dashboard
label: Dashboard
label_display: '0'
provider: dashboard
weight: -5
additional: { }
3ff7be01-c8b0-4444-88f3-2364d7a8054e:
uuid: 3ff7be01-c8b0-4444-88f3-2364d7a8054e
region: content
configuration:
id: 'navigation_menu:content'
label: Content
label_display: '0'
provider: navigation
level: 1
depth: 2
weight: 1
additional: { }
3f2f743f-856f-404a-9c28-57ee83af4691:
uuid: 3f2f743f-856f-404a-9c28-57ee83af4691
region: content
configuration:
id: 'navigation_menu:admin'
label: Administration
label_display: '0'
provider: navigation
level: 2
depth: 2
weight: 2
additional: { }
283da777-e051-4571-8089-47633a9ce706:
uuid: 283da777-e051-4571-8089-47633a9ce706
region: footer
configuration:
id: navigation_user
label: User
label_display: '0'
provider: navigation
weight: 0
additional: { }
third_party_settings: { }

View file

@ -0,0 +1,7 @@
logo:
provider: default
path: ''
max:
filesize: 1048576
height: 40
width: 40

View file

@ -0,0 +1,4 @@
add_more_label: 'Add another item'
remove_label: Remove
help_text_singular: '@count additional item can be added'
help_text_plural: '@count additional items can be added'

View file

@ -0,0 +1,13 @@
uuid: dd2ac0c6-051b-4ab4-9296-29c3c0a1e590
langcode: en
status: true
dependencies:
enforced:
module:
- navigation
_core:
default_config_hash: nqVwm91Uyib_rvFaNPF1MdYqHlmZ38w5rsOVVy4uWDw
id: content
label: Content
description: 'Content task links'
locked: true

View file

@ -1,4 +1,4 @@
_core:
default_config_hash: eJ529VM1gSIA_vgTy2PdiDvJuG0xhSxfQjCyl5WKlv4
admin: claro
admin: gin
default: opdavies

View file

@ -0,0 +1 @@
set_default_widget: true

View file

@ -5,6 +5,7 @@ dependencies:
config:
- filter.format.basic_html
module:
- coffee
- comment
- contact
- file
@ -21,6 +22,7 @@ label: 'Authenticated user'
weight: 1
is_admin: false
permissions:
- 'access coffee'
- 'access comments'
- 'access content'
- 'access shortcuts'