From e4a4d2eb18b9046c907df6d5ddcdf419632e2e12 Mon Sep 17 00:00:00 2001 From: Brian Talbot Date: Mon, 27 Oct 2025 20:08:14 -0400 Subject: [PATCH] fixing page and Open Graph titles for Home view (#1666) * fixes the redundant 'Web Awesome | Web Awesome' titles * moves logic to `.eleventy.js` * gracefully handles no titles/og titles with `Web Awesome` --- packages/webawesome/docs/.eleventy.js | 12 ++++++++++-- packages/webawesome/docs/_includes/head.njk | 4 ++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/webawesome/docs/.eleventy.js b/packages/webawesome/docs/.eleventy.js index 162a0ec58..eda89ac3e 100644 --- a/packages/webawesome/docs/.eleventy.js +++ b/packages/webawesome/docs/.eleventy.js @@ -182,8 +182,16 @@ export default async function (eleventyConfig) { // Attach lastUpdatedISO to page data so templates can use {{ lastUpdatedISO }} directly eleventyConfig.addGlobalData('eleventyComputed', { lastUpdatedISO: data => getLastModifiedISO(data.page?.inputPath, data.lastUpdated), - // Open Graph metadata with smart defaults - ogTitle: data => data.ogTitle || data.title, + // Page title with smart + default site name formatting + pageTitle: data => { + const title = data.title || siteMetadata.name; + return title !== siteMetadata.name ? `${title} | ${siteMetadata.name}` : title; + }, + // Open Graph title with smart + default site name formatting + ogTitle: data => { + const ogTitle = data.ogTitle || data.title || siteMetadata.name; + return ogTitle !== siteMetadata.name ? `${ogTitle} | ${siteMetadata.name}` : ogTitle; + }, ogDescription: data => data.ogDescription || data.description, ogImage: data => data.ogImage || siteMetadata.image, ogUrl: data => { diff --git a/packages/webawesome/docs/_includes/head.njk b/packages/webawesome/docs/_includes/head.njk index 7fdd6e096..6791f2ba7 100644 --- a/packages/webawesome/docs/_includes/head.njk +++ b/packages/webawesome/docs/_includes/head.njk @@ -3,13 +3,13 @@ {% if noindex or unlisted %}{% endif %} -{{ title }} | {{ siteMetadata.name }} +{{ pageTitle }} {# Skip OG tags for unlisted/noindex pages to prevent social sharing #} {% if not (noindex or unlisted) %} - +