From 03b33518f6548ebdf8ce22b7c2023167dd547292 Mon Sep 17 00:00:00 2001 From: "Steven R. Loomis" Date: Sat, 23 Nov 2024 13:57:28 +0700 Subject: [PATCH] feat(seo): add meta keywords for supported languages - keyboard-details.php: use the langauge name(s) to produce keyboards. - template.php: support 'keywords' to pass to head() - Head.php: to support keywords as a parameter to head(), rendered as a meta tag. Escape ASCII quotes properly as entities. --- _includes/2020/templates/Head.php | 6 +++++- _includes/includes/template.php | 6 +++++- _includes/includes/ui/keyboard-details.php | 16 ++++++++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/_includes/2020/templates/Head.php b/_includes/2020/templates/Head.php index 835955dc..91dce377 100644 --- a/_includes/2020/templates/Head.php +++ b/_includes/2020/templates/Head.php @@ -42,6 +42,10 @@ static function render($fields = []) { if(KeymanHosts::Instance()->Tier() == KeymanHosts::TIER_STAGING) { echo ' '; } + if(isset($fields->keywords) && !empty($fields->keywords)) { + $keywords = htmlspecialchars($fields->keywords, ENT_QUOTES, "UTF-8"); + echo "\n"; + } ?> <?= $fields->title; ?> languages)) { + foreach (self::$keyboard->languages as $lang) { + if (!empty($keywords)) { + $keywords = $keywords . ', '; + } + $languageName = $lang->languageName; + $keywords = $keywords . $languageName . ' Keyboard'; + } + } + + // will be ignored if '' + $head_options['keywords'] = $keywords; + head($head_options); if($embed == 'none') { ?>