Actualización de Astro, cambio de fechas de los posts, mejora en la indexación, cambio de sitio de los posts, cambio en el workflow a manual

This commit is contained in:
2025-02-25 11:05:22 +01:00
parent 94019bd963
commit 8e8b7cad1d
35 changed files with 1331 additions and 1748 deletions

View File

@@ -1,11 +1,13 @@
name: Verificar versión, Compilar y Desplegar
on:
push:
branches:
- main
paths:
- 'package.json'
workflow_dispatch:
# Puedes añadir inputs si lo necesitas, por ejemplo:
# inputs:
# deploy_tag:
# description: 'Etiqueta de la versión a desplegar'
# required: true
# default: 'latest'
jobs:
check-version:

2510
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -11,8 +11,8 @@
"astro": "astro"
},
"dependencies": {
"@astrojs/mdx": "^3.1.9",
"@astrojs/mdx": "^4.0.8",
"@astrojs/sitemap": "^3.2.1",
"astro": "^4.16.10"
"astro": "^5.3.1"
}
}

View File

@@ -1,5 +1,6 @@
---
const posts = await Astro.glob("../pages/posts/*.mdx");
import { getCollection } from "astro:content";
const posts = await getCollection("posts");
---
<div class="row">
@@ -9,12 +10,12 @@ const posts = await Astro.glob("../pages/posts/*.mdx");
<div class="card h-100">
<div class="card-body d-flex flex-column">
<h5 class="card-title">
{post.frontmatter.titulo}
{post.data.titulo}
</h5>
<p class="card-text post-content flex-grow-1">
{post.frontmatter.descripcion}
{post.data.descripcion}
</p>
<a href={post.url} class="btn btn-success mt-auto">
<a href={"/posts/" + post.id} class="btn btn-success mt-auto">
Ver detalles
</a>
</div>

View File

@@ -1,12 +1,14 @@
---
import { getCollection } from "astro:content";
const { currentPost } = Astro.props;
const posts = await Astro.glob('../pages/posts/*.mdx');
const posts = await getCollection("posts");
const processedPosts = await Promise.all(posts.map(async (post) => {
const { frontmatter, url, file } = await post;
const fileName = file.split('/').pop().replace('.mdx', '').toLowerCase();
return { fileName, frontmatter, url };
const { data } = await post;
const fileName = post.id;
const url = `/posts/${post.id}`
return { fileName, data, url };
}));
const relatedPosts = processedPosts
@@ -14,10 +16,10 @@ const relatedPosts = processedPosts
currentPost.relacionados?.map(rel => rel.toLowerCase()).includes(post.fileName)
)
.map((post) => ({
title: post.frontmatter?.titulo || 'Sin título',
excerpt: post.frontmatter?.descripcion || '',
title: post.data.titulo,
excerpt: post.data.descripcion,
url: post.url || '#',
imagen: post.frontmatter?.imagen || '/default-image.jpg',
imagen: post.data?.imagen || '/default-image.jpg',
}));
---

25
src/content.config.ts Normal file
View File

@@ -0,0 +1,25 @@
// src/content.config.ts
import { defineCollection, z } from 'astro:content';
import { glob } from 'astro/loaders';
const posts = defineCollection({
// Usa el loader "glob" para buscar archivos .md en la carpeta indicada.
loader: glob({ pattern: '**/*.mdx', base: './src/posts' }),
// Define un esquema para validar el frontmatter de cada post
schema: z.object({
titulo: z.string(),
descripcion: z.string(),
fecha: z.coerce.date(),
autor: z.string(),
imagen: z.string().optional()
}).passthrough(),
computedFields: {
url: {
type: 'string',
resolve: (entry) => `${entry}` // Genera la URL usando el slug calculado de cada post.
}
}
});
// Exporta las colecciones definidas
export const collections = { posts };

View File

