aboutsummaryrefslogtreecommitdiff
path: root/src/pages/blog
diff options
context:
space:
mode:
authorAriel Costas Guerrero <94913521+arielcostas@users.noreply.github.com>2024-12-23 14:13:29 +0100
committerAriel Costas Guerrero <94913521+arielcostas@users.noreply.github.com>2024-12-23 14:13:29 +0100
commit3013f352570439832075bab19c9ae91ec6ab98ac (patch)
tree37052258a5e4d5859ad9024f99cceb9a38047707 /src/pages/blog
parent16b7b327d43a3d3a2ab0b6317072136d7df69a3d (diff)
Update to astro 5
Diffstat (limited to 'src/pages/blog')
-rw-r--r--src/pages/blog/[id].astro (renamed from src/pages/blog/[slug].astro)113
1 files changed, 58 insertions, 55 deletions
diff --git a/src/pages/blog/[slug].astro b/src/pages/blog/[id].astro
index a1a0532..6488a04 100644
--- a/src/pages/blog/[slug].astro
+++ b/src/pages/blog/[id].astro
@@ -1,55 +1,58 @@
----
-import type { GetStaticPaths } from "astro";
-import Layout from "../../layouts/Layout.astro";
-import { getCollection } from "astro:content";
-export const getStaticPaths = (async () => {
- const entries = await getCollection("blog");
- return entries.map((entry) => ({
- params: { slug: entry.slug },
- props: { entry },
- }));
-}) satisfies GetStaticPaths;
-const { entry } = Astro.props;
-const { Content } = await entry.render();
-const formattedDate = new Date(entry.data.publishedAt).toLocaleDateString(
- "es-ES",
- {
- year: "numeric",
- month: "long",
- day: "numeric",
- weekday: "long",
- },
-);
-const schema = {
- "@context": "https://schema.org",
- "@type": "BlogPosting",
- headline: entry.data.title,
- datePublished: entry.data.publishedAt.toISOString(),
- author: {
- "@type": "Person",
- name: "Ariel Costas Guerrero",
- },
- publisher: {
- "@type": "Person",
- name: "Ariel Costas Guerrero",
- logo: {
- "@type": "ImageObject",
- url: "https://www.costas.dev/favicon.png",
- },
- },
-};
----
-
-<Layout title={entry.data.title} description={entry.data.metaDescription}>
- <script type="application/ld+json" slot="head-jsonld" set:html={JSON.stringify(schema)}></script>
-
- <h1>{entry.data.title}</h1>
- <small>
- Publicado el
- <time datetime={entry.data.publishedAt.toISOString()}>
- {formattedDate}
- </time>
- </small>
-
- <Content />
-</Layout>
+---
+import type { GetStaticPaths } from "astro";
+import Layout from "../../layouts/Layout.astro";
+import { getCollection, render } from "astro:content";
+
+export const getStaticPaths = (async () => {
+ const entries = await getCollection("blog");
+ return entries.map((entry) => ({
+ params: { id: entry.id },
+ props: { entry },
+ }));
+}) as GetStaticPaths;
+
+const { entry } = Astro.props;
+const { Content } = await render(entry);
+const formattedDate = new Date(entry.data.publishedAt).toLocaleDateString(
+ "es-ES",
+ {
+ year: "numeric",
+ month: "long",
+ day: "numeric",
+ weekday: "long",
+ },
+);
+
+const schema = {
+ "@context": "https://schema.org",
+ "@type": "BlogPosting",
+ headline: entry.data.title,
+ datePublished: entry.data.publishedAt.toISOString(),
+ author: {
+ "@type": "Person",
+ name: "Ariel Costas Guerrero",
+ },
+ publisher: {
+ "@type": "Person",
+ name: "Ariel Costas Guerrero",
+ logo: {
+ "@type": "ImageObject",
+ url: "https://www.costas.dev/favicon.png",
+ },
+ },
+};
+---
+
+<Layout title={entry.data.title} description={entry.data.metaDescription}>
+ <script type="application/ld+json" slot="head-jsonld" set:html={JSON.stringify(schema)}></script>
+
+ <h1>{entry.data.title}</h1>
+ <small>
+ Publicado el
+ <time datetime={entry.data.publishedAt.toISOString()}>
+ {formattedDate}
+ </time>
+ </small>
+
+ <Content />
+</Layout>