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:
parent
1e3264c07e
commit
e78dbcbf12
BIN
public/images/og/2026-04-06-journal.png
Normal file
BIN
public/images/og/2026-04-06-journal.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 801 KiB |
@ -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: "技术"
|
||||||
---
|
---
|
||||||
|
|||||||
@ -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 ",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user