diff --git a/src/pages/posts/[id].astro b/src/pages/posts/[id].astro index 720d3c0..79a5580 100644 --- a/src/pages/posts/[id].astro +++ b/src/pages/posts/[id].astro @@ -1,5 +1,9 @@ --- import { getCollection, render } from 'astro:content'; +import RelatedPosts from "../../components/PostsRelacionados.astro"; // Componente para posts relacionados +import Navbar from "../../components/Navbar.astro"; +import Footer from "../../components/Footer.astro"; + // 1. Generate a new path for every collection entry export async function getStaticPaths() { const posts = await getCollection('posts'); @@ -11,6 +15,263 @@ export async function getStaticPaths() { // 2. For your template, you can get the entry directly from the prop const { post } = Astro.props; const { Content } = await render(post); + + +const postMD = await import(/* @vite-ignore */ `../../../${post.filePath}`); +const headings = postMD.getHeadings(); +const description = post.data.descripcion; + + +// URLs para compartir en redes sociales +const shareUrl = new URL(Astro.url.pathname, Astro.site).toString(); +const facebookShareUrl = `https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(shareUrl)}`; +const twitterShareUrl = `https://twitter.com/intent/tweet?url=${encodeURIComponent(shareUrl)}&text=${encodeURIComponent(post.titulo)}`; +const linkedinShareUrl = `https://www.linkedin.com/shareArticle?mini=true&url=${encodeURIComponent(shareUrl)}&title=${encodeURIComponent(post.titulo)}`; + +const blogJsonLd = { + "@context": "https://schema.org", + "@type": "BlogPosting", + "headline": post.data.titulo, + "image": post.data.imagen && new URL(post.data.imagen, Astro.site), + "datePublished": post.data.fecha, + "dateModified": post.data.fecha, + "author": { + "@type": "Person", + "name": post.data.autor + }, + "publisher": { + "@type": "Organization", + "name": "Ecobjetivos", + "logo": { + "@type": "ImageObject", + "url": new URL('/logo.png', Astro.site) + } + }, + "description": description +}; --- -

{post.data.titulo}

- \ No newline at end of file + + + + + + {post.data.titulo} - Ecobjetivos + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/posts/Cambio_climatico.mdx b/src/posts/Cambio_climatico.mdx index 8f54138..e1898d6 100644 --- a/src/posts/Cambio_climatico.mdx +++ b/src/posts/Cambio_climatico.mdx @@ -65,7 +65,7 @@ Para abordar el cambio climático, es necesario adoptar un enfoque integral que - **Proteger los ecosistemas naturales**: los bosques, los océanos y otros hábitats son esenciales para la absorción de CO₂. - **Promover un consumo responsable**: reducir el desperdicio, reciclar y optar por productos sostenibles y locales. - + --- diff --git a/src/posts/ODS13.mdx b/src/posts/ODS13.mdx index 767feab..d5f3b02 100644 --- a/src/posts/ODS13.mdx +++ b/src/posts/ODS13.mdx @@ -1,6 +1,5 @@ --- titulo: 'ODS 13: Acciones Urgentes por el Clima' -layout: '../layouts/PostStyle.astro' autor: 'Lucas Curiel' fecha: '2024-11-26' descripcion: 'Descubre cómo el ODS 13 aborda la crisis climática a través de la reducción de emisiones, la resiliencia climática y la cooperación internacional. Aprende por qué la educación, la protección de ecosistemas y la adopción de políticas integradas son esenciales para un futuro más seguro. ¡El momento de actuar es ahora!' @@ -38,7 +37,7 @@ El desarrollo de infraestructuras y planes de respuesta para resistir y recupera La educación y la concienciación sobre el cambio climático y las prácticas sostenibles son vitales. Informar a la población aumenta su capacidad de respuesta y el conocimiento colectivo, promoviendo una sociedad más comprometida con la sostenibilidad. ### 5. Cooperación Internacional y Financiamiento - + El ODS 13 impulsa la colaboración global y la movilización de recursos financieros para que los países en desarrollo implementen acciones de mitigación y adaptación. Esto es crucial para cumplir con acuerdos internacionales como el Acuerdo de París.