Add daily email testimonials

This commit is contained in:
Oliver Davies 2025-07-04 10:10:05 +01:00
parent 768d7f85a6
commit 606c7314fc
45 changed files with 2342 additions and 13 deletions

View file

@ -6,6 +6,7 @@ dependencies:
- field.field.node.testimonial.body
- field.field.node.testimonial.field_image
- field.field.node.testimonial.field_role
- field.field.node.testimonial.field_testimonial_type
- field.field.node.testimonial.field_url
- field.field.node.testimonial.field_weight
- image.style.thumbnail
@ -14,6 +15,7 @@ dependencies:
- image
- link
- path
- tagify
- text
- weight
id: node.testimonial.default
@ -53,6 +55,19 @@ content:
size: 60
placeholder: ''
third_party_settings: { }
field_testimonial_type:
type: tagify_entity_reference_autocomplete_widget
weight: 124
region: content
settings:
match_operator: CONTAINS
match_limit: 10
placeholder: ''
suggestions_dropdown: 1
show_entity_id: 0
show_info_label: 0
info_label: ''
third_party_settings: { }
field_url:
type: link_default
weight: 122
@ -117,4 +132,9 @@ content:
size: 60
placeholder: ''
third_party_settings: { }
url_redirects:
weight: 50
region: content
settings: { }
third_party_settings: { }
hidden: { }

View file

@ -6,6 +6,7 @@ dependencies:
- field.field.node.testimonial.body
- field.field.node.testimonial.field_image
- field.field.node.testimonial.field_role
- field.field.node.testimonial.field_testimonial_type
- field.field.node.testimonial.field_url
- field.field.node.testimonial.field_weight
- image.style.thumbnail
@ -26,7 +27,7 @@ content:
label: hidden
settings: { }
third_party_settings: { }
weight: 0
weight: 1
region: content
field_image:
type: image
@ -37,7 +38,7 @@ content:
image_loading:
attribute: lazy
third_party_settings: { }
weight: -1
weight: 0
region: content
field_role:
type: string
@ -45,7 +46,7 @@ content:
settings:
link_to_entity: false
third_party_settings: { }
weight: 101
weight: 3
region: content
field_url:
type: link
@ -57,18 +58,19 @@ content:
rel: ''
target: ''
third_party_settings: { }
weight: 102
weight: 4
region: content
field_weight:
type: default_weight
label: above
settings: { }
third_party_settings: { }
weight: 103
weight: 5
region: content
links:
settings: { }
third_party_settings: { }
weight: 100
weight: 2
region: content
hidden: { }
hidden:
field_testimonial_type: true

View file

@ -7,6 +7,7 @@ dependencies:
- field.field.node.testimonial.body
- field.field.node.testimonial.field_image
- field.field.node.testimonial.field_role
- field.field.node.testimonial.field_testimonial_type
- field.field.node.testimonial.field_url
- field.field.node.testimonial.field_weight
- image.style.medium
@ -46,5 +47,6 @@ content:
region: content
hidden:
field_role: true
field_testimonial_type: true
field_url: true
field_weight: true

View file

@ -0,0 +1,29 @@
uuid: 1c3be925-56e1-4467-9c88-95c096631935
langcode: en
status: true
dependencies:
config:
- field.storage.node.field_testimonial_type
- node.type.testimonial
- taxonomy.vocabulary.testimonial_type
id: node.testimonial.field_testimonial_type
field_name: field_testimonial_type
entity_type: node
bundle: testimonial
label: 'Testimonial type'
description: ''
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings:
handler: 'default:taxonomy_term'
handler_settings:
target_bundles:
testimonial_type: testimonial_type
sort:
field: name
direction: asc
auto_create: false
auto_create_bundle: ''
field_type: entity_reference

View file

@ -0,0 +1,20 @@
uuid: bd75e259-c3fc-4918-93e7-80abb358e9c4
langcode: en
status: true
dependencies:
module:
- node
- taxonomy
id: node.field_testimonial_type
field_name: field_testimonial_type
entity_type: node
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

View file

@ -0,0 +1,9 @@
uuid: b1e5532d-a501-4e71-b3c6-ccde641941be
langcode: en
status: true
dependencies: { }
name: 'Testimonial type'
vid: testimonial_type
description: null
weight: 0
new_revision: true

View file

