From 8d6d22c8b7655b6e6d86626bcfb8021b41344dc0 Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Sat, 29 Aug 2026 20:34:18 -0400 Subject: [PATCH] Emit site.standard.publication link tag from the package Layout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The forked Layout in www-starpod emitted a site-wide tag on every page when STANDARD_SITE_DID and STANDARD_SITE_PUBLICATION_RKEY are set, which Bluesky's AppView needs to render shared links as a verified publication. The package Layout lost this when www-starpod converted to consuming starpod from npm — it only emitted the per-episode site.standard.document tag and the well-known endpoint. Port the fork's implementation (www-starpod 846665e) into the package Layout, gated entirely on the env vars so consumers without standard.site are unaffected. Co-Authored-By: Claude Fable 5 --- packages/starpod/src/layouts/Layout.astro | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/starpod/src/layouts/Layout.astro b/packages/starpod/src/layouts/Layout.astro index ba36cc0..e8b0331 100644 --- a/packages/starpod/src/layouts/Layout.astro +++ b/packages/starpod/src/layouts/Layout.astro @@ -4,6 +4,7 @@ import { ClientRouter } from 'astro:transitions'; import { Schema } from 'astro-seo-schema'; import SpeedInsights from '@vercel/speed-insights/astro'; +import { getPublicationAtUri } from '@bryanguffey/astro-standard-site'; import Breadcrumbs from '../components/Breadcrumbs.astro'; import Dots from 'virtual:starpod/components/Dots'; @@ -40,6 +41,21 @@ const { imageUrl, title } = Astro.props; const canonicalURL = Astro.props.canonicalURL ?? new URL(Astro.url.pathname, Astro.site); const description = Astro.props.description ?? starpodConfig.description; + +// standard.site publication discovery hint. Bluesky's AppView needs this +// `` tag on every page (home + episodes) +// to render shared links as a verified publication. On episode pages it sits +// alongside the per-page `` tag. +const standardSiteDid = import.meta.env.STANDARD_SITE_DID; +const standardSitePublicationRkey = import.meta.env + .STANDARD_SITE_PUBLICATION_RKEY; +const publicationLinkTag = + standardSiteDid && standardSitePublicationRkey + ? `` + : null; --- @@ -125,6 +141,8 @@ const description = Astro.props.description ?? starpodConfig.description; }} /> + {publicationLinkTag && } +