summaryrefslogtreecommitdiff
path: root/src/components/templates/MicroBlog.astro
diff options
context:
space:
mode:
authorJoão Augusto Costa Branco Marado Torres <torres.dev@disroot.org>2025-07-06 22:27:04 -0300
committerJoão Augusto Costa Branco Marado Torres <torres.dev@disroot.org>2025-07-06 22:27:04 -0300
commit449f71511e539878af4c65f073cdc373b469c45e (patch)
tree6c264a77426284d97d1c9b9d7a27a6015c3077a8 /src/components/templates/MicroBlog.astro
parent4ae2b810b68538ba4c287b0c80d6c2e002fe9ddd (diff)
feat: more structured data
Signed-off-by: João Augusto Costa Branco Marado Torres <torres.dev@disroot.org>
Diffstat (limited to 'src/components/templates/MicroBlog.astro')
-rw-r--r--src/components/templates/MicroBlog.astro27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/components/templates/MicroBlog.astro b/src/components/templates/MicroBlog.astro
index c16155e..88321dc 100644
--- a/src/components/templates/MicroBlog.astro
+++ b/src/components/templates/MicroBlog.astro
@@ -2,12 +2,9 @@
import Date from "@components/organisms/Date.astro";
import KeywordsList from "@components/organisms/KeywordsList.astro";
import { getFirstUserID, getLastUpdate } from "@lib/collection/helpers";
-import { Micro } from "@lib/collection/schemas";
-import type { CollectionEntry, z } from "astro:content";
+import type { Micro, MicroEntry } from "@lib/collection/schemas";
-interface Props extends CollectionEntry<"blog"> {
- data: z.infer<typeof Micro>;
-}
+interface Props extends MicroEntry {}
const micro = Astro.props;
const { id, data, rendered } = micro;
@@ -19,10 +16,14 @@ const [first, ...names] = display.split(/\s/);
const last = names.length > 0 ? names[names.length - 1] : "";
const little = ((first?.[0] ?? "") + (last?.[0] ?? "")).slice(0, 2);
---
-<article>
+<article
+ itemprop="blogPost"
+ itemscope
+ itemtype="https://schema.org/BlogPosting"
+>
<header>
<h3 class="title">
- <a href={`/blog/read/${id}`}>{title}</a>
+ <a href={`/blog/read/${id}`} itemprop="headline name">{title}</a>
</h3>
<span class="profile_picture">{
user?.website ? <a href={user.website}>{little}</a> : (
@@ -30,15 +31,21 @@ const little = ((first?.[0] ?? "") + (last?.[0] ?? "")).slice(0, 2);
)
}</span>
<div>
- {first} {last} <small>· <Date
+ <span
+ itemprop="author"
+ itemscope
+ itemtype="https://schema.org/Person"
+ ><span itemprop="alternateName">{first} {last}</span></span>
+ <span class="small">· <Date
{date}
locales={lang}
options={{ month: "short", day: "numeric" }}
- /></small>
+ itemprop="dateModified"
+ /></span>
</div>
</header>
<div class="content small">
- <div {lang}>
+ <div {lang} itemprop="articleBody text">
<Fragment set:html={rendered?.html} />
</div>
<footer>