From bfdaf79bf12d9a49d8a0c3ba673dfb06104a669e Mon Sep 17 00:00:00 2001 From: h4ckx0r Date: Wed, 13 Nov 2024 21:37:02 +0100 Subject: [PATCH 1/6] =?UTF-8?q?Ejemplo=20posts=20relacionados=20y=20cambio?= =?UTF-8?q?=20a=20may=C3=BAscula=20del=20nombre?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/PostsRelacionados.astro | 75 ++++++++++++++++++++------ src/layouts/PostStyle.astro | 4 +- src/pages/posts/ods1.mdx | 1 + src/pages/posts/ods2.mdx | 1 + src/pages/posts/ods3.mdx | 1 + src/pages/posts/ods4.mdx | 1 + 6 files changed, 64 insertions(+), 19 deletions(-) diff --git a/src/components/PostsRelacionados.astro b/src/components/PostsRelacionados.astro index 7f68771..bcf8e8f 100644 --- a/src/components/PostsRelacionados.astro +++ b/src/components/PostsRelacionados.astro @@ -1,28 +1,69 @@ --- const { currentPost } = Astro.props; -// Aquí deberías implementar la lógica para obtener posts relacionados -// Por ejemplo, basándote en categorías, tags, o algún otro criterio -const relatedPosts = [{ title: "Prueba", excerpt: "Prueba", url: "Prueba" }]; +const posts = await Astro.glob('../pages/posts/*.mdx'); + +const relatedPosts = posts.filter(post => + currentPost.relacionados?.includes(post.file.split('/').pop().replace('.mdx', '')) +).map(post => ({ + title: post.frontmatter.titulo, + excerpt: post.frontmatter.descripcion, + url: post.url, + imagen: post.frontmatter.imagen +})); --- -