@ -5,8 +5,12 @@ dependencies:
config:
- core.entity_view_mode.node.full
- node.type.testimonial
- taxonomy.vocabulary.testimonial_type
content:
- 'taxonomy_term:testimonial_type:5a23da64-7e26-42fd-8d5d-d7e5f98f54a1'
module:
- node
- taxonomy
- user
id: testimonials
label: Testimonials
@ -91,7 +95,7 @@ display:
type: some
options:
offset: 0
items_per_page: 5
items_per_page: 0
exposed_form:
type: basic
options:
@ -198,10 +202,101 @@ display:
tags: { }
block_1:
id: block_1
display_title: Block
display_title: 'All testimonials block'
display_plugin: block
position: 1
display_options:
display_description: ''
display_extenders: { }
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- 'user.node_grants:view'
- user.permissions
tags: { }
block_2:
id: block_2
display_title: 'Daily email testimonials block'
display_plugin: block
position: 1
display_options:
filters:
status:
id: status
table: node_field_data
field: status
entity_type: node
entity_field: status
plugin_id: boolean
value: '1'
group: 1
expose:
operator: ''
type:
id: type
table: node_field_data
field: type
entity_type: node
entity_field: type
plugin_id: bundle
value:
testimonial: testimonial
field_testimonial_type_target_id:
id: field_testimonial_type_target_id
table: node__field_testimonial_type
field: field_testimonial_type_target_id
relationship: none
group_type: group
admin_label: ''
plugin_id: taxonomy_index_tid
operator: or
value:
1563: 1563
group: 1
exposed: false
expose:
operator_id: ''
label: ''
description: ''
use_operator: false
operator: ''
operator_limit_selection: false
operator_list: { }
identifier: ''
required: false
remember: false
multiple: false
remember_roles:
authenticated: authenticated
reduce: false
is_grouped: false
group_info:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
reduce_duplicates: false
vid: testimonial_type
type: select
hierarchy: false
limit: true
error_message: true
filter_groups:
operator: AND
groups:
1: AND
defaults:
filters: false
filter_groups: false
display_description: ''
display_extenders: { }
cache_metadata:
max-age: -1

View file

