feat: AI-generated OG cover for 2026-04-06 journal

- SiliconFlow Kolors: orange cat tending a digital garden 🌱
- Frontmatter 'image' field → og:image priority over satori fallback
- Post page: use article image for OG when available, satori as default
This commit is contained in:
小橘 2026-04-06 13:50:35 +00:00
parent 1e3264c07e
commit e78dbcbf12
3 changed files with 2 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 801 KiB

View File

@ -2,6 +2,7 @@
title: "产品是长出来的,不是造出来的 🌱" title: "产品是长出来的,不是造出来的 🌱"
published: 2026-04-06 published: 2026-04-06
description: "一天合并十几个 PR,从 streaming 修复到品牌换肤,再到 GitHub Profile 生图——产品不是一蹴而就的,它是在无数个微小决策中'长出来'的。" description: "一天合并十几个 PR,从 streaming 修复到品牌换肤,再到 GitHub Profile 生图——产品不是一蹴而就的,它是在无数个微小决策中'长出来'的。"
image: "/images/og/2026-04-06-journal.png"
tags: ["Uncaged", "产品", "品牌", "AI 协作"] tags: ["Uncaged", "产品", "品牌", "AI 协作"]
category: "技术" category: "技术"
--- ---

View File

@ -45,7 +45,7 @@ const jsonLd = {
// TODO include cover image here // TODO include cover image here
}; };
--- ---
<MainGridLayout banner={entry.data.image} title={entry.data.title} description={entry.data.description} lang={entry.data.lang} setOGTypeArticle={true} headings={headings} ogImage={`/og/${entry.slug}.png`}> <MainGridLayout banner={entry.data.image} title={entry.data.title} description={entry.data.description} lang={entry.data.lang} setOGTypeArticle={true} headings={headings} ogImage={entry.data.image || `/og/${entry.slug}.png`}>
<script is:inline slot="head" type="application/ld+json" set:html={JSON.stringify(jsonLd)}></script> <script is:inline slot="head" type="application/ld+json" set:html={JSON.stringify(jsonLd)}></script>
<div class="flex w-full rounded-[var(--radius-large)] overflow-hidden relative mb-4"> <div class="flex w-full rounded-[var(--radius-large)] overflow-hidden relative mb-4">
<div id="post-container" class:list={["card-base z-10 px-6 md:px-9 pt-6 pb-4 relative w-full ", <div id="post-container" class:list={["card-base z-10 px-6 md:px-9 pt-6 pb-4 relative w-full ",