From dcc5f01fb8f391a319b48127fc25fe2b62f0c649 Mon Sep 17 00:00:00 2001 From: Yasmeen Abuerrub <yabuerrub@hotmail.com> Date: Thu, 7 Sep 2017 18:46:23 +0300 Subject: [PATCH] Issue #2907351: Changed [Varbase SEO] with an optimization round to have better init Metatag configs --- .../varbase_core/varbase_core.module | 2 + .../varbase_core/varbase_core.tokens.inc | 47 +++++++++++++++++++ .../install/metatag.metatag_defaults.403.yml | 8 ++++ .../install/metatag.metatag_defaults.404.yml | 8 ++++ .../metatag.metatag_defaults.front.yml | 14 ++++++ .../metatag.metatag_defaults.global.yml | 30 ++++++++++++ .../install/metatag.metatag_defaults.node.yml | 17 +++++++ ...ag.metatag_defaults.node__landing_page.yml | 9 ++++ .../metatag.metatag_defaults.node__page.yml | 14 ++++++ ...metatag.metatag_defaults.taxonomy_term.yml | 9 ++++ .../install/metatag.metatag_defaults.user.yml | 8 ++++ .../varbase_seo/varbase_seo.install | 2 + 12 files changed, 168 insertions(+) create mode 100644 modules/varbase_features/varbase_core/varbase_core.module create mode 100644 modules/varbase_features/varbase_core/varbase_core.tokens.inc create mode 100644 modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.403.yml create mode 100644 modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.404.yml create mode 100644 modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.front.yml create mode 100644 modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.global.yml create mode 100644 modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.node.yml create mode 100644 modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.node__landing_page.yml create mode 100644 modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.node__page.yml create mode 100644 modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.taxonomy_term.yml create mode 100644 modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.user.yml diff --git a/modules/varbase_features/varbase_core/varbase_core.module b/modules/varbase_features/varbase_core/varbase_core.module new file mode 100644 index 00000000..ff337934 --- /dev/null +++ b/modules/varbase_features/varbase_core/varbase_core.module @@ -0,0 +1,2 @@ +<?php +module_load_include('inc', 'varbase_core', 'varbase_core.tokens'); diff --git a/modules/varbase_features/varbase_core/varbase_core.tokens.inc b/modules/varbase_features/varbase_core/varbase_core.tokens.inc new file mode 100644 index 00000000..5ebb8308 --- /dev/null +++ b/modules/varbase_features/varbase_core/varbase_core.tokens.inc @@ -0,0 +1,47 @@ +<?php + +use Drupal\Core\Render\BubbleableMetadata; + +/** + * Implements hook_token_info(). + */ +function varbase_core_token_info() { + // Default theme token. + $info['types']['default-active-theme'] = array( + 'name' => t('Default theme'), + 'description' => t('Tokens related to the Default theme.'), + ); + $info['tokens']['default-active-theme']['path'] = array( + 'name' => t('Path'), + 'description' => t('The path of the Default theme.'), + ); + + return $info; +} + +/** + * Implements hook_tokens(). + */ +function varbase_core_tokens($type, $tokens, array $data, array $options, BubbleableMetadata $bubbleable_metadata) { + $replacements = array(); + $language_manager = \Drupal::languageManager(); + $url_options = array('absolute' => TRUE); + if (isset($options['langcode'])) { + $url_options['language'] = $language_manager->getLanguage($options['langcode']); + $langcode = $options['langcode']; + } + else { + $langcode = $language_manager->getCurrentLanguage()->getId(); + } + + if ($type == 'default-active-theme') { + foreach ($tokens as $name => $original) { + switch ($name) { + case 'path': + $replacements[$original] = \Drupal::theme()->getActiveTheme()->getPath(); + break; + } + } + } + return $replacements; +} diff --git a/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.403.yml b/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.403.yml new file mode 100644 index 00000000..3f88243f --- /dev/null +++ b/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.403.yml @@ -0,0 +1,8 @@ +langcode: en +status: true +dependencies: { } +id: '403' +label: '403 access denied' +tags: + canonical_url: '[site:url]' + shortlink: '[site:url]' diff --git a/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.404.yml b/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.404.yml new file mode 100644 index 00000000..2e44127e --- /dev/null +++ b/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.404.yml @@ -0,0 +1,8 @@ +langcode: en +status: true +dependencies: { } +id: '404' +label: '404 page not found' +tags: + canonical_url: '[site:url]' + shortlink: '[site:url]' diff --git a/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.front.yml b/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.front.yml new file mode 100644 index 00000000..4c802d7c --- /dev/null +++ b/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.front.yml @@ -0,0 +1,14 @@ +langcode: en +status: true +dependencies: { } +id: front +label: 'Front page' +tags: + shortlink: '[site:url]' + title: '[site:name] | [site:slogan]' + canonical_url: '[site:url]' + google_plus_name: '[site:name] | [site:slogan]' + og_url: '[site:url]' + og_title: '[site:name] | [site:slogan]' + twitter_cards_page_url: '[site:url]' + twitter_cards_title: '[site:name] | [site:slogan]' diff --git a/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.global.yml b/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.global.yml new file mode 100644 index 00000000..f5041c9e --- /dev/null +++ b/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.global.yml @@ -0,0 +1,30 @@ +langcode: en +status: true +dependencies: { } +id: global +label: Global +tags: + generator: 'Varbase 8 (https://www.vardot.com)' + shortlink: '[current-page:url:unaliased]' + title: '[current-page:title] | [site:name]' + rights: '©[current-date:html_year] [site:name]. All rights reserved.' + canonical_url: '[current-page:url:absolute]' + referrer: origin + google_plus_image: '[site:url][default-active-theme:path]/share-logo.png' + apple_mobile_web_app_capable: 'yes' + mobileoptimized: width + handheldfriendly: 'true' + og_site_name: '[site:name]' + og_url: '[current-page:url:absolute]' + og_type: website + og_image: '[site:url][default-active-theme:path]/share-logo.png' + og_title: '[current-page:title] | [site:name]' + og_image_url: '[site:url][default-active-theme:path]/share-logo.png' + twitter_cards_page_url: '[current-page:url:absolute]' + twitter_cards_image: '[site:url][default-active-theme:path]/share-logo.png' + twitter_cards_title: '[current-page:title] | [site:name]' + twitter_cards_type: summary + schema_web_site_publisher: 'a:7:{s:5:"@type";s:12:"Organization";s:3:"@id";s:0:"";s:4:"name";s:6:"Vardot";s:3:"url";s:14:"www.vardot.com";s:6:"sameAs";s:0:"";s:4:"logo";a:2:{s:5:"@type";s:11:"ImageObject";s:3:"url";s:39:"[site:url][current-theme:path]/logo.png";}s:5:"pivot";s:0:"";}' + schema_web_site_url: '[site:url]' + schema_web_site_type: WebSite + schema_web_site_name: '[site:name]' diff --git a/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.node.yml b/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.node.yml new file mode 100644 index 00000000..c83b3dd2 --- /dev/null +++ b/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.node.yml @@ -0,0 +1,17 @@ +langcode: en +status: true +dependencies: { } +id: node +label: Content +tags: + title: '[node:title] | [site:name]' + description: '[node:summary]' + abstract: '[node:summary]' + google_plus_image: '[node:field_image:entity:field_image:1200x630:url]' + og_description: '[node:summary]' + og_type: article + og_image: '[node:field_image:entity:field_image:1200x630:url]' + og_image_url: '[node:field_image:entity:field_image:1200x630:url]' + twitter_cards_description: '[node:summary]' + twitter_cards_image: '[node:field_image:entity:field_image:280x150:url]' + twitter_cards_type: summary_large_image diff --git a/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.node__landing_page.yml b/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.node__landing_page.yml new file mode 100644 index 00000000..6e980f55 --- /dev/null +++ b/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.node__landing_page.yml @@ -0,0 +1,9 @@ +langcode: en +status: true +dependencies: { } +id: node__landing_page +label: 'Content: Landing page' +tags: + title: '[node:title] | [site:name]' + description: '[node:field_description:value]' + schema_web_page_type: WebPage diff --git a/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.node__page.yml b/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.node__page.yml new file mode 100644 index 00000000..4dafadc4 --- /dev/null +++ b/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.node__page.yml @@ -0,0 +1,14 @@ +langcode: en +status: true +dependencies: { } +id: node__page +label: 'Content: Basic page' +tags: + title: '[node:title] | [site:name]' + schema_article_author: 'a:7:{s:5:"@type";s:6:"Person";s:3:"@id";s:0:"";s:4:"name";s:26:"[node:author:display-name]";s:3:"url";s:17:"[node:author:url]";s:6:"sameAs";s:0:"";s:4:"logo";a:0:{}s:5:"pivot";s:0:"";}' + schema_article_publisher: 'a:7:{s:5:"@type";s:12:"Organization";s:3:"@id";s:0:"";s:4:"name";s:11:"[site:name]";s:3:"url";s:10:"[site:url]";s:6:"sameAs";s:0:"";s:4:"logo";a:2:{s:5:"@type";s:11:"ImageObject";s:3:"url";s:39:"[site:url][current-theme:path]/logo.png";}s:5:"pivot";s:0:"";}' + schema_article_date_published: '[node:created:html_datetime]' + schema_article_date_modified: '[node:changed:html_datetime]' + schema_article_description: '[node:summary]' + schema_article_type: Article + schema_article_headline: '[node:title]' diff --git a/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.taxonomy_term.yml b/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.taxonomy_term.yml new file mode 100644 index 00000000..c7a81ea4 --- /dev/null +++ b/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.taxonomy_term.yml @@ -0,0 +1,9 @@ +langcode: en +status: true +dependencies: { } +id: taxonomy_term +label: 'Taxonomy term' +tags: + title: '[term:name] | [site:name]' + description: '[term:description]' + abstract: '[term:description]' diff --git a/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.user.yml b/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.user.yml new file mode 100644 index 00000000..02e01e21 --- /dev/null +++ b/modules/varbase_features/varbase_seo/config/install/metatag.metatag_defaults.user.yml @@ -0,0 +1,8 @@ +langcode: en +status: true +dependencies: { } +id: user +label: User +tags: + title: '[user:name] | [site:name]' + og_type: profile diff --git a/modules/varbase_features/varbase_seo/varbase_seo.install b/modules/varbase_features/varbase_seo/varbase_seo.install index c8be9f9d..4abb9955 100644 --- a/modules/varbase_features/varbase_seo/varbase_seo.install +++ b/modules/varbase_features/varbase_seo/varbase_seo.install @@ -5,6 +5,8 @@ * Install, update and uninstall functions for the Varbase SEO module. */ +use Symfony\Component\Yaml\Yaml; + /** * Enable Metatag: Facebook module. */ -- GitLab