Use a branded landscape social card instead of the raw portrait cover
deploy / deploy (push) Successful in 4s

The book cover is a 1664x2432 portrait image, which crops badly into
og:image's expected 1200x630. Add a social_image field (a composited
card: cover centered on the site's parchment background) that og:image/
twitter:card prefer, falling back to cover_image if unset.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-16 06:57:48 -04:00
parent 55283f14aa
commit 51ab8f842d
2 changed files with 7 additions and 2 deletions
+6 -1
View File
@@ -11,9 +11,14 @@ hero_subhead: "This story, occasional emails when something new comes out and ot
cta_text: "Send me the story"
# Cover image, hosted in the public downloads bucket alongside the epub.
# Used as the on-page hero image and for the og:image/Twitter card meta tags.
# Used as the on-page hero image.
cover_image: "https://downloads.michaelferrara.org/neon-tan/neon_tan_cover.jpg"
# Optional: a landscape (1200x630) variant of the cover for social-share
# previews (og:image/Twitter card). Falls back to cover_image if unset --
# see layouts/_default/baseof.html.
social_image: "https://downloads.michaelferrara.org/neon-tan/neon_tan_cover_social.jpg"
# Direct link to the epub in the public downloads bucket — shown as an
# on-page button immediately after a successful signup, independent of the
# welcome email (see layouts/partials/course-enroll-form.html).
+1 -1
View File
@@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ if .IsHome }}{{ .Site.Title }}{{ else }}{{ .Title }} · {{ .Site.Title }}{{ end }}</title>
<meta name="description" content="{{ .Description | default .Site.Params.description }}">
{{ with .Params.cover_image }}
{{ with .Params.social_image | default .Params.cover_image }}
<meta property="og:title" content="{{ $.Title }}">
<meta property="og:description" content="{{ $.Description | default $.Site.Params.description }}">
<meta property="og:image" content="{{ . }}">