diff --git a/composer.json b/composer.json index 2a8d5a4e..f0a01831 100644 --- a/composer.json +++ b/composer.json @@ -27,6 +27,7 @@ "drupal/core": "^8.6.0", "drupal/facets": "^1.2", "drupal/fontawesome": "^2.9", + "drupal/mailchimp": "^1.8", "drupal/pathauto": "^1.0", "drupal/recaptcha": "^2.3", "drupal/search_api": "^1.11", @@ -78,6 +79,9 @@ }, "drupal/core": { "Allow alternate default moderation states": "https://www.drupal.org/files/issues/2018-09-21/2856967-54.patch" + }, + "drupal/mailchimp": { + "Allows use for GDPR fields": "https://www.drupal.org/files/issues/2018-12-03/mailchimp-8.x-1.x-GDPR-signup-option-2968016-22.patch" } }, "patchLevel": { diff --git a/composer.lock b/composer.lock index d19c3655..47f1fe40 100644 --- a/composer.lock +++ b/composer.lock @@ -1,10 +1,10 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "864e6a96af50ac2e0776a8a86345705b", + "content-hash": "396b73e33adfbed0d5849aee2f4d96f1", "packages": [ { "name": "alchemy/zippy", @@ -2801,6 +2801,94 @@ "source": "http://cgit.drupalcode.org/fontawesome" } }, + { + "name": "drupal/mailchimp", + "version": "1.8.0", + "source": { + "type": "git", + "url": "https://git.drupal.org/project/mailchimp", + "reference": "8.x-1.8" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/mailchimp-8.x-1.8.zip", + "reference": "8.x-1.8", + "shasum": "36586deef17200065f87ef83c4c929a26ebe276d" + }, + "require": { + "drupal/core": "~8.0", + "thinkshout/mailchimp-api-php": "2.0.0" + }, + "require-dev": { + "drupal/mailchimp_lists": "*" + }, + "type": "drupal-module", + "extra": { + "branch-alias": { + "dev-1.x": "1.x-dev" + }, + "drupal": { + "version": "8.x-1.8", + "datestamp": "1543531081", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "autoload": { + "psr-0": { + "Mailchimp": "src/" + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0+" + ], + "authors": [ + { + "name": "amyvs", + "homepage": "https://www.drupal.org/user/3181721" + }, + { + "name": "gcb", + "homepage": "https://www.drupal.org/user/1682976" + }, + { + "name": "levelos", + "homepage": "https://www.drupal.org/user/54135" + }, + { + "name": "mshaver", + "homepage": "https://www.drupal.org/user/39079" + }, + { + "name": "nrackleff", + "homepage": "https://www.drupal.org/user/463332" + }, + { + "name": "rjacobsen0", + "homepage": "https://www.drupal.org/user/3578420" + }, + { + "name": "ruscoe", + "homepage": "https://www.drupal.org/user/2722087" + }, + { + "name": "samuel.mortenson", + "homepage": "https://www.drupal.org/user/2582268" + }, + { + "name": "tauno", + "homepage": "https://www.drupal.org/user/105595" + } + ], + "description": "Mailchimp is an integration with the Mailchimp Mass email tool.", + "homepage": "http://drupal.org/project/mailchimp", + "support": { + "source": "http://cgit.drupalcode.org/mailchimp" + } + }, { "name": "drupal/pathauto", "version": "1.3.0", @@ -6453,6 +6541,43 @@ "homepage": "https://symfony.com", "time": "2018-10-02T16:33:53+00:00" }, + { + "name": "thinkshout/mailchimp-api-php", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/thinkshout/mailchimp-api-php.git", + "reference": "ffa6cf96efe3a7e8e0de8309737a7dae40f51981" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thinkshout/mailchimp-api-php/zipball/ffa6cf96efe3a7e8e0de8309737a7dae40f51981", + "reference": "ffa6cf96efe3a7e8e0de8309737a7dae40f51981", + "shasum": "" + }, + "require": { + "guzzlehttp/guzzle": "^6.2.1", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.2.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Mailchimp\\": "src/", + "Mailchimp\\http\\": "src/http/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "description": "PHP library for v3 of the MailChimp API", + "homepage": "https://github.com/thinkshout/mailchimp-api-php", + "keywords": [ + "mail", + "mailchimp" + ], + "time": "2018-02-27T17:52:03+00:00" + }, { "name": "twig/twig", "version": "v1.35.4", @@ -9050,11 +9175,6 @@ { "name": "webflo/drupal-core-require-dev", "version": "8.6.2", - "source": { - "type": "git", - "url": "https://github.com/webflo/drupal-core-require-dev.git", - "reference": "3fa727e875f73906f7e9325619b540f7012876ee" - }, "require": { "behat/mink": "1.7.x-dev", "behat/mink-goutte-driver": "^1.2", diff --git a/config/sync/block.block.dainfo.yml b/config/sync/block.block.dainfo.yml new file mode 100644 index 00000000..10af8051 --- /dev/null +++ b/config/sync/block.block.dainfo.yml @@ -0,0 +1,25 @@ +uuid: 64c9faf3-615b-4ff1-8e10-8f74efc8963a +langcode: en +status: true +dependencies: + content: + - 'block_content:image_and_text_block:84262d9d-77b1-4e19-a53a-64ffc9e24f78' + module: + - block_content + theme: + - tube_theme +id: dainfo +theme: tube_theme +region: footer_left +weight: 0 +provider: null +plugin: 'block_content:84262d9d-77b1-4e19-a53a-64ffc9e24f78' +settings: + id: 'block_content:84262d9d-77b1-4e19-a53a-64ffc9e24f78' + label: 'DA Info' + provider: block_content + label_display: '0' + status: true + info: '' + view_mode: full +visibility: { } diff --git a/config/sync/block.block.mailchimpsubscriptionformdrupal.tvnewsletter.yml b/config/sync/block.block.mailchimpsubscriptionformdrupal.tvnewsletter.yml new file mode 100644 index 00000000..b17daa2d --- /dev/null +++ b/config/sync/block.block.mailchimpsubscriptionformdrupal.tvnewsletter.yml @@ -0,0 +1,20 @@ +uuid: 82f37e1c-0798-4589-8edf-0c4bda2a15bf +langcode: en +status: true +dependencies: + module: + - mailchimp_signup + theme: + - tube_theme +id: mailchimpsubscriptionformdrupal.tvnewsletter +theme: tube_theme +region: footer_center +weight: -6 +provider: null +plugin: 'mailchimp_signup_subscribe_block:drupal_tv_newsletter' +settings: + id: 'mailchimp_signup_subscribe_block:drupal_tv_newsletter' + label: 'Drupal.tv Newsletter' + provider: mailchimp_signup + label_display: visible +visibility: { } diff --git a/config/sync/block.block.tube_theme_powered.yml b/config/sync/block.block.tube_theme_powered.yml deleted file mode 100644 index d5c741dd..00000000 --- a/config/sync/block.block.tube_theme_powered.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: e9b39ed3-d2cc-4c54-a206-3653b2134b47 -langcode: en -status: true -dependencies: - module: - - system - theme: - - tube_theme -_core: - default_config_hash: jQQUUWN2Uxr5qZtc9zcJKBCxpKY8orN1u2HPqYYRQDI -id: tube_theme_powered -theme: tube_theme -region: footer_left -weight: -5 -provider: null -plugin: system_powered_by_block -settings: - id: system_powered_by_block - label: 'Powered by Drupal' - provider: system - label_display: '0' -visibility: { } diff --git a/config/sync/block_content.type.image_and_text_block.yml b/config/sync/block_content.type.image_and_text_block.yml new file mode 100644 index 00000000..62333a82 --- /dev/null +++ b/config/sync/block_content.type.image_and_text_block.yml @@ -0,0 +1,8 @@ +uuid: f5945424-e8de-4e8d-9403-5eebe3d69b6f +langcode: en +status: true +dependencies: { } +id: image_and_text_block +label: 'Image and Text Block' +revision: 1 +description: '' diff --git a/config/sync/core.entity_form_display.block_content.image_and_text_block.default.yml b/config/sync/core.entity_form_display.block_content.image_and_text_block.default.yml new file mode 100644 index 00000000..6194be82 --- /dev/null +++ b/config/sync/core.entity_form_display.block_content.image_and_text_block.default.yml @@ -0,0 +1,50 @@ +uuid: ff5b6bff-fe1c-45ee-a262-eb147cba1bb4 +langcode: en +status: true +dependencies: + config: + - block_content.type.image_and_text_block + - field.field.block_content.image_and_text_block.body + - field.field.block_content.image_and_text_block.field_imagetextblock + - image.style.thumbnail + module: + - content_moderation + - image + - text +id: block_content.image_and_text_block.default +targetEntityType: block_content +bundle: image_and_text_block +mode: default +content: + body: + type: text_textarea_with_summary + weight: 101 + settings: + rows: 9 + summary_rows: 3 + placeholder: '' + third_party_settings: { } + region: content + field_imagetextblock: + weight: 102 + settings: + progress_indicator: throbber + preview_image_style: thumbnail + third_party_settings: { } + type: image_image + region: content + info: + type: string_textfield + weight: -5 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + moderation_state: + type: moderation_state_default + weight: 100 + settings: { } + region: content + third_party_settings: { } +hidden: { } diff --git a/config/sync/core.entity_view_display.block_content.image_and_text_block.default.yml b/config/sync/core.entity_view_display.block_content.image_and_text_block.default.yml new file mode 100644 index 00000000..98bbc15d --- /dev/null +++ b/config/sync/core.entity_view_display.block_content.image_and_text_block.default.yml @@ -0,0 +1,34 @@ +uuid: da746a90-bffe-4d97-b547-c1bac5fdf7c4 +langcode: en +status: true +dependencies: + config: + - block_content.type.image_and_text_block + - field.field.block_content.image_and_text_block.body + - field.field.block_content.image_and_text_block.field_imagetextblock + - image.style.thumbnail + module: + - image + - text +id: block_content.image_and_text_block.default +targetEntityType: block_content +bundle: image_and_text_block +mode: default +content: + body: + label: hidden + type: text_default + weight: 1 + settings: { } + third_party_settings: { } + region: content + field_imagetextblock: + weight: 0 + label: hidden + settings: + image_style: thumbnail + image_link: '' + third_party_settings: { } + type: image + region: content +hidden: { } diff --git a/config/sync/core.entity_view_display.node.curated_playlist.teaser.yml b/config/sync/core.entity_view_display.node.curated_playlist.teaser.yml index bf3f7c2d..39b30647 100644 --- a/config/sync/core.entity_view_display.node.curated_playlist.teaser.yml +++ b/config/sync/core.entity_view_display.node.curated_playlist.teaser.yml @@ -10,8 +10,47 @@ dependencies: - field.field.node.curated_playlist.field_youtube_playlist_id - node.type.curated_playlist module: + - layout_builder + - layout_discovery - text - user +third_party_settings: + layout_builder: + allow_custom: false + enabled: true + sections: + - + layout_id: layout_onecol + layout_settings: { } + components: + 62e83e76-5d78-49dc-946f-c3e002f17a2d: + uuid: 62e83e76-5d78-49dc-946f-c3e002f17a2d + region: content + configuration: + label_display: '0' + context_mapping: + entity: layout_builder.entity + id: 'field_block:node:curated_playlist:body' + formatter: + label: hidden + type: text_summary_or_trimmed + settings: + trim_length: 600 + third_party_settings: { } + additional: { } + weight: 0 + d03de43f-d56c-40a8-8346-c585e12a95a3: + uuid: d03de43f-d56c-40a8-8346-c585e12a95a3 + region: content + configuration: + id: 'extra_field_block:node:curated_playlist:links' + label: Links + provider: layout_builder + label_display: '0' + context_mapping: + entity: layout_builder.entity + additional: { } + weight: 1 id: node.curated_playlist.teaser targetEntityType: node bundle: curated_playlist @@ -20,13 +59,13 @@ content: body: label: hidden type: text_summary_or_trimmed - weight: 101 + weight: 0 settings: trim_length: 600 third_party_settings: { } region: content links: - weight: 100 + weight: 1 region: content settings: { } third_party_settings: { } diff --git a/config/sync/core.extension.yml b/config/sync/core.extension.yml index 2406f121..50779ae4 100644 --- a/config/sync/core.extension.yml +++ b/config/sync/core.extension.yml @@ -34,6 +34,10 @@ module: layout_builder: 0 layout_discovery: 0 link: 0 + mailchimp: 0 + mailchimp_campaign: 0 + mailchimp_lists: 0 + mailchimp_signup: 0 media: 0 menu_ui: 0 node: 0 diff --git a/config/sync/field.field.block_content.image_and_text_block.body.yml b/config/sync/field.field.block_content.image_and_text_block.body.yml new file mode 100644 index 00000000..2984e440 --- /dev/null +++ b/config/sync/field.field.block_content.image_and_text_block.body.yml @@ -0,0 +1,22 @@ +uuid: c00cebfb-bda0-4189-b25b-599fff18c528 +langcode: en +status: true +dependencies: + config: + - block_content.type.image_and_text_block + - field.storage.block_content.body + module: + - text +id: block_content.image_and_text_block.body +field_name: body +entity_type: block_content +bundle: image_and_text_block +label: Body +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + display_summary: false +field_type: text_with_summary diff --git a/config/sync/field.field.block_content.image_and_text_block.field_imagetextblock.yml b/config/sync/field.field.block_content.image_and_text_block.field_imagetextblock.yml new file mode 100644 index 00000000..f1037de5 --- /dev/null +++ b/config/sync/field.field.block_content.image_and_text_block.field_imagetextblock.yml @@ -0,0 +1,38 @@ +uuid: e146140a-e30c-4b69-9ef9-324e9c180275 +langcode: en +status: true +dependencies: + config: + - block_content.type.image_and_text_block + - field.storage.block_content.field_imagetextblock + module: + - image +id: block_content.image_and_text_block.field_imagetextblock +field_name: field_imagetextblock +entity_type: block_content +bundle: image_and_text_block +label: imagetextblock +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +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: '' + alt: '' + title: '' + width: null + height: null + handler: 'default:file' + handler_settings: { } +field_type: image diff --git a/config/sync/field.storage.block_content.field_imagetextblock.yml b/config/sync/field.storage.block_content.field_imagetextblock.yml new file mode 100644 index 00000000..421aa2f4 --- /dev/null +++ b/config/sync/field.storage.block_content.field_imagetextblock.yml @@ -0,0 +1,30 @@ +uuid: 660124bf-e63c-4124-99eb-677c650aa23d +langcode: en +status: true +dependencies: + module: + - block_content + - file + - image +id: block_content.field_imagetextblock +field_name: field_imagetextblock +entity_type: block_content +type: image +settings: + uri_scheme: public + default_image: + uuid: '' + alt: '' + title: '' + width: null + height: null + target_type: file + display_field: false + display_default: false +module: image +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/filter.format.mailchimp_campaign.yml b/config/sync/filter.format.mailchimp_campaign.yml new file mode 100644 index 00000000..a051e824 --- /dev/null +++ b/config/sync/filter.format.mailchimp_campaign.yml @@ -0,0 +1,24 @@ +uuid: 4636d56f-85ce-4752-8ff0-aaec9f1c6c53 +langcode: en +status: true +dependencies: + module: + - mailchimp_campaign +_core: + default_config_hash: 9DcGEOycSbmLfu0UQSd_Xa2nVtxo9y3iP6wK3nHyWe4 +name: 'Mailchimp campaign' +format: mailchimp_campaign +weight: 0 +filters: + filter_mailchimp_campaign: + id: filter_mailchimp_campaign + provider: mailchimp_campaign + status: true + weight: 0 + settings: { } + filter_htmlcorrector: + id: filter_htmlcorrector + provider: filter + status: true + weight: 1 + settings: { } diff --git a/config/sync/mailchimp.settings.yml b/config/sync/mailchimp.settings.yml new file mode 100644 index 00000000..c25108b8 --- /dev/null +++ b/config/sync/mailchimp.settings.yml @@ -0,0 +1,7 @@ +api_key: '' +cron: false +batch_limit: 100 +api_classname: Mailchimp\Mailchimp +test_mode: false +_core: + default_config_hash: x8k6uOqmSHPqpp71jYGxHF3_SAs3U-Pha3YCntQIhPU diff --git a/config/sync/mailchimp_signup.mailchimp_signup.drupal_tv_newsletter.yml b/config/sync/mailchimp_signup.mailchimp_signup.drupal_tv_newsletter.yml new file mode 100644 index 00000000..50a37288 --- /dev/null +++ b/config/sync/mailchimp_signup.mailchimp_signup.drupal_tv_newsletter.yml @@ -0,0 +1,35 @@ +uuid: 52d05bfd-a5e3-41bd-b785-93aad00fa11e +langcode: en +status: null +dependencies: { } +id: drupal_tv_newsletter +title: 'Drupal.tv Newsletter' +mc_lists: + 3a28a45d19: 3a28a45d19 +mode: 3 +mergefields: + EMAIL: true + FNAME: false + LNAME: false + MMERGE5: true +description: 'Learn about new videos, conferences and articles by the Drupal Community.' +doublein: true +send_welcome: null +include_interest_groups: false +settings: + path: newsletter/signup + submit_button: Subscribe + confirmation_message: 'You have been successfully subscribed.' + destination: form/drupal-tv-newsletter-continued + mergefields: + EMAIL: 'O:8:"stdClass":8:{s:3:"tag";s:5:"EMAIL";s:4:"name";s:13:"Email Address";s:4:"type";s:5:"email";s:8:"required";b:1;s:13:"default_value";s:0:"";s:6:"public";b:1;s:13:"display_order";i:1;s:7:"options";O:8:"stdClass":1:{s:4:"size";i:25;}}' + FNAME: '0' + LNAME: '0' + MMERGE5: 'O:8:"stdClass":12:{s:8:"merge_id";i:5;s:3:"tag";s:7:"MMERGE5";s:4:"name";s:20:"Newsletter Frequency";s:4:"type";s:8:"dropdown";s:8:"required";b:0;s:13:"default_value";s:0:"";s:6:"public";b:1;s:13:"display_order";i:8;s:7:"options";O:8:"stdClass":1:{s:7:"choices";a:3:{i:0;s:6:"Weekly";i:1;s:7:"Monthly";i:2;s:5:"Daily";}}s:9:"help_text";s:0:"";s:7:"list_id";s:10:"3a28a45d19";s:6:"_links";a:4:{i:0;O:8:"stdClass":4:{s:3:"rel";s:4:"self";s:4:"href";s:65:"https://us7.api.mailchimp.com/3.0/lists/3a28a45d19/merge-fields/5";s:6:"method";s:3:"GET";s:12:"targetSchema";s:84:"https://us7.api.mailchimp.com/schema/3.0/Definitions/Lists/MergeFields/Response.json";}i:1;O:8:"stdClass":5:{s:3:"rel";s:6:"parent";s:4:"href";s:63:"https://us7.api.mailchimp.com/3.0/lists/3a28a45d19/merge-fields";s:6:"method";s:3:"GET";s:12:"targetSchema";s:94:"https://us7.api.mailchimp.com/schema/3.0/Definitions/Lists/MergeFields/CollectionResponse.json";s:6:"schema";s:79:"https://us7.api.mailchimp.com/schema/3.0/CollectionLinks/Lists/MergeFields.json";}i:2;O:8:"stdClass":5:{s:3:"rel";s:6:"update";s:4:"href";s:65:"https://us7.api.mailchimp.com/3.0/lists/3a28a45d19/merge-fields/5";s:6:"method";s:5:"PATCH";s:12:"targetSchema";s:84:"https://us7.api.mailchimp.com/schema/3.0/Definitions/Lists/MergeFields/Response.json";s:6:"schema";s:81:"https://us7.api.mailchimp.com/schema/3.0/Definitions/Lists/MergeFields/PATCH.json";}i:3;O:8:"stdClass":3:{s:3:"rel";s:6:"delete";s:4:"href";s:65:"https://us7.api.mailchimp.com/3.0/lists/3a28a45d19/merge-fields/5";s:6:"method";s:6:"DELETE";}}}' + description: 'Learn about new videos, conferences and articles by the Drupal Community.' + doublein: true + include_interest_groups: false + safe_interest_groups: false + gdpr_consent: true + gdpr_checkbox_label: 'I agree to receive Drupal.tv''s newsletter. You can unsubscribe at any time by clicking the link in the footer of our emails. By clicking below to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing' + gdpr_consent_required: true diff --git a/config/sync/user.role.authenticated.yml b/config/sync/user.role.authenticated.yml index d8b3c9ba..ce6c0355 100644 --- a/config/sync/user.role.authenticated.yml +++ b/config/sync/user.role.authenticated.yml @@ -28,5 +28,6 @@ permissions: - 'skip comment approval' - 'update media' - 'use text format basic_html' + - 'use text format mailchimp_campaign' - 'view media' - 'view own unpublished content' diff --git a/config/sync/views.view.curated_playlist.yml b/config/sync/views.view.curated_playlist.yml new file mode 100644 index 00000000..3f3b3813 --- /dev/null +++ b/config/sync/views.view.curated_playlist.yml @@ -0,0 +1,205 @@ +uuid: cbda3aee-8d50-4b9f-b75e-b07f2fa8afb4 +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.teaser + - node.type.curated_playlist + module: + - node + - user +id: curated_playlist +label: 'Curated Playlist' +module: views +description: '' +tag: '' +base_table: node_field_data +base_field: nid +core: 8.x +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'access content' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: full + options: + items_per_page: 10 + offset: 0 + id: 0 + total_pages: null + tags: + previous: ‹‹ + next: ›› + first: '« First' + last: 'Last »' + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + quantity: 9 + style: + type: html_list + options: + row_class: '' + default_row_class: true + uses_fields: false + type: ul + wrapper_class: item-list + class: '' + row: + type: 'entity:node' + options: + view_mode: teaser + fields: + title: + id: title + table: node_field_data + field: title + entity_type: node + entity_field: title + label: '' + alter: + alter_text: false + make_link: false + absolute: false + trim: false + word_boundary: false + ellipsis: false + strip_tags: false + html: false + hide_empty: false + empty_zero: false + settings: + link_to_entity: true + plugin_id: field + relationship: none + group_type: group + admin_label: '' + exclude: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_alter_empty: true + click_sort_column: value + type: string + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + filters: + status: + value: '1' + table: node_field_data + field: status + plugin_id: boolean + entity_type: node + entity_field: status + id: status + expose: + operator: '' + group: 1 + type: + id: type + table: node_field_data + field: type + value: + curated_playlist: curated_playlist + entity_type: node + entity_field: type + plugin_id: bundle + sorts: + created: + id: created + table: node_field_data + field: created + order: DESC + entity_type: node + entity_field: created + plugin_id: date + relationship: none + group_type: group + admin_label: '' + exposed: false + expose: + label: '' + granularity: second + title: 'Curated Playlist' + header: { } + footer: { } + empty: { } + relationships: { } + arguments: { } + display_extenders: { } + use_more: false + use_more_always: true + use_more_text: more + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: { } + page_1: + display_plugin: page + id: page_1 + display_title: Page + position: 1 + display_options: + display_extenders: { } + path: curated-playlist + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: { } diff --git a/config/sync/views.view.featured_articles.yml b/config/sync/views.view.featured_articles.yml index 913a6a29..1891e6fd 100644 --- a/config/sync/views.view.featured_articles.yml +++ b/config/sync/views.view.featured_articles.yml @@ -215,6 +215,11 @@ display: relationships: false arguments: false sorts: false + use_more: false + use_more_always: false + use_more_text: false + link_display: false + link_url: false arguments: nid: id: nid @@ -294,6 +299,11 @@ display: entity_type: node entity_field: title plugin_id: standard + use_more: true + use_more_always: true + use_more_text: more + link_display: page_1 + link_url: '{{ arguments.nid }}/articles/' cache_metadata: max-age: -1 contexts: @@ -303,3 +313,178 @@ display: - 'user.node_grants:view' - user.permissions tags: { } + page_1: + display_plugin: page + id: page_1 + display_title: 'Conference Articles Page' + position: 3 + display_options: + display_extenders: { } + display_description: '' + title: 'Conference Articles' + defaults: + title: false + pager: false + relationships: false + arguments: false + filters: false + filter_groups: false + style: false + row: false + pager: + type: mini + options: + items_per_page: 9 + offset: 0 + id: 0 + total_pages: null + tags: + previous: ‹‹ + next: ›› + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + path: node/%/articles + relationships: + field_related_conferences: + id: field_related_conferences + table: node__field_related_conferences + field: field_related_conferences + relationship: none + group_type: group + admin_label: 'field_related_conferences: Content' + required: false + plugin_id: standard + arguments: + nid: + id: nid + table: node_field_revision + field: nid + relationship: field_related_conferences + group_type: group + admin_label: '' + default_action: default + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: node + default_argument_options: { } + default_argument_skip_url: false + summary_options: + base_path: '' + count: true + items_per_page: 25 + override: false + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + break_phrase: false + not: false + entity_type: node + entity_field: nid + plugin_id: node_nid + filters: + status: + value: '1' + table: node_field_data + field: status + plugin_id: boolean + entity_type: node + entity_field: status + id: status + expose: + operator: '' + group: 1 + type: + id: type + table: node_field_data + field: type + value: + article: article + entity_type: node + entity_field: type + plugin_id: bundle + delta: + id: delta + table: node__field_related_conferences + field: delta + relationship: field_related_conferences + group_type: group + admin_label: '' + operator: empty + value: + min: '' + max: '' + value: '' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + placeholder: '' + min_placeholder: '' + max_placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + plugin_id: numeric + filter_groups: + operator: AND + groups: + 1: AND + style: + type: html_list + options: + row_class: '' + default_row_class: true + uses_fields: false + type: ul + wrapper_class: item-list + class: '' + row: + type: 'entity:node' + options: + relationship: none + view_mode: teaser + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: { } diff --git a/config/sync/webform.webform.drupal_tv_newsletter_continued.yml b/config/sync/webform.webform.drupal_tv_newsletter_continued.yml new file mode 100644 index 00000000..55400c2b --- /dev/null +++ b/config/sync/webform.webform.drupal_tv_newsletter_continued.yml @@ -0,0 +1,169 @@ +uuid: d3fd8797-f49e-40f8-8ddb-0ee00f0a01a7 +langcode: en +status: open +dependencies: { } +open: null +close: null +weight: 0 +uid: 1 +template: false +archive: false +id: drupal_tv_newsletter_continued +title: 'Drupal.tv Newsletter Continued' +description: '' +category: '' +elements: "personal_information_optional_:\n '#type': webform_wizard_page\n '#title': 'Personal Information (Optional)'\n first_name:\n '#type': textfield\n '#title': 'First Name'\n last_name:\n '#type': textfield\n '#title': 'Last Name'\n address:\n '#type': address\n '#title': Address\n '#field_overrides':\n givenName: hidden\n additionalName: hidden\n familyName: hidden\n organization: hidden\n addressLine1: optional\n addressLine2: optional\n postalCode: optional\n sortingCode: hidden\n dependentLocality: optional\n locality: optional\n administrativeArea: optional\ncontent_preferences:\n '#type': webform_wizard_page\n '#title': 'Content Preferences'\n topics_that_you_want_to_hear_about:\n '#type': checkboxes\n '#title': 'Topics that you want to hear about'\n '#options':\n 'Site Building': 'Site Building'\n Theming: Theming\n 'Custom Module Development': 'Custom Module Development'\n 'Drupal Community': 'Drupal Community'\n DevOps: DevOps\n DrupalCon: DrupalCon\n DrupalCamps: DrupalCamps" +css: '' +javascript: '' +settings: + ajax: false + ajax_scroll_top: form + page: true + page_submit_path: '' + page_confirm_path: '' + form_title: both + form_submit_once: false + form_exception_message: '' + form_open_message: '' + form_close_message: '' + form_previous_submissions: true + form_confidential: false + form_confidential_message: '' + form_remote_addr: true + form_convert_anonymous: false + form_prepopulate: false + form_prepopulate_source_entity: false + form_prepopulate_source_entity_required: false + form_prepopulate_source_entity_type: '' + form_reset: false + form_disable_autocomplete: false + form_novalidate: false + form_disable_inline_errors: false + form_required: false + form_unsaved: false + form_disable_back: false + form_submit_back: false + form_autofocus: false + form_details_toggle: false + form_access_denied: default + form_access_denied_title: '' + form_access_denied_message: '' + form_access_denied_attributes: { } + form_file_limit: '' + submission_label: '' + submission_log: false + submission_views: { } + submission_views_replace: { } + submission_user_columns: { } + submission_user_duplicate: false + submission_access_denied: default + submission_access_denied_title: '' + submission_access_denied_message: '' + submission_access_denied_attributes: { } + submission_exception_message: '' + submission_locked_message: '' + submission_excluded_elements: { } + submission_exclude_empty: false + submission_exclude_empty_checkbox: false + previous_submission_message: '' + previous_submissions_message: '' + autofill: false + autofill_message: '' + autofill_excluded_elements: { } + wizard_progress_bar: true + wizard_progress_pages: false + wizard_progress_percentage: false + wizard_progress_link: false + wizard_start_label: '' + wizard_preview_link: false + wizard_confirmation: true + wizard_confirmation_label: '' + wizard_track: '' + preview: 0 + preview_label: '' + preview_title: '' + preview_message: '' + preview_attributes: { } + preview_excluded_elements: { } + preview_exclude_empty: true + preview_exclude_empty_checkbox: false + draft: none + draft_multiple: false + draft_auto_save: false + draft_saved_message: '' + draft_loaded_message: '' + confirmation_type: page + confirmation_title: '' + confirmation_message: '' + confirmation_url: '' + confirmation_attributes: { } + confirmation_back: true + confirmation_back_label: '' + confirmation_back_attributes: { } + confirmation_exclude_query: false + confirmation_exclude_token: false + limit_total: null + limit_total_interval: null + limit_total_message: '' + limit_total_unique: false + limit_user: null + limit_user_interval: null + limit_user_message: '' + limit_user_unique: false + entity_limit_total: null + entity_limit_total_interval: null + entity_limit_user: null + entity_limit_user_interval: null + purge: none + purge_days: null + results_disabled: false + results_disabled_ignore: false + token_update: false +access: + create: + roles: + - anonymous + - authenticated + users: { } + permissions: { } + view_any: + roles: { } + users: { } + permissions: { } + update_any: + roles: { } + users: { } + permissions: { } + delete_any: + roles: { } + users: { } + permissions: { } + purge_any: + roles: { } + users: { } + permissions: { } + view_own: + roles: { } + users: { } + permissions: { } + update_own: + roles: { } + users: { } + permissions: { } + delete_own: + roles: { } + users: { } + permissions: { } + administer: + roles: { } + users: { } + permissions: { } + test: + roles: { } + users: { } + permissions: { } + configuration: + roles: { } + users: { } + permissions: { } +handlers: { } diff --git a/web/themes/custom/tube_theme/css/style.css b/web/themes/custom/tube_theme/css/style.css index cf972304..f4044876 100644 --- a/web/themes/custom/tube_theme/css/style.css +++ b/web/themes/custom/tube_theme/css/style.css @@ -8442,6 +8442,29 @@ h3, h4, h5, h6 { color: black; font-size: 1em; } +.view-id-featured_articles.view-display-id-page_1 .view-content div.item-list ul { + display: flex; + justify-content: space-evenly; + flex-wrap: wrap; } + .view-id-featured_articles.view-display-id-page_1 .view-content div.item-list ul li { + display: flex; + flex-direction: column; + min-width: 300px; + max-width: 500px; } + @media screen and (max-width: 1046px) { + .view-id-featured_articles.view-display-id-page_1 .view-content div.item-list ul li { + max-width: 700px; } } + .view-id-featured_articles.view-display-id-page_1 .view-content div.item-list ul li article { + display: flex; + flex-direction: column; + border-bottom: 0px solid transparent; } + .view-id-featured_articles.view-display-id-page_1 .view-content div.item-list ul li article .node__content { + display: flex; + flex-direction: column; } + .view-id-featured_articles.view-display-id-page_1 .view-content div.item-list ul li article .node__content img { + width: 100%; + height: auto; } + .callout-outer { min-width: 320px; max-width: 480px; @@ -8543,18 +8566,67 @@ h3, h4, h5, h6 { font-size: 2.25em; color: #222222; } -.site-footer .container { - display: flex; - justify-content: space-around; } - .site-footer .container .region-footer-right { - justify-content: flex-end; } - .site-footer .container .region-footer-right .menu--footer .navbar-nav { - flex-direction: row; +footer.site-footer { + background: #064771 !important; + color: #ffffff; } + @media screen and (max-width: 1000px) { + footer.site-footer .row, footer.site-footer .path-webform #block-tube-theme-content .content, .path-webform #block-tube-theme-content footer.site-footer .content { + display: flex; + flex-direction: column; + align-items: center; } } + footer.site-footer .container { + display: flex; + justify-content: space-around; } + footer.site-footer .container .region-footer-right { justify-content: flex-end; } - .site-footer .container .region-footer-right .menu--footer .navbar-nav .nav-item { - margin: 10px; - text-transform: uppercase; - color: #fff; } + footer.site-footer .container .region-footer-right .menu--footer .navbar-nav { + flex-direction: row; + justify-content: flex-end; } + footer.site-footer .container .region-footer-right .menu--footer .navbar-nav .nav-item { + margin: 10px; + text-transform: uppercase; + color: #fff; } + @media screen and (max-width: 1000px) { + footer.site-footer div.col-6 { + order: -1; + max-width: 75%; } } + @media Screen and (max-width: 500px) { + footer.site-footer div.col-6 { + max-width: 95%; } } + footer.site-footer div.col-6 #block-mailchimpsubscriptionformdrupaltvnewsletter h2 { + text-align: center; } + footer.site-footer div.col-6 #block-mailchimpsubscriptionformdrupaltvnewsletter form div.js-form-item.js-form-type-checkbox.checkbox.form-check.js-form-item-mailchimp-lists-gdpr-consent.form-item-mailchimp-lists-gdpr-consent { + margin-top: 10px; } + footer.site-footer div.col-6 #block-mailchimpsubscriptionformdrupaltvnewsletter form div.js-form-item.js-form-type-checkbox.checkbox.form-check.js-form-item-mailchimp-lists-gdpr-consent.form-item-mailchimp-lists-gdpr-consent label.form-check-label { + display: flex; + align-items: center; } + @media screen and (max-width: 1000px) { + footer.site-footer div.col-3 { + max-width: 50%; } } + @media Screen and (max-width: 600px) { + footer.site-footer div.col-3 { + max-width: 95%; } } + +#block-dainfo .content { + padding: 10px 30px; + text-align: justify; } + #block-dainfo .content .field--type-image { + text-align: center; } + #block-dainfo .content .field--type-image img { + border-radius: 50%; } + #block-dainfo .content .contact-social-title { + display: none; } + +#trademarkClause { + text-align: center; + border-top: 1px solid #0965a1; + width: 85%; + margin: 0 auto; + padding-top: 10px; + color: #ffffff; } + #trademarkClause a { + color: #ffffff; + font-weight: 700; } /** * @file diff --git a/web/themes/custom/tube_theme/scss/components/footer.scss b/web/themes/custom/tube_theme/scss/components/footer.scss index beed4ed8..b25870de 100644 --- a/web/themes/custom/tube_theme/scss/components/footer.scss +++ b/web/themes/custom/tube_theme/scss/components/footer.scss @@ -1,6 +1,16 @@ //Styling for page.html.twig class page.footer_main -.site-footer { +footer.site-footer { + background: #064771 !important; + color: #ffffff; + .row { + @media screen and (max-width: 1000px) { + display: flex; + flex-direction: column; + align-items: center; + + } + } .container { display: flex; justify-content: space-around; @@ -17,6 +27,73 @@ } } } - } - } -} \ No newline at end of file + } + } + div.col-6 { + @media screen and (max-width: 1000px) { + order: -1; + max-width: 75%; + } + @media Screen and (max-width: 500px) { + max-width: 95%; + } + #block-mailchimpsubscriptionformdrupaltvnewsletter { + h2 { + text-align: center; + } + + form { + div.js-form-item.js-form-type-checkbox.checkbox.form-check.js-form-item-mailchimp-lists-gdpr-consent.form-item-mailchimp-lists-gdpr-consent{ + margin-top: 10px; + + label.form-check-label { + display: flex; + align-items: center; + } + } + } + } + } + + div.col-3 { + @media screen and (max-width: 1000px) { + max-width: 50%; + } + @media Screen and (max-width: 600px) { + max-width: 95%; + } + } +} +//Block DAInfo -- logo and blurb in Footer + #block-dainfo { + .content { + padding: 10px 30px; + text-align: justify; + .field--type-image { + text-align: center; + img { + border-radius: 50%; + } + } + //Empty space and social media icons display for no reason--removing them + .contact-social-title { + display: none; + } + } + } + + +//Dries Trademark Section in the Footer +#trademarkClause { + text-align: center; + border-top: 1px solid #0965a1; + width: 85%; + margin: 0 auto; + padding-top: 10px; + color: #ffffff; + + a { + color: #ffffff; + font-weight: 700; + } +} \ No newline at end of file diff --git a/web/themes/custom/tube_theme/scss/misc.scss b/web/themes/custom/tube_theme/scss/misc.scss index 8e23e963..d7f0a6ca 100644 --- a/web/themes/custom/tube_theme/scss/misc.scss +++ b/web/themes/custom/tube_theme/scss/misc.scss @@ -463,11 +463,45 @@ h3, h4, h5, h6 { a { color: black; font-size: 1em; - } } } - } - - +//Conference Articles Page View +//Tentative SASS +.view-id-featured_articles.view-display-id-page_1 { + .view-content { + div.item-list { + + ul { + display: flex; + justify-content: space-evenly; + flex-wrap: wrap; + li { + display: flex; + flex-direction: column; + min-width: 300px; + max-width: 500px; + @media screen and (max-width: 1046px) { + max-width: 700px; + } + + article { + display: flex; + flex-direction: column; + border-bottom: 0px solid transparent; + .node__content { + display: flex; + flex-direction: column; + + img { + width: 100%; + height: auto; + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/web/themes/custom/tube_theme/templates/page.html.twig b/web/themes/custom/tube_theme/templates/page.html.twig index 0736cb87..7f2488a0 100644 --- a/web/themes/custom/tube_theme/templates/page.html.twig +++ b/web/themes/custom/tube_theme/templates/page.html.twig @@ -181,16 +181,17 @@ {% endif %}