@@ -1,30 +1,32 @@
---
// ListadoPosts.astro
const posts = await Astro.glob("../pages/posts/*.mdx");
import { getCollection } from "astro:content";
const posts = await getCollection("posts");
// Función para ordenar posts
const orderPosts = (posts, orderBy = "fecha", ascending = false) => {
return [...posts].sort((a, b) => {
return posts.sort((a, b) => {
if (orderBy === "fecha") {
const comparison = new Date(b.frontmatter.fecha).getTime() -
new Date(a.frontmatter.fecha).getTime();
const comparison =
new Date(b.data.fecha).getTime() -
new Date(a.data.fecha).getTime();
return ascending ? -comparison : comparison;
} else if (orderBy === "titulo") {
const comparison = a.frontmatter.titulo.localeCompare(b.frontmatter.titulo);
const comparison = a.data.titulo.localeCompare(b.data.titulo);
return ascending ? comparison : -comparison;
}
return 0;
});
};
// Ordenar posts por defecto (más reciente primero)
const initialPosts = orderPosts(posts, "fecha", false);
---
<div class="container py-5">
<div class="text-center mb-5 mt-3">
<h1 class="display-4">Blog Ecobjetivos</h1>
<p class="lead text-muted">Explora nuestros artículos sobre sostenibilidad y desarrollo</p>
<p class="lead text-muted">
Explora nuestros artículos sobre sostenibilidad y desarrollo
</p>
</div>
<!-- Controles de búsqueda y ordenamiento -->
@@ -43,13 +45,17 @@ const initialPosts = orderPosts(posts, "fecha", false);
id="searchInput"
class="form-control border-start-0"
placeholder="Buscar artículos..."
>
/>
</div>
</div>
<div class="col-md-5">
<select id="orderSelect" class="form-select">
<option value="fecha-desc">Más recientes primero</option>
<option value="fecha-asc">Más antiguos primero</option>
<option value="fecha-desc"
>Más recientes primero</option
>
<option value="fecha-asc"
>Más antiguos primero</option
>
<option value="titulo-asc">Título A-Z</option>
<option value="titulo-desc">Título Z-A</option>
</select>
@@ -68,15 +74,15 @@ const initialPosts = orderPosts(posts, "fecha", false);
<article class="card shadow-sm h-100 border-0">
<div class="row g-0">
<div class="col-md-4">
{post.frontmatter.imagen ? (
{post.data.imagen ? (
<img
src={post.frontmatter.imagen}
src={post.data.imagen}
class="post-image rounded-start"
alt={post.frontmatter.titulo}
alt={post.data.titulo}
/>
) : (
<div class="default-image rounded-start">
<i class="fas fa-leaf fa-3x text-success"></i>
<i class="fas fa-leaf fa-3x text-success" />
</div>
)}
</div>
@@ -84,31 +90,45 @@ const initialPosts = orderPosts(posts, "fecha", false);
<div class="card-body d-flex flex-column h-100">
<div class="mb-3">
<h2 class="card-title h4">
{post.frontmatter.titulo}
{post.data.titulo}
</h2>
<p class="card-text text-muted">
{post.frontmatter.descripcion}
{post.data.descripcion}
</p>
</div>
<div class="mt-auto">
<div class="d-flex justify-content-between align-items-center">
<div class="author-info">
<small class="text-muted d-block">
<i class="fas fa-user-edit me-2"></i>
{post.frontmatter.autor}
<i class="fas fa-user-edit me-2" />
{post.data.autor}
</small>
<small class="text-muted d-block">
<i class="far fa-calendar-alt me-2"></i>
{new Date(post.frontmatter.fecha).toLocaleDateString('es-ES', {
year: 'numeric',
month: 'long',
day: 'numeric'
})}
<i class="far fa-calendar-alt me-2" />
<time
datetime={
post.data.fecha
}
>
{new Date(
post.data.fecha,
).toLocaleDateString(
"es-ES",
{
year: "numeric",
month: "long",
day: "numeric",
},
)}
</time>
</small>
</div>
<a href={post.url} class="btn btn-outline-success">
<a
href={"/posts/" + post.id}
class="btn btn-outline-success"
>
Leer más
<i class="fas fa-arrow-right ms-2"></i>
<i class="fas fa-arrow-right ms-2" />
</a>
</div>
</div>
@@ -124,12 +144,14 @@ const initialPosts = orderPosts(posts, "fecha", false);
<style>
.card {
transition: transform 0.3s ease, box-shadow 0.3s ease;
transition:
transform 0.3s ease,
box-shadow 0.3s ease;
background: #ffffff;
}
.card:hover {
transform: translateY(-5px);
box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}
.post-image {
width: 100%;
@@ -170,44 +192,47 @@ const initialPosts = orderPosts(posts, "fecha", false);
<script>
// El mismo script que antes...
const posts = {
frontmatter: JSON.stringify(Array.from(document.querySelectorAll('.post-item')).map(post => ({
frontmatter: JSON.stringify(Array.from(document.querySelectorAll('.post-item')).map(post => {
const timeEl = post.querySelector('time');
return {
titulo: post.querySelector('.card-title').textContent.trim(),
fecha: post.querySelector('.fa-calendar-alt').nextSibling.textContent.trim(),
// Usar el atributo datetime para obtener la fecha en formato ISO
fecha: timeEl ? timeEl.getAttribute('datetime') : '',
element: post.outerHTML
})))
};
};
}))
};
const searchInput = document.getElementById('searchInput');
const orderSelect = document.getElementById('orderSelect');
const postsContainer = document.getElementById('postsContainer');
const searchInput = document.getElementById("searchInput");
const orderSelect = document.getElementById("orderSelect");
const postsContainer = document.getElementById("postsContainer");
function updatePosts() {
const searchTerm = searchInput.value.toLowerCase();
const [orderBy, direction] = orderSelect.value.split('-');
const [orderBy, direction] = orderSelect.value.split("-");
let filteredPosts = JSON.parse(posts.frontmatter)
.filter(post =>
post.titulo.toLowerCase().includes(searchTerm)
);
let filteredPosts = JSON.parse(posts.frontmatter).filter((post) =>
post.titulo.toLowerCase().includes(searchTerm),
);
// Ordenar posts
filteredPosts.sort((a, b) => {
if (orderBy === 'fecha') {
if (orderBy === "fecha") {
const dateA = new Date(a.fecha);
const dateB = new Date(b.fecha);
return direction === 'asc' ? dateA - dateB : dateB - dateA;
return direction === "asc" ? dateA - dateB : dateB - dateA;
} else {
const comparison = a.titulo.localeCompare(b.titulo);
return direction === 'asc' ? comparison : -comparison;
return direction === "asc" ? comparison : -comparison;
}
});
// Actualizar DOM
postsContainer.innerHTML = filteredPosts
.map(post => post.element)
.join('');
.map((post) => post.element)
.join("");
}
searchInput.addEventListener('input', updatePosts);
orderSelect.addEventListener('change', updatePosts);
searchInput.addEventListener("input", updatePosts);
orderSelect.addEventListener("change", updatePosts);
</script>

View File

@@ -1,20 +1,39 @@
---
// src/layouts/PostLayout.astro
import RelatedPosts from "../components/PostsRelacionados.astro"; // Componente para posts relacionados
import Navbar from "../components/Navbar.astro";
import Footer from "../components/Footer.astro";
const { frontmatter } = Astro.props;
const headings = Astro.props.headings;
const description = frontmatter.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(frontmatter.title)}`;
const linkedinShareUrl = `https://www.linkedin.com/shareArticle?mini=true&url=${encodeURIComponent(shareUrl)}&title=${encodeURIComponent(frontmatter.title)}`;
const twitterShareUrl = `https://twitter.com/intent/tweet?url=${encodeURIComponent(shareUrl)}&text=${encodeURIComponent(frontmatter.titulo)}`;
const linkedinShareUrl = `https://www.linkedin.com/shareArticle?mini=true&url=${encodeURIComponent(shareUrl)}&title=${encodeURIComponent(frontmatter.titulo)}`;
const blogJsonLd = {
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": frontmatter.titulo,
"image": frontmatter.imagen && new URL(frontmatter.imagen, Astro.site),
"datePublished": frontmatter.fecha,
"dateModified": frontmatter.fecha,
"author": {
"@type": "Person",
"name": frontmatter.autor
},
"publisher": {
"@type": "Organization",
"name": "Ecobjetivos",
"logo": {
"@type": "ImageObject",
"url": new URL('/logo.png', Astro.site)
}
},
"description": description
};
---
<html lang="es">
@@ -24,81 +43,38 @@ const linkedinShareUrl = `https://www.linkedin.com/shareArticle?mini=true&url=${
<title>{frontmatter.titulo} - Ecobjetivos</title>
<link rel="icon" type="image/png" href="logo.png" />
<meta name="description" content={description} />
<link
rel="canonical"
href={new URL(Astro.url.pathname, Astro.site).toString()}
/>
<link rel="canonical" href={new URL(Astro.url.pathname, Astro.site).toString()} />
<!-- Open Graph / Facebook -->
<meta property="og:type" content="article" />
<meta property="og:url" content={Astro.url} />
<meta property="og:title" content={frontmatter.titulo} />
<meta property="og:description" content={description} />
<meta
property="og:image"
content={frontmatter.imagen &&
new URL(frontmatter.imagen, Astro.site)}
/>
<meta property="og:image" content={frontmatter.imagen && new URL(frontmatter.imagen, Astro.site)} />
<!-- Twitter -->
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:url" content={Astro.url} />
<meta property="twitter:title" content={frontmatter.titulo} />
<meta property="twitter:description" content={description} />
<meta
property="twitter:image"
content={frontmatter.imagen &&
new URL(frontmatter.imagen, Astro.site)}
/>
<meta property="twitter:image" content={frontmatter.imagen && new URL(frontmatter.imagen, Astro.site)} />
<!-- Google tag (gtag.js) -->
<script
async
src="https://www.googletagmanager.com/gtag/js?id=G-1JT18RF3R4"
></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-1JT18RF3R4"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag("js", new Date());
gtag("config", "G-1JT18RF3R4");
</script>
<!-- Structured Data for Google -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "${frontmatter.titulo}",
"image": "${frontmatter.imagen && new URL(frontmatter.imagen, Astro.site)}",
"datePublished": "${frontmatter.fecha}",
"dateModified": "${frontmatter.fecha}",
"author": {
"@type": "Person",
"name": "${frontmatter.autor}"
},
"publisher": {
"@type": "Organization",
"name": "Ecobjetivos",
"logo": {
"@type": "ImageObject",
"url": "${new URL('/logo.png', Astro.site)}"
}
},
"description": "${description}"
}
</script>
<script type="application/ld+json" set:html={JSON.stringify(blogJsonLd)} />
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css"
rel="stylesheet"
/>
<link
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"
rel="stylesheet"
/>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet" />
<style>
body {
font-family: "Arial", sans-serif;
@@ -106,7 +82,6 @@ const linkedinShareUrl = `https://www.linkedin.com/shareArticle?mini=true&url=${
color: #333;
}
.post-header {
margin-top: 60px;
background-color: #4caf50;
color: white;
padding: 2rem 0;
@@ -136,18 +111,15 @@ const linkedinShareUrl = `https://www.linkedin.com/shareArticle?mini=true&url=${
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
border: 1px solid #e9ecef;
}
.table-of-contents h4 {
color: #2c3e50;
border-bottom: 2px solid #4caf50;
font-size: 1.2rem;
}
.table-of-contents ul {
list-style-type: none;
padding-left: 0;
}
.table-of-contents a {
color: #495057;
text-decoration: none;
@@ -157,30 +129,17 @@ const linkedinShareUrl = `https://www.linkedin.com/shareArticle?mini=true&url=${
font-size: 0.9rem;
position: relative;
}
.table-of-contents a:hover {
color: #4caf50;
background-color: #e8f5e9;
padding-left: 0.6rem;
}
/* Estilos para la indentación visual */
.toc-level-2 {
padding-left: 1.1rem;
}
.toc-level-3 {
padding-left: 2.1rem;
}
.toc-level-4 {
padding-left: 3.1rem;
}
.toc-level-5 {
padding-left: 4.1rem;
}
.toc-level-6 {
padding-left: 5.1rem;
}
.toc-level-2 { padding-left: 1.1rem; }
.toc-level-3 { padding-left: 2.1rem; }
.toc-level-4 { padding-left: 3.1rem; }
.toc-level-5 { padding-left: 4.1rem; }
.toc-level-6 { padding-left: 5.1rem; }
/* Líneas verticales para la indentación */
.toc-level-2,
.toc-level-3,
@@ -190,13 +149,8 @@ const linkedinShareUrl = `https://www.linkedin.com/shareArticle?mini=true&url=${
border-left: 2px solid #e9ecef;
margin-left: 0.5rem;
}
html {
scroll-padding-top: 70px; /* Ajusta este valor según la altura de tu navbar */
}
img {
max-width: 100%;
height: auto;
}
html { scroll-padding-top: 70px; }
img { max-width: 100%; height: auto; }
</style>
</head>
<body>
@@ -211,30 +165,24 @@ const linkedinShareUrl = `https://www.linkedin.com/shareArticle?mini=true&url=${
<main class="container my-5">
<div class="row">
<div class="col-lg-8">
<article class="post-content">
<article class="post-content" data-bs-spy="scroll" data-bs-target="#toc" data-bs-offset="70" tabindex="0">
<slot />
</article>
</div>
<div class="col-lg-4">
<aside class="sticky-top" style="top: 2rem;">
<aside class="sticky-top" style="top: 5rem;">
<div class="d-none d-lg-block">
<div class="table-of-contents p-3 mb-4">
<!-- Se añade el id "toc" para ser usado por scrollspy -->
<div id="toc" class="table-of-contents p-3 mb-4">
<h4 class="mb-3 pb-2 fw-bold">Contenido</h4>
<ul class="m-0">
{
headings.map((heading) => (
<li
class={`mb-2 toc-level-${heading.depth}`}
>
<a
href={`#${heading.slug}`}
class="py-1 px-2"
>
{heading.text}
</a>
</li>
))
}
{headings.map((heading) => (
<li class={`mb-2 toc-level-${heading.depth}`}>
<a href={`#${heading.slug}`} class="py-1 px-2">
{heading.text}
</a>
</li>
))}
</ul>
</div>
</div>
@@ -242,15 +190,11 @@ const linkedinShareUrl = `https://www.linkedin.com/shareArticle?mini=true&url=${
<div class="card-body">
<p class="post-meta">
<i class="fas fa-calendar-alt"></i>
{
new Date(
frontmatter.fecha,
).toLocaleDateString("es-ES", {
year: "numeric",
month: "long",
day: "numeric",
})
}
{new Date(frontmatter.fecha).toLocaleDateString("es-ES", {
year: "numeric",
month: "long",
day: "numeric",
})}
&nbsp;|&nbsp;
<i class="fas fa-user"></i>
{frontmatter.autor}
@@ -265,22 +209,25 @@ const linkedinShareUrl = `https://www.linkedin.com/shareArticle?mini=true&url=${
target="_blank"
rel="noopener noreferrer"
class="btn btn-primary me-2"
><i class="fab fa-facebook-f fa-fw"></i></a
>
<i class="fab fa-facebook-f fa-fw"></i>
</a>
<a
href={twitterShareUrl}
target="_blank"
rel="noopener noreferrer"
class="btn btn-info me-2"
><i class="fab fa-twitter fa-fw"></i></a
>
<i class="fab fa-twitter fa-fw"></i>
</a>
<a
href={linkedinShareUrl}
target="_blank"
rel="noopener noreferrer"
class="btn btn-secondary"
><i class="fab fa-linkedin-in fa-fw"></i></a
>
<i class="fab fa-linkedin-in fa-fw"></i>
</a>
</div>
</div>
</aside>
@@ -292,9 +239,7 @@ const linkedinShareUrl = `https://www.linkedin.com/shareArticle?mini=true&url=${
<Footer />
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"
></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
</body>
</html>
@@ -302,14 +247,7 @@ const linkedinShareUrl = `https://www.linkedin.com/shareArticle?mini=true&url=${
@import url("https://fonts.googleapis.com/css2?family=Inter+Tight:ital@0;1&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Londrina+Sketch&display=swap");
h1,
h2,
h3,
h4,
h5,
h6,
p,
a {
h1, h2, h3, h4, h5, h6, p, a {
font-family: "Inter Tight", sans-serif !important;
font-optical-sizing: auto;
font-weight: 400 !important;

View File

@@ -0,0 +1,16 @@
---
import { getCollection, render } from 'astro:content';
// 1. Generate a new path for every collection entry
export async function getStaticPaths() {
const posts = await getCollection('posts');
return posts.map(post => ({
params: { id: post.id },
props: { post },
}));
}
// 2. For your template, you can get the entry directly from the prop
const { post } = Astro.props;
const { Content } = await render(post);
---
<h1>{post.data.titulo}</h1>
<Content />

View File

@@ -1,14 +1,14 @@
---
titulo: 'El Cambio Climático: Un Desafío Global que Requiere Acción Inmediata'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'Lucas Curiel'
fecha: '08/10/24'
fecha: '2024-11-26'
descripcion: 'Este post explica el cambio climático causado por la actividad humana, detallando sus principales causas como la quema de combustibles fósiles, la deforestación y el consumo excesivo. También ofrece soluciones para mitigar sus efectos, como el uso de energías renovables y prácticas sostenibles, invitando a actuar para un futuro más verde.'
imagen: 'https://www.nedgia.es/wp-content/uploads/2024/03/Cambio_climatico_v2.jpg'
hashtags: ['Alianzas Globales', 'Cooperación Internacional', 'Sostenibilidad', 'ODS17', 'Agenda 2030']
relacionados: ['ods13', 'contaminacion', 'retos ambientales']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
El cambio climático es, sin lugar a dudas, uno de los mayores retos a los que nos enfrentamos como sociedad. A lo largo de la historia de nuestro planeta, el clima ha sufrido importantes transformaciones debido a causas naturales. Sin embargo, el cambio climático actual presenta dos características fundamentales que lo hacen especialmente preocupante:

View File

@@ -1,14 +1,14 @@
---
titulo: 'La Contaminación Ambiental y su Impacto en el Desarrollo Sostenible'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'Lucas Curiel'
fecha: '08/10/24'
fecha: '2024-11-26'
descripcion: 'Explora las diferentes formas de contaminación, sus causas y consecuencias, y cómo afectan al medio ambiente y la salud humana. Descubre la importancia de adoptar prácticas sostenibles para un futuro más limpio y saludable.'
imagen: 'https://todoingenierias.com/wp-content/uploads/contaminacion-y-medio-ambiente.jpg'
hashtags: ['Alianzas Globales', 'Cooperación Internacional', 'Sostenibilidad', 'ODS17', 'Agenda 2030']
relacionados: ['ods14', 'ods15', 'cambio_climatico', 'retos ambientales']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"

View File

@@ -1,14 +1,14 @@
---
titulo: 'Deforestación y Erosión del Suelo'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'Lucas Curiel'
fecha: '08/10/24'
fecha: '2024-12-10'
descripcion: 'La deforestación y la erosión del suelo están destruyendo ecosistemas, reduciendo la fertilidad de la tierra y agravando el cambio climático. Descubre sus causas, consecuencias y cómo podemos actuar para proteger nuestro planeta.'
imagen: 'https://www.iberdrola.com/documents/20125/40576/reforestacion_746x419.jpg/7ffde25d-e3a2-3e75-ba3d-b6e543dd0e24?t=1627463867254'
hashtags: ['Alianzas Globales', 'Cooperación Internacional', 'Sostenibilidad', 'ODS17', 'Agenda 2030']
relacionados: ['explotacion de recursos', 'cambio_climatico']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
La **deforestación** y la **erosión del suelo** son dos problemas interconectados que representan un gran desafío para el desarrollo sostenible. Estos fenómenos no solo afectan la biodiversidad y la calidad del suelo, sino que también tienen implicaciones directas en el cambio climático y la calidad de vida humana.

View File

@@ -1,14 +1,14 @@
---
titulo: 'Sobreexplotación de Recursos Naturales: Un Desafío para la Sostenibilidad'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'Lucas Curiel'
fecha: '08/10/24'
fecha: '2024-12-10'
descripcion: 'El uso excesivo de los recursos naturales está llevando al planeta al límite. Descubre qué es la sobreexplotación, sus impactos en el medio ambiente y cómo podemos actuar para proteger nuestro futuro.'
imagen: 'https://www.shutterstock.com/image-vector/natural-resources-depletion-planet-reserves-600nw-2250107081.jpg'
hashtags: ['Alianzas Globales', 'Cooperación Internacional', 'Sostenibilidad', 'ODS17', 'Agenda 2030']
relacionados: ['deforestacion y erosion']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
El crecimiento de la población mundial, junto con un estilo de vida cada vez más consumista, está llevando a la **sobreexplotación de los recursos naturales**. Este fenómeno amenaza la sostenibilidad del planeta al agotar los elementos esenciales para la vida, como el agua, los bosques, los minerales y el suelo.

View File

@@ -1,14 +1,14 @@
---
titulo: 'ODS 1: Fin de la Pobreza'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'José Antonio Marín'
fecha: '10/29/24'
fecha: '2025-02-25'
descripcion: 'Este objetivo busca erradicar la pobreza extrema garantizando acceso a recursos básicos, oportunidades económicas y una vida digna para todos. Descubre en detalle el ODS 1 en el siguiente post:'
imagen: 'https://upload.wikimedia.org/wikipedia/commons/f/f1/Sustainable_Development_Goal-es-17.jpg'
hashtags: ['ODS1', 'Erradicación de la Pobreza', 'Desarrollo Sostenible', 'Igualdad de Derechos', 'Protección Social']
relacionados: ['ods2', 'ods10', 'stakeholders']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
## Introducción

View File

@@ -1,14 +1,14 @@
---
titulo: 'Unidos por la Igualdad: La Lucha hacia el ODS 10'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'Lucas Curiel'
fecha: '08/10/24'
fecha: '2025-02-18'
descripcion: 'En este post exploramos el Objetivo de Desarrollo Sostenible 10, que busca reducir las desigualdades en el mundo. A través de la promoción de oportunidades equitativas y la inclusión de todos los grupos sociales, buscamos crear un futuro más justo para todos. Descubre cómo cada uno de nosotros puede contribuir a esta causa, trabajando juntos para eliminar barreras y construir comunidades donde cada voz cuente. ¡Es momento de actuar y hacer una diferencia real en la vida de las personas!'
imagen: 'https://upload.wikimedia.org/wikipedia/commons/thumb/0/00/Sustainable_Development_Goal-es-08.jpg/320px-Sustainable_Development_Goal-es-08.jpg'
hashtags: ['Ciudades Sostenibles', 'Vivienda Asequible', 'Transporte Sostenible', 'Planificación Urbana', 'Resiliencia Urbana']
relacionados: ['ods1', 'stakeholders', 'post isr']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
<ImagenMD alt="infografia" src="https://focus2030.org/IMG/png/sdg_1.adults_poverty-4.png"/>

View File

@@ -1,14 +1,14 @@
---
titulo: 'Cómo Construir Ciudades Sostenibles: Claves del ODS 11 para un Futuro Mejor'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'Lucas Curiel'
fecha: '08/10/24'
fecha: '2025-02-18'
descripcion: 'Descubre cómo el Objetivo de Desarrollo Sostenible (ODS) 11 busca transformar nuestras ciudades en lugares más inclusivos, seguros y sostenibles. En este post exploramos las principales acciones que necesitamos para lograr un futuro urbano más verde, accesible y resiliente, desde la vivienda asequible hasta el transporte sostenible. ¡Todos podemos contribuir a hacer de nuestras ciudades un mejor lugar para vivir!'
imagen: 'https://upload.wikimedia.org/wikipedia/commons/thumb/d/d3/Sustainable_Development_Goal-es-07.jpg/320px-Sustainable_Development_Goal-es-07.jpg'
hashtags: ['Ciudades Sostenibles', 'Vivienda Asequible', 'Transporte Sostenible', 'Planificación Urbana', 'Resiliencia Urbana']
relacionados: ['ods13', 'ods12', 'retos ambientales', 'stakeholders']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
<ImagenMD alt="ciudad verde" src="https://www.ismedioambiente.com/wp-content/uploads/2020/09/ciudad-verde-china-1024x576.jpg"/>

View File

@@ -1,14 +1,14 @@
---
titulo: 'ODS 12: Producción y Consumo Responsables'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'Lucas Curiel'
fecha: '08/10/24'
fecha: '2025-02-18'
descripcion: 'Conoce cómo el ODS 12 promueve la producción y el consumo responsables a través de la gestión eficiente de recursos, la reducción de desechos y la implementación de prácticas sostenibles en todos los sectores. Descubre por qué la educación, la participación empresarial y la creación de políticas son esenciales para un futuro más verde.'
imagen: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/39/Sustainable_Development_Goal-es-06.jpg/320px-Sustainable_Development_Goal-es-06.jpg'
hashtags: ['Producción Responsable', 'Consumo Sostenible', 'Gestión de Recursos', 'Reducción de Desechos', 'Educación Ambiental']
relacionados: ['ods13', 'post isr', 'retos ambientales']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
## Deque trata el ODS 12

View File

@@ -1,14 +1,14 @@
---
titulo: 'ODS 13: Acciones Urgentes por el Clima'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'Lucas Curiel'
fecha: '08/10/24'
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!'
imagen: 'https://upload.wikimedia.org/wikipedia/commons/thumb/b/b1/Sustainable_Development_Goal-es-05.jpg/320px-Sustainable_Development_Goal-es-05.jpg'
hashtags: ['Cambio Climático', 'Energías Renovables', 'Resiliencia', 'Educación Ambiental', 'Cooperación Internacional', 'Protección de Ecosistemas']
relacionados: ['cambio_climatico', 'retos ambientales', 'contaminacion']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
## Introducción

View File

@@ -1,14 +1,14 @@
---
titulo: 'Protegiendo nuestros océanos: ODS 14'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'Lucas Curiel'
fecha: '08/10/24'
fecha: '2025-02-24'
descripcion: 'En este post, exploraremos la importacia del objetivo de desarrollo sostenible 14 que se centra en la conservación y uso sotenible de nuestros océanos y recuros marinos'
imagen: 'https://upload.wikimedia.org/wikipedia/commons/thumb/8/80/Sustainable_Development_Goal-es-04.jpg/320px-Sustainable_Development_Goal-es-04.jpg'
hashtags: ['Conservación Marina', 'Sostenibilidad', 'Cambio Climático', 'Biodiversidad', 'Pesca Sostenible']
relacionados: ['contaminacion', 'retos ambientales']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
## Introducción

View File

@@ -1,14 +1,14 @@
---
titulo: 'ODS 15: Protegiendo la Vida en los Ecosistemas Terrestres'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'Lucas Curiel'
fecha: '08/10/24'
fecha: '2025-02-24'
descripcion: 'Explora cómo el ODS 15 busca proteger los ecosistemas terrestres, promoviendo la conservación de la biodiversidad, el uso sostenible de los recursos y el combate a la desertificación. Descubre cómo cada uno de nosotros puede contribuir a preservar nuestro entorno natural para un futuro más sostenible.'
imagen: 'https://upload.wikimedia.org/wikipedia/commons/thumb/c/ca/Sustainable_Development_Goal-es-03.jpg/320px-Sustainable_Development_Goal-es-03.jpg'
hashtags: ['Ecosistemas', 'Biodiversidad', 'Conservación', 'Desertificación', 'Recursos Naturales']
relacionados: ['ods2', 'contaminacion']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"

View File

@@ -1,14 +1,14 @@
---
titulo: 'ODS 16: Construyendo un Futuro de Paz, Justicia y Transparencia Global'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'Lucas Curiel'
fecha: '08/10/24'
fecha: '2024-12-10'
descripcion: 'Explora cómo el ODS 16 busca construir sociedades pacíficas y justas mediante el acceso equitativo a la justicia, el fortalecimiento de instituciones inclusivas y el respeto por los derechos humanos. Descubre cómo podemos unirnos para crear un futuro más seguro y sostenible para todos.'
imagen: 'https://upload.wikimedia.org/wikipedia/commons/thumb/5/5e/Sustainable_Development_Goal-es-02.jpg/320px-Sustainable_Development_Goal-es-02.jpg'
hashtags: ['Paz', 'Justicia', 'Instituciones Inclusivas', 'Derechos Humanos', 'Participación Ciudadana']
relacionados: ['stakeholders', 'post aspectos asg']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"

View File

@@ -1,14 +1,14 @@
---
titulo: 'Construyendo Alianzas para un Futuro Sostenible: ODS 17'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'Lucas Curiel'
fecha: '08/10/24'
fecha: '2025-02-24'
descripcion: 'Descubre cómo el ODS 17 promueve alianzas globales para alcanzar los Objetivos de Desarrollo Sostenible. Conoce cómo la cooperación internacional en financiamiento, tecnología, capacidades, comercio y participación de la sociedad civil son claves para lograr un futuro más sostenible e inclusivo para todos.'
imagen: 'https://upload.wikimedia.org/wikipedia/commons/thumb/9/99/Sustainable_Development_Goal_17-es.png/320px-Sustainable_Development_Goal_17-es.png'
hashtags: ['Alianzas Globales', 'Cooperación Internacional', 'Sostenibilidad', 'ODS17', 'Agenda 2030']
relacionados: ['stakeholders', 'post isr']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
<ImagenMD alt="colaboracion global" src="https://img.freepik.com/fotos-premium/ilustracion-plana-sobre-colaboracion-global_818261-5770.jpg"/>
El **Objetivo de Desarrollo Sostenible 17** (ODS 17) se enfoca en fortalecer la cooperación y revitalizar la alianza mundial para el desarrollo sostenible. Esta alianza es crucial para alcanzar los otros 16 objetivos de la Agenda 2030, ya que la colaboración y el compromiso entre países, empresas y organizaciones son esenciales para el éxito de los ODS.

View File

@@ -1,14 +1,14 @@
---
titulo: 'ODS 2: Hambre Cero'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'José Antonio Marín'
fecha: '10/29/24'
fecha: '2024-11-26'
descripcion: 'Este objetivo busca erradicar la pobreza extrema garantizando acceso a recursos básicos, oportunidades económicas y una vida digna para todos. Descubre en detalle el ODS 2 en el siguiente post:'
imagen: 'https://upload.wikimedia.org/wikipedia/commons/8/80/Sustainable_Development_Goal-es-16.jpg'
hashtags: ['Hambre Cero', 'Seguridad Alimentaria', 'Nutricion', 'Agricultura Sostenible']
relacionados: ['ods12', 'ods15', 'retos ambientales']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
## Introducción

View File

@@ -1,13 +1,13 @@
---
titulo: 'ODS 3: Salud y Bienestar'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'José Antonio Marín'
fecha: '10/29/24'
fecha: '2024-11-26'
descripcion: 'Este objetivo busca mejorar la salud y la calidad de vida general de todos los seres humanos, involucrando una serie de políticas y de acciones tanto gubernamentales y civiles para lograr dicho objetivo. Descubre qué implica exactamente en este artículo:'
imagen: 'https://upload.wikimedia.org/wikipedia/commons/thumb/f/f1/Sustainable_Development_Goal-es-15.jpg/1024px-Sustainable_Development_Goal-es-15.jpg'
relacionados: ['contaminacion', 'cambio_climatico', 'retos ambientales']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
## Introducción

View File

@@ -1,13 +1,13 @@
---
titulo: 'ODS 4: Educación de Calidad'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'José Antonio Marín'
fecha: '10/29/24'
fecha: '2024-11-26'
descripcion: 'Este objetivo busca garantizar una educación inclusiva, equitativa y de calidad para todos los los ciudadanos del mundo a lo largo de sus vidas. Descubre qué es lo que implica en este post:'
imagen: 'https://upload.wikimedia.org/wikipedia/commons/thumb/7/74/Sustainable_Development_Goal-es-14.jpg/480px-Sustainable_Development_Goal-es-14.jpg'
relacionados: ['ods12', 'ods15', 'retos ambientales']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
## Introducción

View File

@@ -1,13 +1,13 @@
---
titulo: 'ODS 5: Igualdad de Género'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'José Antonio Marín'
fecha: '10/29/24'
fecha: '2024-11-26'
descripcion: 'Este objetivo busca empoderar a las mujeres y niñas con el objetivo de disminuir la desigualdad entre hombres y mujeres. Descubre qué es lo que implica en este post:'
imagen: 'https://upload.wikimedia.org/wikipedia/commons/thumb/c/c7/Sustainable_Development_Goal-es-13.jpg/480px-Sustainable_Development_Goal-es-13.jpg'
relacionados: ['ods4', 'ods10', 'stakeholders']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
## Introducción

View File

@@ -1,13 +1,13 @@
---
titulo: 'ODS 6: Agua Limpia y Saneamiento'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'José Antonio Marín'
fecha: '10/29/24'
fecha: '2024-11-26'
descripcion: 'Este objetivo busca garantizar el acceso universal al agua limpia y al saneamiento, promoviendo una gestión sostenible de los recursos hídricos. Descubre qué significa y qué acciones son necesarias para alcanzarlo en este post:'
imagen: 'https://upload.wikimedia.org/wikipedia/commons/c/ca/Sustainable_Development_Goal-es-12.jpg'
relacionados: ['ods14', 'ods15', 'retos ambientales', 'contaminacion']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
## Introducción

View File

@@ -1,13 +1,13 @@
---
titulo: 'ODS 7: Energía Asequible y No Contaminante'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'José Antonio Marín'
fecha: '10/29/24'
fecha: '2024-11-26'
descripcion: 'Este objetivo busca garantizar el acceso a energía asequible, fiable, sostenible y moderna para todos, promoviendo el uso de fuentes renovables y soluciones más limpias. Descubre qué significa y qué acciones son necesarias para alcanzarlo en este post:'
imagen: 'https://www.un.org/sustainabledevelopment/es/wp-content/uploads/sites/3/2018/07/S_SDG-goals_icons-individual-rgb-07.png'
relacionados: ['ods13', 'contaminacion', 'retos ambientales', 'ods12']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
## Introducción

View File

@@ -1,13 +1,13 @@
---
titulo: 'ODS 8: Trabajo Decente y Crecimiento Económico'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'José Antonio Marín'
fecha: '10/29/24'
fecha: '2024-12-09'
descripcion: 'Este objetivo busca garantizar una calidad laboral amplia, así como un crecimiento económico constante, sostenible y respetuoso con el planeta. Descubre qué significa y qué acciones son necesarias para alcanzarlo en este post:'
imagen: 'https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Sustainable_Development_Goal-es-10.jpg/1024px-Sustainable_Development_Goal-es-10.jpg'
relacionados: ['ods1', 'ods4', 'retos ambientales', 'ods12']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
## Introducción

View File

@@ -1,13 +1,13 @@
---
titulo: 'ODS 9: Industria, Innovación e Infraestructura'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'José Antonio Marín'
fecha: '10/29/24'
fecha: '2024-12-09'
descripcion: 'Este objetivo busca construir infraestructuras industriales resilientes, así como promover la industrialización inclusiva y sostenible, y fomentar la innovación. Descubre qué significa y qué acciones son necesarias para alcanzarlo en este post:'
imagen: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/31/Sustainable_Development_Goal-es-09.jpg/1024px-Sustainable_Development_Goal-es-09.jpg'
relacionados: ['ods8', 'ods6', 'ods11', 'ods17']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
## Introducción

View File

@@ -1,14 +1,14 @@
---
titulo: 'Pérdida de biodiversidad: Un reto para el desarrollo sostenible'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'Lucas Curiel'
fecha: '08/10/24'
fecha: '2024-11-26'
descripcion: 'La pérdida de biodiversidad es una amenaza creciente para los ecosistemas y el bienestar humano. En este post, exploramos sus principales causas, como la destrucción de hábitats y el cambio climático, y cómo afecta a la salud y al medio ambiente. Descubre por qué conservar la biodiversidad es clave para un futuro sostenible y qué podemos hacer al respecto.'
imagen: 'https://cdn.bitlysdowssl-aws.com/wp-content/uploads/2023/05/Captura-de-pantalla-2023-05-23-000607.png'
hashtags: ['Alianzas Globales', 'Cooperación Internacional', 'Sostenibilidad', 'ODS17', 'Agenda 2030']
relacionados: ['ods15', 'ods14', 'retos ambientales', 'contaminacion']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"

View File

@@ -1,14 +1,14 @@
---
titulo: 'Criterios ASG: La Guía Completa para Empresas Sostenibles y Responsables'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'Lucas Curiel'
fecha: '08/10/24'
fecha: '2024-11-26'
descripcion: 'Explora cómo los criterios ambientales dentro de los ASG (Ambientales, Sociales y de Gobernanza) están redefiniendo el impacto de las empresas en el planeta. Desde la reducción de emisiones y el uso sostenible del agua, hasta la protección de la biodiversidad y la gestión de residuos, los criterios ambientales ayudan a evaluar cómo las empresas contribuyen a un mundo más limpio y sostenible. Descubre cómo estos factores guían las decisiones de inversión responsable y apoyan la transición hacia una economía verde.'
imagen: 'https://aga.es/wp-content/uploads/2023/05/ASG_WEB-1.jpg'
hashtags: ['Ciudades Sostenibles', 'Vivienda Asequible', 'Transporte Sostenible', 'Planificación Urbana', 'Resiliencia Urbana']
relacionados: ['ods12', 'stakeholders']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
# Aspectos Ambientales, Sociales y de Gobernanza (ASG)

View File

@@ -1,14 +1,14 @@
---
titulo: 'Inversiones Socialmente Responsables (ISR): Finanzas para un Futuro Sostenible'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'Lucas Curiel'
fecha: '08/10/24'
fecha: '2024-12-10'
descripcion: 'Las inversiones socialmente responsables (ISR) combinan rentabilidad y sostenibilidad, incorporando criterios ambientales, sociales y de gobernanza (ASG) para generar un impacto positivo en el planeta y la sociedad.'
imagen: 'https://www.fhlconsulting.com/sites/default/files/2019-02/ISO%20%285%29.png'
hashtags: ['Ciudades Sostenibles', 'Vivienda Asequible', 'Transporte Sostenible', 'Planificación Urbana', 'Resiliencia Urbana']
relacionados: ['ods12', 'ods17']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
# Inversiones Socialmente Responsables (ISR)

View File

@@ -1,14 +1,14 @@
---
titulo: 'Retos Ambientales: Enfrentando los Desafíos del Futuro'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'Lucas Curiel'
fecha: '08/10/24'
fecha: '2024-11-26'
descripcion: 'El planeta enfrenta amenazas urgentes como el cambio climático, la escasez de agua, la contaminación y la pérdida de biodiversidad. Estos problemas están conectados y afectan nuestro presente y futuro. Para garantizar un mundo habitable para las próximas generaciones, debemos actuar ahora: reducir, reutilizar, conservar recursos y optar por energías limpias. El cambio empieza con nuestras decisiones diarias. ¡El futuro está en nuestras manos!'
imagen: 'https://datos.gob.es/sites/default/files/styles/blog_image/public/blog/image/retos_medio_ambiente_open_data_0.jpg?itok=bA5rXDLZ'
hashtags: ['Alianzas Globales', 'Cooperación Internacional', 'Sostenibilidad', 'ODS17', 'Agenda 2030']
relacionados: ['contaminacion', 'cambio_climatico', 'ods13']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
Hoy en día, el panorama medioambiental es cada vez más preocupante. Científicos, gobiernos, organizaciones y ciudadanos de todo el mundo comparten una creciente inquietud por el futuro de nuestro planeta. Los retos que enfrentamos hoy condicionan no solo el presente, sino también el bienestar de las generaciones venideras. Es urgente que tomemos acción para mitigar los efectos de los problemas medioambientales que, de no abordarse de forma integral, podrían tener consecuencias irreversibles.

View File

@@ -1,14 +1,14 @@
---
titulo: 'El Rol de los Stakeholders y los Criterios ASG en el Desarrollo Sostenible Empresarial'
layout: '../../layouts/PostStyle.astro'
layout: '../layouts/PostStyle.astro'
autor: 'Lucas Curiel'
fecha: '08/10/24'
fecha: '2024-12-10'
descripcion: 'Las empresas deben considerar su impacto en el ambiente, la sociedad y la gobernanza (ASG) para un desarrollo sostenible. Este artículo explora los grupos de interés clave empleados, clientes, comunidades y más y su influencia en las decisiones empresariales, destacando la importancia de alinear los objetivos corporativos con prácticas responsables y sostenibles.'
imagen: 'https://www.foromarketing.com/wp-content/uploads/Stakeholders.png'
hashtags: ['Ciudades Sostenibles', 'Vivienda Asequible', 'Transporte Sostenible', 'Planificación Urbana', 'Resiliencia Urbana']
relacionados: ['ods17', 'post aspectos asg', 'ods10']
---
import ImagenMD from "../../components/ImagenMD.astro"
import ImagenMD from "../components/ImagenMD.astro"
# Stakeholders y Criterios ASG en las Organizaciones