@ -0,0 +1,66 @@
{
"uuid": [
{
"value": "3a9ee5e5-7d88-4bae-8ed5-d20b1350b0a4"
}
],
"type": [
{
"target_id": "focal_point"
}
],
"langcode": [
{
"value": "en"
}
],
"entity_id": [
{
"value": 2112
}
],
"entity_type": [
{
"value": "file"
}
],
"uri": [
{
"value": "public:\/\/2025-07\/patty-ocallaghan.jpg"
}
],
"height": [],
"width": [],
"x": [
{
"value": 306
}
],
"y": [
{
"value": 306
}
],
"revision_timestamp": [
{
"value": "2025-07-04T09:13:27+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
]
}

View file

@ -0,0 +1,66 @@
{
"uuid": [
{
"value": "4707d17a-bd89-4764-a29a-e187deaeb61a"
}
],
"type": [
{
"target_id": "focal_point"
}
],
"langcode": [
{
"value": "en"
}
],
"entity_id": [
{
"value": 2115
}
],
"entity_type": [
{
"value": "file"
}
],
"uri": [
{
"value": "public:\/\/2025-07\/marcos-duran_0.jpg"
}
],
"height": [],
"width": [],
"x": [
{
"value": 200
}
],
"y": [
{
"value": 200
}
],
"revision_timestamp": [
{
"value": "2025-07-04T09:56:36+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
]
}

View file

@ -0,0 +1,66 @@
{
"uuid": [
{
"value": "631b4690-6afd-45d8-b6f5-e61ec2bf2d27"
}
],
"type": [
{
"target_id": "focal_point"
}
],
"langcode": [
{
"value": "en"
}
],
"entity_id": [
{
"value": 2117
}
],
"entity_type": [
{
"value": "file"
}
],
"uri": [
{
"value": "public:\/\/2025-07\/adam-nuttall.jpg"
}
],
"height": [],
"width": [],
"x": [
{
"value": 120
}
],
"y": [
{
"value": 120
}
],
"revision_timestamp": [
{
"value": "2025-07-04T09:58:01+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
]
}

View file

@ -0,0 +1,66 @@
{
"uuid": [
{
"value": "65753c64-5660-478b-8df5-969ba64eb454"
}
],
"type": [
{
"target_id": "focal_point"
}
],
"langcode": [
{
"value": "en"
}
],
"entity_id": [
{
"value": 2120
}
],
"entity_type": [
{
"value": "file"
}
],
"uri": [
{
"value": "public:\/\/2025-07\/kevin-coyle.jpg"
}
],
"height": [],
"width": [],
"x": [
{
"value": 299
}
],
"y": [
{
"value": 299
}
],
"revision_timestamp": [
{
"value": "2025-07-04T10:00:07+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
]
}

View file

@ -0,0 +1,66 @@
{
"uuid": [
{
"value": "93eecd62-cd0f-41fa-ae69-e0822631e255"
}
],
"type": [
{
"target_id": "focal_point"
}
],
"langcode": [
{
"value": "en"
}
],
"entity_id": [
{
"value": 2118
}
],
"entity_type": [
{
"value": "file"
}
],
"uri": [
{
"value": "public:\/\/2025-07\/alexander-carr.jpg"
}
],
"height": [],
"width": [],
"x": [
{
"value": 347
}
],
"y": [
{
"value": 347
}
],
"revision_timestamp": [
{
"value": "2025-07-04T09:58:39+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
]
}

View file

@ -0,0 +1,66 @@
{
"uuid": [
{
"value": "965537e7-d748-47b0-a47d-f59a6f144028"
}
],
"type": [
{
"target_id": "focal_point"
}
],
"langcode": [
{
"value": "en"
}
],
"entity_id": [
{
"value": 2116
}
],
"entity_type": [
{
"value": "file"
}
],
"uri": [
{
"value": "public:\/\/2025-07\/mike-karthauser.jpg"
}
],
"height": [],
"width": [],
"x": [
{
"value": 230
}
],
"y": [
{
"value": 230
}
],
"revision_timestamp": [
{
"value": "2025-07-04T09:57:20+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
]
}

View file

@ -0,0 +1,66 @@
{
"uuid": [
{
"value": "dca62244-d1c5-4762-9739-5026b55618b6"
}
],
"type": [
{
"target_id": "focal_point"
}
],
"langcode": [
{
"value": "en"
}
],
"entity_id": [
{
"value": 2113
}
],
"entity_type": [
{
"value": "file"
}
],
"uri": [
{
"value": "public:\/\/2025-07\/stephen-mulvihill.jpg"
}
],
"height": [],
"width": [],
"x": [
{
"value": 140
}
],
"y": [
{
"value": 140
}
],
"revision_timestamp": [
{
"value": "2025-07-04T09:55:36+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
]
}

View file

@ -0,0 +1,66 @@
{
"uuid": [
{
"value": "f6b57aaf-5672-4220-9e6f-f73051a5781a"
}
],
"type": [
{
"target_id": "focal_point"
}
],
"langcode": [
{
"value": "en"
}
],
"entity_id": [
{
"value": 2119
}
],
"entity_type": [
{
"value": "file"
}
],
"uri": [
{
"value": "public:\/\/2025-07\/boris-bohne.jpg"
}
],
"height": [],
"width": [],
"x": [
{
"value": 390
}
],
"y": [
{
"value": 390
}
],
"revision_timestamp": [
{
"value": "2025-07-04T09:59:34+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
]
}

View file

@ -0,0 +1,54 @@
{
"uuid": [
{
"value": "0b897ad4-f1bf-436f-afd0-ed5960d9e821"
}
],
"langcode": [
{
"value": "en"
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"filename": [
{
"value": "mike-karthauser.jpg"
}
],
"uri": [
{
"value": "public:\/\/2025-07\/mike-karthauser.jpg",
"url": "\/sites\/default\/files\/2025-07\/mike-karthauser.jpg"
}
],
"filemime": [
{
"value": "image\/jpeg"
}
],
"filesize": [
{
"value": 37819
}
],
"status": [
{
"value": true
}
],
"created": [
{
"value": "2025-07-04T09:57:04+00:00"
}
],
"changed": [
{
"value": "2025-07-04T09:57:20+00:00"
}
]
}

View file

@ -0,0 +1,54 @@
{
"uuid": [
{
"value": "42b821e5-2a8c-49f6-8c1c-24b461c05995"
}
],
"langcode": [
{
"value": "en"
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"filename": [
{
"value": "marcos-duran_0.jpg"
}
],
"uri": [
{
"value": "public:\/\/2025-07\/marcos-duran_0.jpg",
"url": "\/sites\/default\/files\/2025-07\/marcos-duran_0.jpg"
}
],
"filemime": [
{
"value": "image\/jpeg"
}
],
"filesize": [
{
"value": 28004
}
],
"status": [
{
"value": true
}
],
"created": [
{
"value": "2025-07-04T09:56:19+00:00"
}
],
"changed": [
{
"value": "2025-07-04T09:56:36+00:00"
}
]
}

View file

@ -0,0 +1,54 @@
{
"uuid": [
{
"value": "5622ad50-e1ce-4fba-b89b-bfcb4c38ee5b"
}
],
"langcode": [
{
"value": "en"
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"filename": [
{
"value": "alexander-carr.jpg"
}
],
"uri": [
{
"value": "public:\/\/2025-07\/alexander-carr.jpg",
"url": "\/sites\/default\/files\/2025-07\/alexander-carr.jpg"
}
],
"filemime": [
{
"value": "image\/jpeg"
}
],
"filesize": [
{
"value": 62166
}
],
"status": [
{
"value": true
}
],
"created": [
{
"value": "2025-07-04T09:58:22+00:00"
}
],
"changed": [
{
"value": "2025-07-04T09:58:39+00:00"
}
]
}

View file

@ -0,0 +1,54 @@
{
"uuid": [
{
"value": "67cabce0-7096-4265-80c4-825e5c153f7f"
}
],
"langcode": [
{
"value": "en"
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"filename": [
{
"value": "adam-nuttall.jpg"
}
],
"uri": [
{
"value": "public:\/\/2025-07\/adam-nuttall.jpg",
"url": "\/sites\/default\/files\/2025-07\/adam-nuttall.jpg"
}
],
"filemime": [
{
"value": "image\/jpeg"
}
],
"filesize": [
{
"value": 68970
}
],
"status": [
{
"value": true
}
],
"created": [
{
"value": "2025-07-04T09:57:44+00:00"
}
],
"changed": [
{
"value": "2025-07-04T09:58:01+00:00"
}
]
}

View file

@ -0,0 +1,54 @@
{
"uuid": [
{
"value": "bc6fc4b1-984e-41db-8c8f-affcb8636473"
}
],
"langcode": [
{
"value": "en"
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"filename": [
{
"value": "boris-bohne.jpg"
}
],
"uri": [
{
"value": "public:\/\/2025-07\/boris-bohne.jpg",
"url": "\/sites\/default\/files\/2025-07\/boris-bohne.jpg"
}
],
"filemime": [
{
"value": "image\/jpeg"
}
],
"filesize": [
{
"value": 238490
}
],
"status": [
{
"value": true
}
],
"created": [
{
"value": "2025-07-04T09:59:17+00:00"
}
],
"changed": [
{
"value": "2025-07-04T09:59:34+00:00"
}
]
}

View file

@ -0,0 +1,54 @@
{
"uuid": [
{
"value": "c334fcb7-eefc-4692-86ff-14db768ba480"
}
],
"langcode": [
{
"value": "en"
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"filename": [
{
"value": "stephen-mulvihill.jpg"
}
],
"uri": [
{
"value": "public:\/\/2025-07\/stephen-mulvihill.jpg",
"url": "\/sites\/default\/files\/2025-07\/stephen-mulvihill.jpg"
}
],
"filemime": [
{
"value": "image\/jpeg"
}
],
"filesize": [
{
"value": 20692
}
],
"status": [
{
"value": true
}
],
"created": [
{
"value": "2025-07-04T09:55:24+00:00"
}
],
"changed": [
{
"value": "2025-07-04T09:55:36+00:00"
}
]
}

View file

@ -0,0 +1,54 @@
{
"uuid": [
{
"value": "d58e8e6f-1cbe-47af-9468-553089d35dcd"
}
],
"langcode": [
{
"value": "en"
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"filename": [
{
"value": "patty-ocallaghan.jpg"
}
],
"uri": [
{
"value": "public:\/\/2025-07\/patty-ocallaghan.jpg",
"url": "\/sites\/default\/files\/2025-07\/patty-ocallaghan.jpg"
}
],
"filemime": [
{
"value": "image\/jpeg"
}
],
"filesize": [
{
"value": 61035
}
],
"status": [
{
"value": true
}
],
"created": [
{
"value": "2025-07-04T09:13:15+00:00"
}
],
"changed": [
{
"value": "2025-07-04T09:13:27+00:00"
}
]
}

View file

@ -0,0 +1,54 @@
{
"uuid": [
{
"value": "d7b687a0-e012-475e-addb-dd9a59a42af4"
}
],
"langcode": [
{
"value": "en"
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"filename": [
{
"value": "kevin-coyle.jpg"
}
],
"uri": [
{
"value": "public:\/\/2025-07\/kevin-coyle.jpg",
"url": "\/sites\/default\/files\/2025-07\/kevin-coyle.jpg"
}
],
"filemime": [
{
"value": "image\/jpeg"
}
],
"filesize": [
{
"value": 71347
}
],
"status": [
{
"value": true
}
],
"created": [
{
"value": "2025-07-04T09:59:52+00:00"
}
],
"changed": [
{
"value": "2025-07-04T10:00:07+00:00"
}
]
}

View file

@ -0,0 +1,54 @@
{
"uuid": [
{
"value": "eb3b17cc-6d49-43e7-80b0-15c6e3ec37f2"
}
],
"langcode": [
{
"value": "en"
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"filename": [
{
"value": "marcos-duran.jpg"
}
],
"uri": [
{
"value": "public:\/\/2025-07\/marcos-duran.jpg",
"url": "\/sites\/default\/files\/2025-07\/marcos-duran.jpg"
}
],
"filemime": [
{
"value": "image\/jpeg"
}
],
"filesize": [
{
"value": 28004
}
],
"status": [
{
"value": false
}
],
"created": [
{
"value": "2025-07-04T09:56:07+00:00"
}
],
"changed": [
{
"value": "2025-07-04T09:56:07+00:00"
}
]
}

View file

@ -6633,5 +6633,99 @@
"node.57c15821-f744-45ce-960e-5f77d41c3ad3"
],
"block_content.262bcabc-61d8-4b67-b4ab-ba39d86db38d": [],
"block_content.f451cc6b-1555-4bb2-ad3c-6d1bb4ee6bf5": []
"block_content.f451cc6b-1555-4bb2-ad3c-6d1bb4ee6bf5": [],
"taxonomy_term.5a23da64-7e26-42fd-8d5d-d7e5f98f54a1": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"file.d58e8e6f-1cbe-47af-9468-553089d35dcd": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"crop.3a9ee5e5-7d88-4bae-8ed5-d20b1350b0a4": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"node.d83fc581-92d7-410c-95b6-9177a1974eb2": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849",
"file.d58e8e6f-1cbe-47af-9468-553089d35dcd",
"taxonomy_term.5a23da64-7e26-42fd-8d5d-d7e5f98f54a1"
],
"file.c334fcb7-eefc-4692-86ff-14db768ba480": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"crop.dca62244-d1c5-4762-9739-5026b55618b6": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"node.50947ee4-cee9-46e6-aa3d-c6500ee27caa": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849",
"file.c334fcb7-eefc-4692-86ff-14db768ba480",
"taxonomy_term.5a23da64-7e26-42fd-8d5d-d7e5f98f54a1"
],
"file.eb3b17cc-6d49-43e7-80b0-15c6e3ec37f2": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"file.42b821e5-2a8c-49f6-8c1c-24b461c05995": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"crop.4707d17a-bd89-4764-a29a-e187deaeb61a": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"node.78d185bd-6ab6-4e27-91ac-8818829ab4f5": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849",
"file.42b821e5-2a8c-49f6-8c1c-24b461c05995",
"taxonomy_term.5a23da64-7e26-42fd-8d5d-d7e5f98f54a1"
],
"file.0b897ad4-f1bf-436f-afd0-ed5960d9e821": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"crop.965537e7-d748-47b0-a47d-f59a6f144028": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"node.4e956e1d-cdc1-41ce-8e11-8465f9576a69": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849",
"file.0b897ad4-f1bf-436f-afd0-ed5960d9e821",
"taxonomy_term.5a23da64-7e26-42fd-8d5d-d7e5f98f54a1"
],
"file.67cabce0-7096-4265-80c4-825e5c153f7f": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"crop.631b4690-6afd-45d8-b6f5-e61ec2bf2d27": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"node.70b2d717-58d9-412a-9879-6493400770a0": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849",
"file.67cabce0-7096-4265-80c4-825e5c153f7f",
"taxonomy_term.5a23da64-7e26-42fd-8d5d-d7e5f98f54a1"
],
"file.5622ad50-e1ce-4fba-b89b-bfcb4c38ee5b": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"crop.93eecd62-cd0f-41fa-ae69-e0822631e255": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"node.3d0ca228-a8c1-452a-a375-469d3a300388": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849",
"file.5622ad50-e1ce-4fba-b89b-bfcb4c38ee5b",
"taxonomy_term.5a23da64-7e26-42fd-8d5d-d7e5f98f54a1"
],
"file.bc6fc4b1-984e-41db-8c8f-affcb8636473": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"crop.f6b57aaf-5672-4220-9e6f-f73051a5781a": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"node.d2010cf1-6c56-4fda-b844-397f1c375cdc": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849",
"file.bc6fc4b1-984e-41db-8c8f-affcb8636473",
"taxonomy_term.5a23da64-7e26-42fd-8d5d-d7e5f98f54a1"
],
"file.d7b687a0-e012-475e-addb-dd9a59a42af4": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"crop.65753c64-5660-478b-8df5-969ba64eb454": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"node.6ff92f3a-c243-40c8-b183-3c458478d474": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849",
"file.d7b687a0-e012-475e-addb-dd9a59a42af4",
"taxonomy_term.5a23da64-7e26-42fd-8d5d-d7e5f98f54a1"
]
}

View file

@ -0,0 +1,119 @@
{
"uuid": [
{
"value": "3d0ca228-a8c1-452a-a375-469d3a300388"
}
],
"langcode": [
{
"value": "en"
}
],
"type": [
{
"target_id": "testimonial",
"target_type": "node_type",
"target_uuid": "6ea76ee7-ab35-489e-af1b-68f67b60729d"
}
],
"revision_timestamp": [
{
"value": "2025-07-04T09:58:39+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"status": [
{
"value": true
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"title": [
{
"value": "Alexander Carr"
}
],
"created": [
{
"value": "2025-07-04T09:58:17+00:00"
}
],
"changed": [
{
"value": "2025-07-04T09:58:39+00:00"
}
],
"promote": [
{
"value": false
}
],
"sticky": [
{
"value": false
}
],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
],
"path": [
{
"alias": "",
"pid": null,
"langcode": "en"
}
],
"body": [
{
"value": "Hi Oliver, we met briefly at the Tech Connect event in London last month. Been reading through a few of your latest posts and have found the messages valuable, especially as we spent the week learning about unit, integration and e2e testing. I have signed up to your mailing list to keep the good advice flowing!",
"format": "markdown",
"processed": "<p>Hi Oliver, we met briefly at the Tech Connect event in London last month. Been reading through a few of your latest posts and have found the messages valuable, especially as we spent the week learning about unit, integration and e2e testing. I have signed up to your mailing list to keep the good advice flowing!<\/p>\n",
"summary": ""
}
],
"field_image": [
{
"alt": "Alexander Carr",
"title": "",
"width": 693,
"height": 693,
"target_type": "file",
"target_uuid": "5622ad50-e1ce-4fba-b89b-bfcb4c38ee5b"
}
],
"field_role": [
{
"value": "Full Stack Software Engineer at School of Code"
}
],
"field_testimonial_type": [
{
"target_type": "taxonomy_term",
"target_uuid": "5a23da64-7e26-42fd-8d5d-d7e5f98f54a1"
}
],
"field_url": [],
"field_weight": [
{
"value": 0
}
]
}

View file

@ -0,0 +1,119 @@
{
"uuid": [
{
"value": "4e956e1d-cdc1-41ce-8e11-8465f9576a69"
}
],
"langcode": [
{
"value": "en"
}
],
"type": [
{
"target_id": "testimonial",
"target_type": "node_type",
"target_uuid": "6ea76ee7-ab35-489e-af1b-68f67b60729d"
}
],
"revision_timestamp": [
{
"value": "2025-07-04T09:57:20+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"status": [
{
"value": true
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"title": [
{
"value": "Mike Karthauser"
}
],
"created": [
{
"value": "2025-07-04T09:57:00+00:00"
}
],
"changed": [
{
"value": "2025-07-04T09:57:20+00:00"
}
],
"promote": [
{
"value": false
}
],
"sticky": [
{
"value": false
}
],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
],
"path": [
{
"alias": "",
"pid": null,
"langcode": "en"
}
],
"body": [
{
"value": "Oliver's approach to testing is a continual reminder of his commitment to delivering high-quality, bug-free, software.",
"format": "markdown",
"processed": "<p>Oliver's approach to testing is a continual reminder of his commitment to delivering high-quality, bug-free, software.<\/p>\n",
"summary": ""
}
],
"field_image": [
{
"alt": "Mike Karthauser",
"title": "",
"width": 460,
"height": 460,
"target_type": "file",
"target_uuid": "0b897ad4-f1bf-436f-afd0-ed5960d9e821"
}
],
"field_role": [
{
"value": "Senior Software Engineer"
}
],
"field_testimonial_type": [
{
"target_type": "taxonomy_term",
"target_uuid": "5a23da64-7e26-42fd-8d5d-d7e5f98f54a1"
}
],
"field_url": [],
"field_weight": [
{
"value": 0
}
]
}

View file

@ -0,0 +1,119 @@
{
"uuid": [
{
"value": "50947ee4-cee9-46e6-aa3d-c6500ee27caa"
}
],
"langcode": [
{
"value": "en"
}
],
"type": [
{
"target_id": "testimonial",
"target_type": "node_type",
"target_uuid": "6ea76ee7-ab35-489e-af1b-68f67b60729d"
}
],
"revision_timestamp": [
{
"value": "2025-07-04T09:55:36+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"status": [
{
"value": true
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"title": [
{
"value": "Stephen Mulvihill"
}
],
"created": [
{
"value": "2025-07-04T09:55:06+00:00"
}
],
"changed": [
{
"value": "2025-07-04T09:55:36+00:00"
}
],
"promote": [
{
"value": false
}
],
"sticky": [
{
"value": false
}
],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
],
"path": [
{
"alias": "",
"pid": null,
"langcode": "en"
}
],
"body": [
{
"value": "I like the \"$ git log -S\" and \"$ git log --grep\" commands, will definitely be using these, thanks!",
"format": "markdown",
"processed": "<p>I like the \"$ git log -S\" and \"$ git log --grep\" commands, will definitely be using these, thanks!<\/p>\n",
"summary": ""
}
],
"field_image": [
{
"alt": "Stephen Mulvihill",
"title": "",
"width": 279,
"height": 279,
"target_type": "file",
"target_uuid": "c334fcb7-eefc-4692-86ff-14db768ba480"
}
],
"field_role": [
{
"value": "Solutions Architect"
}
],
"field_testimonial_type": [
{
"target_type": "taxonomy_term",
"target_uuid": "5a23da64-7e26-42fd-8d5d-d7e5f98f54a1"
}
],
"field_url": [],
"field_weight": [
{
"value": 0
}
]
}

View file

@ -18,7 +18,7 @@
],
"revision_timestamp": [
{
"value": "2025-07-03T17:08:44+00:00"
"value": "2025-07-04T10:02:16+00:00"
}
],
"revision_uid": [
@ -51,7 +51,7 @@
],
"changed": [
{
"value": "2025-07-03T17:08:44+00:00"
"value": "2025-07-04T10:02:16+00:00"
}
],
"promote": [

View file

@ -0,0 +1,125 @@
{
"uuid": [
{
"value": "6ff92f3a-c243-40c8-b183-3c458478d474"
}
],
"langcode": [
{
"value": "en"
}
],
"type": [
{
"target_id": "testimonial",
"target_type": "node_type",
"target_uuid": "6ea76ee7-ab35-489e-af1b-68f67b60729d"
}
],
"revision_timestamp": [
{
"value": "2025-07-04T10:35:08+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"status": [
{
"value": true
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"title": [
{
"value": "Kevin Coyle"
}
],
"created": [
{
"value": "2025-07-04T09:59:40+00:00"
}
],
"changed": [
{
"value": "2025-07-04T10:35:08+00:00"
}
],
"promote": [
{
"value": false
}
],
"sticky": [
{
"value": false
}
],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
],
"path": [
{
"alias": "",
"pid": null,
"langcode": "en"
}
],
"body": [
{
"value": "I'm liking your short emails. They're just the right length that isn't too distracting but I'm able to consume it in a single glance.",
"format": "markdown",
"processed": "<p>I'm liking your short emails. They're just the right length that isn't too distracting but I'm able to consume it in a single glance.<\/p>\n",
"summary": ""
}
],
"field_image": [
{
"alt": "Kevin Coyle",
"title": "",
"width": 598,
"height": 598,
"target_type": "file",
"target_uuid": "d7b687a0-e012-475e-addb-dd9a59a42af4"
}
],
"field_role": [
{
"value": "Design System Engineering Consultant"
}
],
"field_testimonial_type": [
{
"target_type": "taxonomy_term",
"target_uuid": "5a23da64-7e26-42fd-8d5d-d7e5f98f54a1"
}
],
"field_url": [
{
"uri": "https:\/\/www.coyledesign.co.uk",
"title": "",
"options": []
}
],
"field_weight": [
{
"value": 0
}
]
}

View file

@ -0,0 +1,119 @@
{
"uuid": [
{
"value": "70b2d717-58d9-412a-9879-6493400770a0"
}
],
"langcode": [
{
"value": "en"
}
],
"type": [
{
"target_id": "testimonial",
"target_type": "node_type",
"target_uuid": "6ea76ee7-ab35-489e-af1b-68f67b60729d"
}
],
"revision_timestamp": [
{
"value": "2025-07-04T09:58:01+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"status": [
{
"value": true
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"title": [
{
"value": "Adam Nuttall"
}
],
"created": [
{
"value": "2025-07-04T09:57:36+00:00"
}
],
"changed": [
{
"value": "2025-07-04T09:58:01+00:00"
}
],
"promote": [
{
"value": false
}
],
"sticky": [
{
"value": false
}
],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
],
"path": [
{
"alias": "",
"pid": null,
"langcode": "en"
}
],
"body": [
{
"value": "These emails are superb and make for very interesting reading. Thank you!",
"format": "markdown",
"processed": "<p>These emails are superb and make for very interesting reading. Thank you!<\/p>\n",
"summary": ""
}
],
"field_image": [
{
"alt": "Adam Nuttall",
"title": "",
"width": 240,
"height": 240,
"target_type": "file",
"target_uuid": "67cabce0-7096-4265-80c4-825e5c153f7f"
}
],
"field_role": [
{
"value": "Drupal Engineer"
}
],
"field_testimonial_type": [
{
"target_type": "taxonomy_term",
"target_uuid": "5a23da64-7e26-42fd-8d5d-d7e5f98f54a1"
}
],
"field_url": [],
"field_weight": [
{
"value": 0
}
]
}

View file

@ -0,0 +1,119 @@
{
"uuid": [
{
"value": "78d185bd-6ab6-4e27-91ac-8818829ab4f5"
}
],
"langcode": [
{
"value": "en"
}
],
"type": [
{
"target_id": "testimonial",
"target_type": "node_type",
"target_uuid": "6ea76ee7-ab35-489e-af1b-68f67b60729d"
}
],
"revision_timestamp": [
{
"value": "2025-07-04T09:56:36+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"status": [
{
"value": true
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"title": [
{
"value": "Marcos Duran"
}
],
"created": [
{
"value": "2025-07-04T09:56:14+00:00"
}
],
"changed": [
{
"value": "2025-07-04T09:56:36+00:00"
}
],
"promote": [
{
"value": false
}
],
"sticky": [
{
"value": false
}
],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
],
"path": [
{
"alias": "",
"pid": null,
"langcode": "en"
}
],
"body": [
{
"value": "I am a big fan of your git approaches. I especially remember pairing with you and watching how many commands you run to solve many problems and how fast you were. It's a skill I believe not many have, particularly those who are used to working with a GUI like me, and personally I think it is quite valuable.",
"format": "markdown",
"processed": "<p>I am a big fan of your git approaches. I especially remember pairing with you and watching how many commands you run to solve many problems and how fast you were. It's a skill I believe not many have, particularly those who are used to working with a GUI like me, and personally I think it is quite valuable.<\/p>\n",
"summary": ""
}
],
"field_image": [
{
"alt": "Marcos Duran",
"title": "",
"width": 400,
"height": 400,
"target_type": "file",
"target_uuid": "42b821e5-2a8c-49f6-8c1c-24b461c05995"
}
],
"field_role": [
{
"value": "Senior Software Engineer"
}
],
"field_testimonial_type": [
{
"target_type": "taxonomy_term",
"target_uuid": "5a23da64-7e26-42fd-8d5d-d7e5f98f54a1"
}
],
"field_url": [],
"field_weight": [
{
"value": 0
}
]
}

View file

@ -0,0 +1,125 @@
{
"uuid": [
{
"value": "d2010cf1-6c56-4fda-b844-397f1c375cdc"
}
],
"langcode": [
{
"value": "en"
}
],
"type": [
{
"target_id": "testimonial",
"target_type": "node_type",
"target_uuid": "6ea76ee7-ab35-489e-af1b-68f67b60729d"
}
],
"revision_timestamp": [
{
"value": "2025-07-04T10:35:22+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"status": [
{
"value": true
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"title": [
{
"value": "Boris B\u00f6hne"
}
],
"created": [
{
"value": "2025-07-04T09:59:12+00:00"
}
],
"changed": [
{
"value": "2025-07-04T10:35:22+00:00"
}
],
"promote": [
{
"value": false
}
],
"sticky": [
{
"value": false
}
],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
],
"path": [
{
"alias": "",
"pid": null,
"langcode": "en"
}
],
"body": [
{
"value": "I really love your daily posts. They are opinionated, and this gives room for thoughts, I appreciate this.",
"format": "markdown",
"processed": "<p>I really love your daily posts. They are opinionated, and this gives room for thoughts, I appreciate this.<\/p>\n",
"summary": ""
}
],
"field_image": [
{
"alt": "Boris B\u00f6hne",
"title": "",
"width": 780,
"height": 780,
"target_type": "file",
"target_uuid": "bc6fc4b1-984e-41db-8c8f-affcb8636473"
}
],
"field_role": [
{
"value": "Drupal Developer"
}
],
"field_testimonial_type": [
{
"target_type": "taxonomy_term",
"target_uuid": "5a23da64-7e26-42fd-8d5d-d7e5f98f54a1"
}
],
"field_url": [
{
"uri": "https:\/\/www.drupal.org\/u\/drubb",
"title": "",
"options": []
}
],
"field_weight": [
{
"value": 0
}
]
}

View file

@ -0,0 +1,125 @@
{
"uuid": [
{
"value": "d83fc581-92d7-410c-95b6-9177a1974eb2"
}
],
"langcode": [
{
"value": "en"
}
],
"type": [
{
"target_id": "testimonial",
"target_type": "node_type",
"target_uuid": "6ea76ee7-ab35-489e-af1b-68f67b60729d"
}
],
"revision_timestamp": [
{
"value": "2025-07-04T09:13:27+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"status": [
{
"value": true
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"title": [
{
"value": "Patty O'Callaghan"
}
],
"created": [
{
"value": "2025-07-04T09:12:30+00:00"
}
],
"changed": [
{
"value": "2025-07-04T09:13:27+00:00"
}
],
"promote": [
{
"value": false
}
],
"sticky": [
{
"value": false
}
],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
],
"path": [
{
"alias": "",
"pid": null,
"langcode": "en"
}
],
"body": [
{
"value": "Just wanted to say that your blog is amazing <3 I absolutely love it and usually share it with colleagues and some of the kids at my Code Club.\r\n\r\nThanks for contributing to the community with your amazing content!",
"format": "markdown",
"processed": "<p>Just wanted to say that your blog is amazing &lt;3 I absolutely love it and usually share it with colleagues and some of the kids at my Code Club.<\/p>\n<p>Thanks for contributing to the community with your amazing content!<\/p>\n",
"summary": ""
}
],
"field_image": [
{
"alt": "Patty O'Callaghan",
"title": "",
"width": 612,
"height": 612,
"target_type": "file",
"target_uuid": "d58e8e6f-1cbe-47af-9468-553089d35dcd"
}
],
"field_role": [
{
"value": "Tech Lead"
}
],
"field_testimonial_type": [
{
"target_type": "taxonomy_term",
"target_uuid": "5a23da64-7e26-42fd-8d5d-d7e5f98f54a1"
}
],
"field_url": [
{
"uri": "https:\/\/pattyocallaghan.com",
"title": "",
"options": []
}
],
"field_weight": [
{
"value": 0
}
]
}

View file

@ -0,0 +1,74 @@
{
"uuid": [
{
"value": "5a23da64-7e26-42fd-8d5d-d7e5f98f54a1"
}
],
"langcode": [
{
"value": "en"
}
],
"vid": [
{
"target_id": "testimonial_type",
"target_type": "taxonomy_vocabulary",
"target_uuid": "b1e5532d-a501-4e71-b3c6-ccde641941be"
}
],
"revision_created": [
{
"value": "2025-07-04T09:09:46+00:00"
}
],
"revision_user": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log_message": [],
"status": [
{
"value": true
}
],
"name": [
{
"value": "Daily email"
}
],
"description": [],
"weight": [
{
"value": 0
}
],
"parent": [
{
"target_id": null
}
],
"changed": [
{
"value": "2025-07-04T09:09:46+00:00"
}
],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
],
"path": [
{
"alias": "",
"pid": null,
"langcode": "en"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View file

@ -38,7 +38,7 @@
{{ title_prefix }}
{% if label %}
<h2{{ title_attributes.addClass('text-xl font-bold') }}>{{ label }}</h2>
<h2{{ title_attributes.addClass('mb-4 text-xl font-bold') }}>{{ label }}</h2>
{% endif %}
{{ title_suffix }}