Update PostLayout.astro

This commit is contained in:
2026-06-15 23:25:37 +08:00
committed by GitHub
parent a55787e0dc
commit 84c1bd628f
+13 -18
View File
@@ -1,6 +1,7 @@
--- ---
import Layout from "./Layout.astro"; import Layout from "./Layout.astro";
import config from "@/config"; import config from "@/config";
import TwikooComments from "../components/TwikooComments.astro";
type Props = { type Props = {
title?: string; title?: string;
@@ -13,8 +14,9 @@ type Props = {
const { site } = config; const { site } = config;
const { title, description, ogImage, canonicalURL, pubDatetime, modDatetime } = const { title, description, ogImage, canonicalURL, pubDatetime, modDatetime } = Astro.props;
Astro.props;
const commentPath = canonicalURL ? new URL(canonicalURL).pathname : undefined;
const structuredData = { const structuredData = {
"@context": "https://schema.org", "@context": "https://schema.org",
@@ -35,32 +37,25 @@ const structuredData = {
<Layout {title} {description} {ogImage} {canonicalURL}> <Layout {title} {description} {ogImage} {canonicalURL}>
<Fragment slot="head"> <Fragment slot="head">
<!-- Override og:type for article pages -->
<meta property="og:type" content="article" /> <meta property="og:type" content="article" />
{ {
pubDatetime && ( pubDatetime && (
<meta <meta property="article:published_time" content={pubDatetime.toISOString()} />
property="article:published_time"
content={pubDatetime.toISOString()}
/>
) )
} }
{ {
modDatetime && ( modDatetime && (
<meta <meta property="article:modified_time" content={modDatetime.toISOString()} />
property="article:modified_time"
content={modDatetime.toISOString()}
/>
) )
} }
<script type="application/ld+json" is:inline set:html={JSON.stringify(structuredData)} />
<script
type="application/ld+json"
is:inline
set:html={JSON.stringify(structuredData)}
/>
</Fragment> </Fragment>
<slot /> <slot />
{
commentPath && (
<TwikooComments envId="http://47.108.235.131:40063/" path={commentPath} />
)
}
</Layout> </Layout>