Compare commits

...

42 Commits

Author SHA1 Message Date
e1c6cf61cb Arreglo posts horizontales 2025-03-25 09:47:24 +01:00
c16fd89953 Actualización de librerias 2025-03-25 09:45:11 +01:00
3c473f1968 Remove unused Image import and format indentation 2025-03-13 08:54:01 +01:00
6ecd7a18fb Inicio de desarrollo de la rama 2025-03-11 10:37:59 +01:00
36a7d16d2b Arreglo url 2025-03-11 09:27:28 +01:00
c16f3f719d cambio en las referencias a los post 2025-03-11 09:21:57 +01:00
553bcee444 cambio de titulo 2025-03-11 09:01:16 +01:00
caa5958b28 Nuevo proyecto: Podcast 2025-03-10 21:13:34 +01:00
c4f00f8725 Nueva sección de proyectos 2025-03-10 21:13:21 +01:00
1e6e23d62a Optimización de importaciones de Bootstrap 2025-03-10 21:12:49 +01:00
7e0d6d5a50 Optimización del código 2025-03-10 21:12:02 +01:00
4e8d2a379c Formulario de contacto 2025-03-10 21:11:21 +01:00
a05967d8ec teminados los post sobre las distintas economias 2025-03-09 23:22:10 +01:00
769f519dae movimiento 2025-03-06 20:05:54 +01:00
74e54bffec Merge branch 'main' of https://git.h4ckdata.es/h4ckx0r/webSostenible 2025-03-06 20:05:03 +01:00
f1d26440f3 economia verde 2025-03-06 20:05:00 +01:00
ff1f0352a3 Nueva página en desarrollo hablando sobre el podcast 2025-03-05 23:31:06 +01:00
66f357cc5a cambio de fecha en el footer 2025-03-05 23:30:37 +01:00
a178e8e885 Upload actualizado 2025-03-04 09:38:02 +01:00
22a4c9460c Merge branch 'main' of https://git.h4ckdata.es/h4ckx0r/webSostenible 2025-03-04 09:34:48 +01:00
794e0fcc68 arreglo 2 skateholders 2025-03-04 09:34:45 +01:00
32c0ece1f4 arreglo 1 skateholders 2025-03-04 09:32:43 +01:00
0d590c2b4c PostStyle Quitado de Economia Circular 2025-03-04 09:30:18 +01:00
cfa2c402c8 Merge branch 'main' of https://git.h4ckdata.es/h4ckx0r/webSostenible 2025-03-04 09:29:45 +01:00
4aaf460e7a PostStyle quitado de todos los posts 2025-03-04 09:29:44 +01:00
95e9926765 Merge branch 'main' of https://git.h4ckdata.es/h4ckx0r/webSostenible 2025-03-04 09:28:16 +01:00
a5f7365c8c añadido post economia circular 2025-03-04 09:28:12 +01:00
26243ccc69 Arreglo del import en los posts 2025-03-04 09:27:23 +01:00
694e642cf4 revert b314b3e3a4
revert Cambio host imágenes ODS1 a ODS10
2025-03-04 09:10:41 +01:00
2efce4ddff Merge branch 'main' of https://git.h4ckdata.es/h4ckx0r/webSostenible 2025-03-04 09:08:13 +01:00
96bee13c06 Merge branch 'main' of https://git.h4ckdata.es/h4ckx0r/webSostenible 2025-03-04 09:08:11 +01:00
a41b32ec77 Merge branch 'main' of https://git.h4ckdata.es/h4ckx0r/webSostenible 2025-03-04 09:07:44 +01:00
c52601c1dd movimiento 2025-03-04 09:07:39 +01:00
b314b3e3a4 Cambio host imágenes ODS1 a ODS10 2025-03-04 09:06:21 +01:00
599ec9c92f Eliminación del postStyle de los posts 2025-03-04 09:06:14 +01:00
95a5b841ef Merge branch 'main' of https://git.h4ckdata.es/h4ckx0r/webSostenible 2025-03-01 11:55:29 +01:00
8c3324f65f ods 13y 16 y añaddido post sobre la economia lineal 2025-03-01 11:55:22 +01:00
8e8b7cad1d 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 2025-02-25 11:05:22 +01:00
94019bd963 cuadro ods 1 2025-02-25 09:34:31 +01:00
73c4205b7d cuadro ods 14 15 17 2025-02-23 12:52:34 +01:00
30add0f620 Merge branch 'main' of https://git.h4ckdata.es/h4ckx0r/webSostenible 2025-02-18 09:35:41 +01:00
eead6a5f49 añadido cuadro del ODS 10,11,12 2025-02-18 09:35:36 +01:00
49 changed files with 3325 additions and 2442 deletions

View File

@@ -1,44 +1,10 @@
name: Verificar versión, Compilar y Desplegar
name: Compilar y Desplegar
on:
push:
branches:
- main
paths:
- 'package.json'
workflow_dispatch:
jobs:
check-version:
runs-on: ubuntu-latest
outputs:
version_changed: ${{ steps.compare_versions.outputs.version_changed }}
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Obtener versión del package.json
run: |
git show HEAD:package.json > current_package.json
git show HEAD~1:package.json > previous_package.json
- name: Comparar versiones del proyecto
id: compare_versions
run: |
current_version=$(jq -r .version current_package.json)
previous_version=$(jq -r .version previous_package.json)
if [ "$current_version" != "$previous_version" ]; then
echo "Versión cambiada de $previous_version a $current_version"
echo "version_changed=true" >> $GITHUB_OUTPUT
else
echo "La versión no ha cambiado"
echo "version_changed=false" >> $GITHUB_OUTPUT
fi
build:
needs: check-version
if: needs.check-version.outputs.version_changed == 'true'
runs-on: ubuntu-latest
steps:
- name: Checkout code
@@ -62,8 +28,7 @@ jobs:
path: dist
deploy:
needs: [check-version, build]
if: needs.check-version.outputs.version_changed == 'true'
needs: build
runs-on: ubuntu-latest
steps:
- name: Descargar build

View File

@@ -1,12 +1,14 @@
import { defineConfig } from 'astro/config';
import mdx from '@astrojs/mdx';
import sitemap from '@astrojs/sitemap';
import tailwindcss from "@tailwindcss/vite";
// https://astro.build/config
export default defineConfig({
// Enable Svelte to support Svelte components.
integrations: [mdx(), sitemap()],
site: "https://ecobjetivos.h4ckdata.es"
site: "https://ecobjetivos.h4ckdata.es",
vite: {
plugins: [tailwindcss()],
},
});

3287
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -11,8 +11,12 @@
"astro": "astro"
},
"dependencies": {
"@astrojs/mdx": "^3.1.9",
"@astrojs/sitemap": "^3.2.1",
"astro": "^4.16.10"
"@astrojs/mdx": "^4.2.1",
"@astrojs/sitemap": "^3.3.0",
"@tailwindcss/vite": "^4.0.12",
"astro": "^5.5.4"
},
"devDependencies": {
"daisyui": "^5.0.0"
}
}

BIN
public/imgs/logoPodcast.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 KiB

Binary file not shown.

View File

@@ -1,26 +1,27 @@
<footer class="bg-dark text-white py-4">
<div class="container">
<div class="row">
<div class="col-md-6 text-center text-md-start">
<p>
&copy; 2024 Ecobjetivos. Todos los derechos
&copy; 2025 Ecobjetivos. Todos los derechos
reservados.
</p>
</div>
<div class="col-md-6 text-center text-md-end">
<a href="#" class="text-white me-2"
><i class="fab fa-facebook-f"></i></a
>
<a href="#" class="text-white me-2"
><i class="fab fa-twitter"></i></a
>
<a href="#" class="text-white me-2"
><i class="fab fa-instagram"></i></a
>
<a href="#" class="text-white"
><i class="fab fa-linkedin-in"></i></a
>
<a href="#" class="text-white me-2 text-decoration-none">
<i class="fab fa-facebook-f"></i>
</a>
<a href="#" class="text-white me-2 text-decoration-none">
<i class="fab fa-twitter"></i>
</a>
<a href="#" class="text-white me-2 text-decoration-none">
<i class="fab fa-instagram"></i>
</a>
<a href="#" class="text-white me-2 text-decoration-none">
<i class="fab fa-linkedin-in"></i>
</a>
|
<a href="/contacto" class="text-light ms-2 text-decoration-none">Contacto</a>
</div>
</div>
</div>

View File

@@ -1,21 +1,36 @@
---
const posts = await Astro.glob("../pages/posts/*.mdx");
import { getCollection } from "astro:content";
const posts = await getCollection("posts");
// Selecciona 3 posts aleatorios
const selectedPosts = posts.sort(() => Math.random() - 0.5).slice(0, 3);
---
<div class="row">
<div class="flex flex-wrap justify-center -mx-2">
{
posts.slice(0, 3).map((post) => (
<div class="col-md-4 mb-4 animate-on-scroll">
<div class="card h-100">
<div class="card-body d-flex flex-column">
<h5 class="card-title">
{post.frontmatter.titulo}
selectedPosts.map((post) => (
<div class="w-full md:w-1/3 p-2 mb-4 animate-on-scroll">
<div class="card relative overflow-hidden bg-gradient-to-b from-neutral/80 to-neutral/90 dark:from-base-100/80 dark:to-base-100/90 shadow-lg h-full">
<div class="absolute inset-0 z-0">
<div class="aspect-[16/9] overflow-hidden">
<img
src={post.data.imagen}
class="w-full h-full object-cover opacity-40 dark:opacity-50"
alt={post.data.titulo}
/>
</div>
<div class="absolute inset-0 bg-black/40 dark:bg-black/30"></div>
</div>
<div class="relative z-10 flex flex-col p-6 h-full">
<h5 class="text-xl font-bold mb-3 text-white dark:text-base-content">
{post.data.titulo}
</h5>
<p class="card-text post-content flex-grow-1">
{post.frontmatter.descripcion}
<p class="text-base mb-4 text-white/90 dark:text-base-content/80 line-clamp-3">
{post.data.descripcion}
</p>
<a href={post.url} class="btn btn-success mt-auto">
Ver detalles
<a
href={"/posts/" + post.id}
class="btn btn-primary w-full mt-auto"
>
Leer post
</a>
</div>
</div>
@@ -23,28 +38,20 @@ const posts = await Astro.glob("../pages/posts/*.mdx");
))
}
</div>
<style>
.post-content {
display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden;
-webkit-line-clamp: 4; /* Limita a 4 líneas */
line-height: 1.5; /* Ajusta según el diseño */
max-height: calc(1.5em * 4); /* Calcula la altura máxima */
}
.card {
transition: transform 0.3s ease, box-shadow 0.3s ease;
background: #ffffff;
display: flex;
flex-direction: column;
height: 100%;
transition:
transform 0.3s ease,
box-shadow 0.3s ease;
}
.card:hover {
transform: translateY(-5px);
box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
box-shadow: 0 0 1rem rgba(0, 0, 0, 0.15) !important;
}
.btn-success {
transition: transform 0.3s ease;
.line-clamp-3 {
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
</style>

View File

@@ -1,48 +1,42 @@
---
import { Image } from "astro:assets";
const { home, posts, proyectos } = Astro.props;
import "../styles/global.css";
---
<nav class="navbar navbar-expand-lg navbar-light bg-light fixed-top">
<div class="container">
<a class="navbar-brand d-flex align-items-center" href={home ? home : "/"}>
<Image
src="/logo.png"
alt="Logo Ecobjetivos"
class="me-2 biglogo"
height="25"
width="25"
/>
&nbsp Ecobjetivos
<head>
<meta charset="utf-8" />
</head>
<main>
<nav class="navbar bg-base-100 fixed top-0 z-50 shadow-lg">
<div class="navbar-start">
<a class="btn btn-ghost normal-case text-xl" href={home ? home : "/"}>
<Image src="/logo.png" alt="Logo Ecobjetivos" class="mr-2" height="25" width="25" />
Ecobjetivos
</a>
<button
class="navbar-toggler"
type="button"
data-bs-toggle="collapse"
data-bs-target="#navbarNav"
aria-controls="navbarNav"
aria-expanded="false"
aria-label="Toggle navigation"
>
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item">
<a type="button" class="nav-link btn btn-light" href={posts ? posts : "/posts"}>Posts</a>
</li>
<li class="nav-item">
<a type="button" class="nav-link btn btn-light disabled" href={proyectos ? proyectos : "#proyectos"}
>Proyectos</a
>
</li>
</div>
<div class="navbar-end">
<!-- Mobile Dropdown -->
<div class="dropdown lg:hidden">
<label tabindex="0" class="btn btn-ghost">
<svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
</svg>
</label>
<ul tabindex="0" class="menu menu-compact dropdown-content mt-3 p-2 shadow bg-base-100 rounded-box w-52">
<li><a href={posts ? posts : '/posts'}>Posts</a></li>
<li><a href={proyectos ? proyectos : '/proyectos'}>Proyectos</a></li>
</ul>
</div>
<!-- Desktop Menu -->
<div class="hidden lg:flex">
<ul class="menu menu-horizontal p-0">
<li><a href={posts ? posts : '/posts'} class="hover:scale-105 transition-transform">Posts</a></li>
<li><a href={proyectos ? proyectos : '/proyectos'} class="hover:scale-105 transition-transform">Proyectos</a></li>
</ul>
</div>
</div>
</nav>
<style>
.biglogo {
scale: 1.5;
}
</style>
</main>

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>

125
src/pages/contacto.astro Normal file
View File

@@ -0,0 +1,125 @@
---
import Footer from "../components/Footer.astro";
import Navbar from "../components/Navbar.astro";
const animateOnScroll = `
document.addEventListener('DOMContentLoaded', () => {
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('animate__animated', 'animate__fadeIn');
entry.target.style.visibility = 'visible';
}
});
});
document.querySelectorAll('.animate-on-scroll').forEach(el => {
observer.observe(el);
});
});
`;
---
<html lang="es">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="generator" content={Astro.generator} />
<link rel="sitemap" href="/sitemap-index.xml" />
<meta
name="description"
content="Contacta con nosotros para cualquier duda sobre sostenibilidad y los Objetivos de Desarrollo Sostenible (ODS)."
/>
<link rel="icon" type="image/png" href="logo.png" />
<link
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"
rel="stylesheet"
/>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"
/>
<title>Contacto | Ecobjetivos</title>
</head>
<body>
<div class="page-container">
<Navbar />
<main class="container py-5">
<h1 class="text-center mt-4 mb-5 animate__animated animate__fadeInDown">Contacta con Nosotros</h1>
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card shadow-lg animate-on-scroll">
<div class="card-body p-5">
<div class="row mb-4 justify-content-center">
<div class="col-md-6 mb-4 mb-md-0">
<div class="text-center">
<i class="fas fa-envelope fa-3x text-primary mb-3"></i>
<h3>Email</h3>
<p>Escríbenos a:</p>
<a href="mailto:ecobjetivos@h4ckdata.es" class="btn btn-primary">
ecobjetivos@h4ckdata.es
</a>
</div>
</div>
<!-- <div class="col-md-6">
<div class="text-center">
<i class="fab fa-discord fa-3x text-primary mb-3"></i>
<h3>Discord</h3>
<p>Únete a nuestra comunidad:</p>
<a href="https://discord.gg/tuenlace" class="btn btn-primary">
Servidor de Discord
</a>
</div>
</div> -->
</div>
<!--
<hr class="my-5" />
<form class="animate-on-scroll">
<h3 class="text-center mb-4">O envíanos un mensaje directamente</h3>
<div class="mb-3">
<label for="nombre" class="form-label">Nombre</label>
<input type="text" class="form-control" id="nombre" required />
</div>
<div class="mb-3">
<label for="email" class="form-label">Email</label>
<input type="email" class="form-control" id="email" required />
</div>
<div class="mb-3">
<label for="asunto" class="form-label">Asunto</label>
<input type="text" class="form-control" id="asunto" required />
</div>
<div class="mb-3">
<label for="mensaje" class="form-label">Mensaje</label>
<textarea class="form-control" id="mensaje" rows="5" required></textarea>
</div>
<div class="text-center">
<button type="submit" class="btn btn-primary btn-lg">Enviar Mensaje</button>
</div>
</form> -->
</div>
</div>
</div>
</div>
</main>
<Footer/>
</div>
<script set:html={animateOnScroll} />
</body>
</html>
<style>
.page-container {
min-height: 100vh;
display: flex;
flex-direction: column;
}
main {
flex: 1;
}
</style>

View File

@@ -4,6 +4,7 @@ import Footer from "../components/Footer.astro";
import ListadoPostsHorizontal from "../components/ListadoPostsHorizontal.astro";
import Navbar from "../components/Navbar.astro";
import { Image } from "astro:assets";
import { proyectos } from "../pages/proyectos/index.astro";
const animateOnScroll = `
document.addEventListener('DOMContentLoaded', () => {
@@ -30,8 +31,14 @@ const animateOnScroll = `
<meta name="generator" content={Astro.generator} />
<link rel="sitemap" href="/sitemap-index.xml" />
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-1JT18RF3R4"></script>
<meta name="google-site-verification" content="aI_AQpT-EgmaU7QL0oOm4UJ4YbwJ5SBcp2rE30le7nk" />
<script
async
src="https://www.googletagmanager.com/gtag/js?id=G-1JT18RF3R4"
></script>
<meta
name="google-site-verification"
content="aI_AQpT-EgmaU7QL0oOm4UJ4YbwJ5SBcp2rE30le7nk"
/>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
@@ -40,68 +47,131 @@ const animateOnScroll = `
gtag("js", new Date());
gtag("config", "G-1JT18RF3R4");
</script>
<meta name="description" content="Tu fuente de información sobre sostenibilidad y los Objetivos de Desarrollo Sostenible (ODS). Descubre cómo contribuir a un futuro más sostenible." />
<meta
name="description"
content="Tu fuente de información sobre sostenibilidad y los Objetivos de Desarrollo Sostenible (ODS). Descubre cómo contribuir a un futuro más sostenible."
/>
<link rel="icon" type="image/png" href="logo.png" />
<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" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css" />
<link
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"
rel="stylesheet"
/>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"
/>
<title>Ecobjetivos | Tu web de desarrollo Sostenible</title>
</head>
<body>
<Navbar />
<header class="header-bg text-white">
<img src={"/imgs/bosqueverde.png"} alt="Bosque Verde" class="video-bg" />
<video autoplay muted loop class="video-bg">
<header
class="bg-primary text-white min-h-screen flex items-center relative overflow-hidden"
>
<img
src="/imgs/bosqueverde.png"
alt="Bosque Verde"
class="absolute inset-0 w-full h-full object-cover"
/>
<video
autoplay
muted
loop
class="absolute inset-0 w-full h-full object-cover"
>
<source src="/imgs/bosqueverde.mp4" type="video/mp4" />
Tu navegador no soporta la reproducción de videos.
</video>
<div class="container text-center">
<h1 class="display-1 mb-4 animate__animated animate__fadeInDown londrina-sketch-regular">
<div class="container mx-auto text-center relative z-10">
<h1 class="text-6xl mb-4 font-bold font-londrina">
Ecobjetivos: Sostenibilidad y Desarrollo
</h1>
<p class="lead mb-5 animate__animated animate__fadeInUp animate__delay-1s">
<p class="text-xl mb-5">
Construyendo juntos un futuro más verde y equitativo
</p>
<a href="#intro" class="btn btn-lg btn-outline-light animate__animated animate__zoomIn animate__delay-2s">Descubre más</a>
<a href="#intro" class="btn btn-outline btn-lg">
Descubre más
</a>
</div>
</header>
<main>
<section id="intro" class="py-5 bg-light">
<div class="container">
<div class="row align-items-center">
<div class="col-md-6 animate-on-scroll">
<h2 class="display-4 mb-4">¿Qué son los ODS?</h2>
<p class="lead">
Los Objetivos de Desarrollo Sostenible (ODS) son un llamado universal a la acción para erradicar la pobreza, proteger el planeta y garantizar que todas las personas gocen de paz y prosperidad para 2030. Estos objetivos buscan promover un desarrollo que asegure la sostenibilidad de nuestros recursos y ecosistemas para las futuras generaciones.
<section id="intro" class="py-10">
<div class="container mx-auto px-4">
<div class="flex flex-wrap items-center">
<div class="w-full md:w-1/2 mb-4 md:mb-0">
<h2 class="text-4xl mb-4 font-bold">
¿Qué son los ODS?
</h2>
<p class="text-lg">
Los Objetivos de Desarrollo Sostenible (ODS) son
un llamado universal a la acción para erradicar
la pobreza, proteger el planeta y garantizar que
todas las personas gocen de paz y prosperidad
para 2030. Estos objetivos buscan promover un
desarrollo que asegure la sostenibilidad de
nuestros recursos y ecosistemas para las futuras
generaciones.
</p>
</div>
<div class="col-md-6 animate-on-scroll">
<div class="text-white p-5 text-center">
<Image src="/imgs/17Objetivos.png" alt="Los 17 Objetivos de Desarrollo Sostenible de la ONU" class="img-thumbnail .img-fluid" width="730" height="450" />
<div class="w-full md:w-1/2">
<div class="p-5 text-center">
<Image
src="/imgs/17Objetivos.png"
alt="Los 17 Objetivos de Desarrollo Sostenible de la ONU"
class="rounded shadow-lg mx-auto"
width="730"
height="450"
/>
</div>
</div>
</div>
</div>
</section>
<section id="objetivos" class="py-5">
<div class="container">
<h2 class="text-center mb-5 animate-on-scroll">Nuestros Objetivos Principales</h2>
<div class="row">
<section id="objetivos" class="py-10 bg-base-300">
<div class="container mx-auto px-4">
<h2 class="text-center mb-5 text-3xl font-bold">
Nuestros Objetivos Principales
</h2>
<div class="flex flex-wrap -mx-2">
{
[
{ icon: "fa-chalkboard-teacher", title: "Educación en ODS", description: "Enseñar a la comunidad formas de vida sostenibles que cumplan con los Objetivos de Desarrollo Sostenible." },
{ icon: "fa-lightbulb", title: "Concienciación Energética", description: "Promover el uso eficiente de la energía en el hogar y el trabajo." },
{ icon: "fa-handshake", title: "Colaboración Comunitaria", description: "Fomentar la colaboración con organizaciones locales para proyectos sostenibles." },
{ icon: "fa-recycle", title: "Promoción del Reciclaje", description: "Incentivar la separación de residuos y el reciclaje en la comunidad para reducir el impacto ambiental." }
{
icon: "fa-chalkboard-teacher",
title: "Educación en ODS",
description:
"Enseñar a la comunidad formas de vida sostenibles que cumplan con los Objetivos de Desarrollo Sostenible.",
},
{
icon: "fa-lightbulb",
title: "Concienciación Energética",
description:
"Promover el uso eficiente de la energía en el hogar y el trabajo.",
},
{
icon: "fa-handshake",
title: "Colaboración Comunitaria",
description:
"Fomentar la colaboración con organizaciones locales para proyectos sostenibles.",
},
{
icon: "fa-recycle",
title: "Promoción del Reciclaje",
description:
"Incentivar la separación de residuos y el reciclaje en la comunidad para reducir el impacto ambiental.",
},
].map((obj, index) => (
<div class="col-md-6 col-lg-3 mb-4 animate-on-scroll">
<div class="card h-100 text-center">
<div class="w-full md:w-1/2 lg:w-1/4 p-2 mb-4">
<div class="card bg-base-100 shadow-lg text-center h-full p-4">
<div class="card-body">
<i class={`fa-solid ${obj.icon} fa-3x mb-3 text-primary`} />
<h5 class="card-title">{obj.title}</h5>
<p class="card-text">{obj.description}</p>
<i
class={`fa-solid ${obj.icon} text-3xl mb-3 text-primary`}
/>
<h5 class="text-xl font-semibold mb-2">
{obj.title}
</h5>
<p class="text-base">
{obj.description}
</p>
</div>
</div>
</div>
@@ -111,48 +181,61 @@ const animateOnScroll = `
</div>
</section>
<section id="impact" class="py-5 bg-success text-white">
<div class="container">
<h2 class="text-center mb-5 animate-on-scroll">Nuestro Impacto</h2>
<div class="row justify-content-center text-center">
<section id="impact" class="py-10 bg-success text-success-content">
<div class="container mx-auto px-4">
<h2 class="text-center mb-5 text-3xl font-bold">
Nuestro Impacto
</h2>
<div class="flex flex-wrap justify-center text-center">
{
[
{ number: "500+", description: "Personas a las que hemos concienciado." },
{ number: "5+", description: "Proyectos creados para fomentar la sostenibilidad." }
{
number: "1k+",
description:
"Personas a las que hemos concienciado.",
},
{
number: "5+",
description:
"Proyectos creados para fomentar la sostenibilidad.",
},
].map((impact, index) => (
<div class="col-md-3 mb-4 animate-on-scroll">
<h3 class="display-4 fw-bold">{impact.number}</h3>
<p class="lead">{impact.description}</p>
<div class="w-full md:w-1/3 lg:w-1/4 p-2 mb-4">
<h3 class="text-5xl font-bold mb-2">
{impact.number}
</h3>
<p class="text-lg">{impact.description}</p>
</div>
))
}
</div>
</div>
</section>
<section id="posts" class="py-5 bg-light">
<div class="container">
<h2 class="text-center mb-5 animate-on-scroll pt-1">Posts Recientes</h2>
<section id="posts" class="py-10 bg-base-100">
<div class="container mx-auto px-4">
<h2 class="text-center mb-5 text-3xl font-bold pt-1">Posts Destacados</h2>
<ListadoPostsHorizontal />
</div>
</section>
<section id="proyectos" class="py-5">
<div class="container">
<h2 class="text-center mb-5 animate-on-scroll pt-2">Nuestros Proyectos</h2>
<div class="row">
<section id="proyectos" class="py-10">
<div class="container mx-auto px-4">
<h2 class="text-center mb-5 text-3xl font-bold pt-2">Proyectos Destacados</h2>
<div class="flex flex-wrap justify-center -mx-2">
{
[
{ title: "Proyecto Verde", description: "Iniciativa para reforestar áreas urbanas y rurales." },
{ title: "Educación para Todos", description: "Programa de educación inclusiva en comunidades desfavorecidas." },
{ title: "Energía Limpia", description: "Desarrollo de tecnologías para energías renovables." },
{ title: "Agua Limpia", description: "Proyectos para mejorar el acceso al agua potable." }
].map((project, index) => (
<div class="col-md-6 mb-4 animate-on-scroll">
<div class="card">
<div class="card-body">
<h5 class="card-title" aria-label="Proyecto">{project.title}</h5>
<p class="card-text">{project.description}</p>
<a href="#" class="btn disabled btn-success">Ver detalles</a>
proyectos.map((project) => (
<div class="w-full md:w-1/2 p-2 mb-4">
<div class="card bg-base-100 shadow-lg h-full">
<div class="flex flex-wrap">
<div class="w-full md:w-1/3">
<img src={project.imagen} class="w-full h-auto rounded-l" alt={project.titulo} />
</div>
<div class="w-full md:w-2/3">
<div class="card-body flex flex-col h-full p-4">
<h5 class="text-xl font-semibold mb-2" aria-label=\"Proyecto\">{project.titulo}</h5>
<p class="text-base flex-grow line-clamp">{project.descripcion}</p>
<a href={project.url} class="btn btn-primary mt-auto">Ver detalles</a>
</div>
</div>
</div>
</div>
</div>
@@ -161,19 +244,17 @@ const animateOnScroll = `
</div>
</div>
</section>
<section id="cta" class="py-5 bg-primary text-white text-center">
<div class="container">
<h2 class="display-4 mb-4 animate-on-scroll">¡Únete al Cambio!</h2>
<p class="lead mb-5 animate-on-scroll">Juntos podemos crear un impacto duradero. Descubre cómo puedes contribuir a los ODS.</p>
<a href="/participa" class="btn btn-lg btn-light animate-on-scroll">¡Participa ahora!</a>
<section id="cta" class="py-10 bg-primary text-primary-content text-center">
<div class="container mx-auto px-4">
<h2 class="text-5xl font-bold mb-4">¡Únete al Cambio!</h2>
<p class="text-lg mb-5">Juntos podemos crear un impacto duradero. Descubre cómo puedes contribuir a los ODS.</p>
<a href="/participa" class="btn btn-outline text-lg">¡Participa ahora!</a>
</div>
</section>
</main>
<Footer />
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"></script>
<script set:html={animateOnScroll} />
</body>
</html>
@@ -182,13 +263,20 @@ const animateOnScroll = `
@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;
font-style: normal;
}
.londrina-sketch-regular {
.font-londrina {
font-family: "Londrina Sketch", sans-serif !important;
font-weight: 400;
font-style: normal;
@@ -233,16 +321,26 @@ const animateOnScroll = `
.btn-outline-light:hover {
background-color: #ffffff;
color: #4caf50;
transition: background-color 0.3s ease, color 0.3s ease;
transition:
background-color 0.3s ease,
color 0.3s ease;
}
.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;
}
.line-clamp {
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
</style>

View File

@@ -37,10 +37,6 @@ const urlSitio = Astro.site; // Reemplaza con la URL de tu sitio
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Participa Ahora | Ecobjetivos</title>
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/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"
@@ -217,5 +213,3 @@ const urlSitio = Astro.site; // Reemplaza con la URL de tu sitio
</script>
</body>
</html>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>

View File

@@ -1,104 +1,95 @@
---
// 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";
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";
const { frontmatter } = Astro.props;
// 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);
const headings = Astro.props.headings;
const cleaned = post.filePath.replace(/^src\/posts\//, "").replace(/\.mdx$/, "");
const postMD = await import(`../../posts/${cleaned}.mdx`);
const headings = postMD.getHeadings();
const description = post.data.descripcion;
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(post.titulo)}`;
const linkedinShareUrl = `https://www.linkedin.com/shareArticle?mini=true&url=${encodeURIComponent(shareUrl)}&title=${encodeURIComponent(post.titulo)}`;
<html lang="es">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<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()}
/>
<!-- 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)}
/>
<!-- 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)}
/>
<!-- Google tag (gtag.js) -->
<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">
{
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}",
"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": "${frontmatter.autor}"
"name": post.data.autor
},
"publisher": {
"@type": "Organization",
"name": "Ecobjetivos",
"logo": {
"@type": "ImageObject",
"url": "${new URL('/logo.png', Astro.site)}"
"url": new URL('/logo.png', Astro.site)
}
},
"description": "${description}"
"description": description
};
---
<html lang="es">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{post.data.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()} />
<!-- Open Graph / Facebook -->
<meta property="og:type" content="article" />
<meta property="og:url" content={Astro.url} />
<meta property="og:title" content={post.data.titulo} />
<meta property="og:description" content={description} />
<meta property="og:image" content={post.data.imagen && new URL(post.data.imagen, Astro.site)} />
<!-- Twitter -->
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:url" content={Astro.url} />
<meta property="twitter:title" content={post.data.titulo} />
<meta property="twitter:description" content={description} />
<meta property="twitter:image" content={post.data.imagen && new URL(post.data.imagen, Astro.site)} />
<!-- Google tag (gtag.js) -->
<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>
<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"
/>
<!-- Structured Data for Google -->
<script type="application/ld+json" set:html={JSON.stringify(blogJsonLd)} />
<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 +97,7 @@ const linkedinShareUrl = `https://www.linkedin.com/shareArticle?mini=true&url=${
color: #333;
}
.post-header {
margin-top: 60px;
margin-top: 58px;
background-color: #4caf50;
color: white;
padding: 2rem 0;
@@ -136,18 +127,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 +145,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,51 +165,40 @@ 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>
<Navbar proyectos="/" />
<Navbar />
<header class="post-header">
<div class="container">
<h1 class="display-4">{frontmatter.titulo}</h1>
<h1 class="display-4">{post.data.titulo}</h1>
</div>
</header>
<main class="container my-5">
<div class="row">
<div class="col-lg-8">
<article class="post-content">
<slot />
<article class="post-content" data-bs-spy="scroll" data-bs-target="#toc" data-bs-offset="70" tabindex="0">
<Content />
</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"
>
{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,18 +206,14 @@ 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", {
{new Date(post.data.fecha).toLocaleDateString("es-ES", {
year: "numeric",
month: "long",
day: "numeric",
})
}
})}
&nbsp;|&nbsp;
<i class="fas fa-user"></i>
{frontmatter.autor}
{post.data.autor}
</p>
</div>
</div>
@@ -265,36 +225,37 @@ 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>
</div>
</div>
<RelatedPosts currentPost={frontmatter} />
<RelatedPosts currentPost={post.data} />
</main>
<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 +263,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

@@ -1,20 +1,14 @@
---
import Navbar from "../components/Navbar.astro";
import ListadoPosts from "../layouts/ListadoPosts.astro";
import Navbar from "../../components/Navbar.astro";
import ListadoPosts from "../../layouts/ListadoPosts.astro";
---
<html lang="es">
<html lang="es" class="scroll-smooth">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="generator" content={Astro.generator} />
<link rel="icon" type="image/png" href="logo.png" />
<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"
@@ -35,14 +29,10 @@ import ListadoPosts from "../layouts/ListadoPosts.astro";
</script>
<title>Ecobjetivos | Posts</title>
</head>
<body>
<main>
<body class="min-h-screen bg-base-200 text-base-content">
<main class="container mx-auto p-4">
<Navbar />
<ListadoPosts />
</main>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4"
crossorigin="anonymous"></script>
</body>
</html>

View File

@@ -0,0 +1,242 @@
---
import Navbar from "../../components/Navbar.astro";
export const proyectos = [
{
titulo: "Podcast ¿Arreglamos el Mundo?",
descripcion: "Un Podcast dinámico y entretenido que aborda los desafíos y soluciones relacionadas con la Sostenibilidad. Liderado por Rafa y Vicente, cada episodio se convierte en un espacio de debate y aprendizaje. Junto a ellos, los expertos invitados María Jesús y Rubén. Con conversaciones cercanas, datos relevantes y un toque de humor, este equipo busca, literalmente, arreglar el mundo. 🌍✨",
imagen: "/imgs/logoPodcast.png",
autor: "Rafa, Vicen, Rubén y María Jesús",
fecha: "2024-03-10",
url: "/proyectos/podcast"
}
];
const orderProyectos = (proyectos, orderBy = "fecha", ascending = false) => {
return proyectos.sort((a, b) => {
if (orderBy === "fecha") {
const comparison = new Date(b.fecha).getTime() - new Date(a.fecha).getTime();
return ascending ? -comparison : comparison;
} else if (orderBy === "titulo") {
const comparison = a.titulo.localeCompare(b.titulo);
return ascending ? comparison : -comparison;
}
return 0;
});
};
const initialProyectos = orderProyectos(proyectos, "fecha", false);
---
<body>
<Navbar />
<div class="container py-5">
<div class="text-center mb-5 mt-3">
<h1 class="display-4">Proyectos Sostenibles</h1>
<p class="lead text-muted">
Descubre nuestras iniciativas para un futuro más sostenible
</p>
</div>
<!-- Controles de búsqueda y ordenamiento -->
<div class="row justify-content-center mb-5">
<div class="col-md-8">
<div class="card shadow-sm">
<div class="card-body">
<div class="row g-3">
<div class="col-md-7">
<div class="input-group">
<span class="input-group-text bg-white">
<i class="fas fa-search text-muted"></i>
</span>
<input
type="text"
id="searchInput"
class="form-control border-start-0"
placeholder="Buscar proyectos..."
/>
</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="titulo-asc">Título A-Z</option>
<option value="titulo-desc">Título Z-A</option>
</select>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Grid de proyectos -->
<div class="row justify-content-center" id="proyectosContainer">
{initialProyectos.map((proyecto) => (
<div class="col-md-8 mb-4 proyecto-item">
<article class="card shadow-sm h-100 border-0">
<div class="row g-0">
<div class="col-md-4">
{proyecto.imagen ? (
<img
src={proyecto.imagen}
class="proyecto-image rounded-start"
alt={proyecto.titulo}
/>
) : (
<div class="default-image rounded-start">
<i class="fas fa-leaf fa-3x text-success" />
</div>
)}
</div>
<div class="col-md-8">
<div class="card-body d-flex flex-column h-100">
<div class="mb-3">
<h2 class="card-title h4">{proyecto.titulo}</h2>
<p class="card-text text-muted">
{proyecto.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" />
{proyecto.autor}
</small>
<small class="text-muted d-block">
<i class="far fa-calendar-alt me-2" />
<time datetime={proyecto.fecha}>
{new Date(proyecto.fecha).toLocaleDateString(
"es-ES",
{
year: "numeric",
month: "long",
day: "numeric",
}
)}
</time>
</small>
</div>
<a
href={proyecto.url}
class="btn btn-outline-success"
>
Ver proyecto
<i class="fas fa-arrow-right ms-2" />
</a>
</div>
</div>
</div>
</div>
</div>
</article>
</div>
))}
</div>
</div>
<style>
.card {
transition:
transform 0.3s ease,
box-shadow 0.3s ease;
background: #ffffff;
}
.card:hover {
transform: translateY(-5px);
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}
.proyecto-image {
width: 100%;
height: 100%;
object-fit: cover;
}
.default-image {
width: 100%;
height: 100%;
min-height: 200px;
background-color: #f8f9fa;
display: flex;
align-items: center;
justify-content: center;
}
.card-title {
color: #2c3e50;
font-weight: 600;
margin-bottom: 0.5rem;
}
.input-group-text {
border-right: 0;
}
.form-control:focus {
box-shadow: none;
border-color: #ced4da;
}
.form-select:focus {
box-shadow: none;
border-color: #ced4da;
}
.btn-outline-success:hover {
transform: translateX(5px);
transition: transform 0.3s ease;
}
</style>
<script>
interface Proyecto {
titulo: string;
fecha: string;
element: string;
}
const proyectos = {
frontmatter: JSON.stringify(Array.from(document.querySelectorAll('.proyecto-item')).map(proyecto => {
const timeEl = proyecto.querySelector('time');
const titleEl = proyecto.querySelector('.card-title');
return {
titulo: titleEl?.textContent?.trim() || '',
fecha: timeEl?.getAttribute('datetime') || '',
element: proyecto.outerHTML
};
}))
};
const searchInput = document.getElementById('searchInput') as HTMLInputElement;
const orderSelect = document.getElementById('orderSelect') as HTMLSelectElement;
const proyectosContainer = document.getElementById('proyectosContainer');
const proyectosList = JSON.parse(proyectos.frontmatter) as Proyecto[];
function filterAndSortProyectos() {
if (!searchInput || !orderSelect || !proyectosContainer) return;
const searchTerm = searchInput.value.toLowerCase();
const [orderBy, direction] = orderSelect.value.split('-');
let filteredProyectos = proyectosList.filter(proyecto =>
proyecto.titulo.toLowerCase().includes(searchTerm)
);
filteredProyectos.sort((a, b) => {
if (orderBy === 'fecha') {
const dateA = new Date(a.fecha).getTime();
const dateB = new Date(b.fecha).getTime();
const comparison = dateB - dateA;
return direction === 'asc' ? -comparison : comparison;
} else if (orderBy === 'titulo') {
const comparison = a.titulo.localeCompare(b.titulo);
return direction === 'asc' ? comparison : -comparison;
}
return 0;
});
proyectosContainer.innerHTML = filteredProyectos
.map(proyecto => proyecto.element)
.join('');
}
searchInput?.addEventListener('input', filterAndSortProyectos);
orderSelect?.addEventListener('change', filterAndSortProyectos);
</script>
</body>

View File

@@ -0,0 +1,364 @@
---
// Podcast page
import Footer from "../../components/Footer.astro";
import Navbar from "../../components/Navbar.astro";
const animateOnScroll = `
document.addEventListener('DOMContentLoaded', () => {
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('animate__animated', 'animate__fadeIn');
entry.target.style.visibility = 'visible';
}
});
});
document.querySelectorAll('.animate-on-scroll').forEach(el => {
observer.observe(el);
});
});
`;
// Lista de episodios del podcast
const episodes = [
{
title: "Sostenibilidad ¿Qué es?",
description:
"En este episodio comenzaremos dando forma a este tema que nos engloba tanto en nuestro día a día. Sabemos lo que es la sostenibilidad y de que trata ?, pues aquí nuestro protagonistas nos hablarán de ello, que haces que no los estás escuchando ya?¡¡CORREEEEE!!",
spotifyLink:
"https://open.spotify.com/episode/218xJHgfhDBPAtr1qELCMa?si=FpuHWjR4TEegn0dDJLnO1w",
duration: "10:17",
date: "10 de diciembre de 2024",
},
{
title: "Criterios ASG",
description:
"🎙️ Bienvenidos a Arreglamos el Mundo, el podcast donde exploramos ideas, soluciones y reflexiones para construir un futuro más sostenible y justo. 🌎 En este episodio, nos sumergimos en los criterios ASG: ambiental, social y de gobernanza. ¿Qué significan? ¿Cómo están transformando el mundo de los negocios, las inversiones y nuestras vidas? Acompáñanos mientras desglosamos cómo estas herramientas nos acercan a un mundo mejor. ¡Comencemos a arreglar el mundo, un criterio a la vez! 🌱✨",
spotifyLink:
"https://open.spotify.com/episode/6dqCt8UAukJ8xD0lJnLZgp?si=llWNPManQueraMpaUhpMxQ",
duration: "14:11",
date: "10 de diciembre de 2024",
},
{
title: "Retos Ambientales",
description:
"🎙️ Bienvenidos a Arreglamos el Mundo, el espacio donde debatimos, reflexionamos y soñamos con un planeta más habitable para todos. 🌎 En este episodio, ponemos sobre la mesa los retos ambientales que enfrentamos hoy: desde el cambio climático hasta la pérdida de biodiversidad y la gestión sostenible de nuestros recursos. ¿Qué desafíos debemos superar y qué podemos hacer para marcar la diferencia? Es hora de analizar el panorama, cuestionar nuestras acciones y buscar soluciones que realmente arreglen el mundo. 🌱💡",
spotifyLink:
"https://open.spotify.com/episode/4g6wy4VLz9RPWu4Iu01cdX?si=NaVoDOoJTBKu54fkKQiOJQ",
duration: "10:03",
date: "10 de diciembre de 2024",
},
{
title: "Cómo Minimizar los Impactos Ambientales??",
description:
"🎙️ Bienvenidos a Arreglamos el Mundo, el podcast donde exploramos ideas para hacer del planeta un lugar mejor. 🌍✨ En este episodio, hablamos sobre cómo minimizar los impactos ambientales. Desde pequeñas acciones en nuestro día a día hasta grandes estrategias a nivel global, analizaremos qué podemos hacer para reducir nuestra huella ecológica y proteger los recursos naturales. ¡Acompáñanos mientras descubrimos juntos cómo marcar la diferencia y avanzar hacia un futuro más sostenible! 🌱💡",
spotifyLink:
"https://open.spotify.com/episode/2tWQ9PFQfo1qK55rop8h0s?si=9KTe45o9Rw-KBtIqsAlU4g",
duration: "9:02",
date: "10 de diciembre de 2024",
},
{
title: '¡¡Hemos vuelto!! Hablemos de: "Los 17 Puntos"',
description:
"En Agenda 2030: 17 Pasos hacia un Mundo Mejor, exploramos cada uno de los 17 Objetivos de Desarrollo Sostenible (ODS) propuestos por la ONU. Acompáñanos en este viaje donde analizamos los retos globales, las soluciones innovadoras y el impacto de estas metas en nuestra sociedad, economía y medioambiente. Con entrevistas a expertos, historias inspiradoras y casos reales, descubrirás cómo tú también puedes contribuir a un futuro más justo, sostenible e inclusivo. ¡Sintoniza y forma parte del cambio!",
spotifyLink:
"https://open.spotify.com/episode/6BluxrOOSnji7wkUt50nk3?si=VQf7Na7jQ4C7AnA4aY2leQ",
duration: "22:08",
date: "3 de marzo de 2025",
},
{
title: "Economía Verde y Circular",
description:
"En este episodio, exploramos la Economía Verde y Circular: ¿Cómo podemos producir y consumir de manera sostenible? Hablamos sobre innovación, reciclaje, energías renovables y nuevos modelos de negocio que buscan equilibrar desarrollo y medioambiente. ¡Únete a la conversación y descubramos juntos soluciones para un futuro más verde! 🌍♻️",
spotifyLink:
"https://open.spotify.com/episode/35E5Po2iiG5Fs2GsVfeCr7?si=THRxtld4QwCj1SmUvLT_TQ",
duration: "20:57",
date: "4 de marzo de 2025",
},
];
---
<html lang="es">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="generator" content={Astro.generator} />
<script
async
src="https://www.googletagmanager.com/gtag/js?id=G-1JT18RF3R4"
></script>
<meta
name="google-site-verification"
content="aI_AQpT-EgmaU7QL0oOm4UJ4YbwJ5SBcp2rE30le7nk"
/>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag("js", new Date());
gtag("config", "G-1JT18RF3R4");
</script>
<meta
name="description"
content="Podcast Arreglamos el Mundo? - Podcast dinámico y entretenido
que aborda los desafíos y soluciones relacionadas
con la Sostenibilidad. "
/>
<link rel="icon" type="image/png" href="/logo.png" />
<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"
/>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"
/>
<title>Arreglamos el Mundo? | Ecobjetivos</title>
</head>
<body>
<Navbar />
<header class="podcast-header text-white py-5 mt-5">
<div class="container text-center">
<h1
class="display-3 mb-4 animate__animated animate__fadeInDown"
>
¿Arreglamos el Mundo?
</h1>
<p
class="lead mb-4 animate__animated animate__fadeInUp animate__delay-1s"
>
Podcast que aborda los desafíos sobre la Sostenibilidad.
</p>
<div
class="d-flex justify-content-center gap-3 animate__animated animate__zoomIn animate__delay-1s"
>
<a
href="https://open.spotify.com/show/2snFzgOSnk1AVH4gx6HGG1?si=e8c250c65f534d72"
target="_blank"
class="btn btn-success btn-lg"
>
<i class="fab fa-spotify me-2"></i> Escuchar en Spotify
</a>
<!-- <a
href="https://podcasts.apple.com/podcast/example"
target="_blank"
class="btn btn-outline-light btn-lg"
>
<i class="fab fa-apple me-2"></i> Apple Podcasts
</a> -->
</div>
</div>
</header>
<main>
<section class="py-5">
<div class="container">
<div class="row align-items-center">
<div class="col-lg-6 animate-on-scroll">
<h2 class="display-5 mb-4">Sobre el Podcast</h2>
<p class="lead">
<strong>¿Arreglamos el Mundo?</strong> es un Podcast
dinámico y entretenido que aborda los desafíos y
soluciones relacionadas con la Sostenibilidad.
</p>
<p>
Liderado por Rafa, el carismático presentador, y
Vicente, el productor y segundo presentador,
cada episodio se convierte en un espacio de
debate y aprendizaje. Junto a ellos, los
expertos invitados María Jesús y Rubén comparten
conocimientos, experiencias y perspectivas para
inspirar a los oyentes a tomar acción por un
planeta más sostenible. Con conversaciones
cercanas, datos relevantes y un toque de humor,
este equipo busca, literalmente, arreglar el
mundo. 🌍✨
</p>
</div>
<div class="col-lg-6 animate-on-scroll">
<iframe
style="border-radius:12px"
src="https://open.spotify.com/embed/show/2snFzgOSnk1AVH4gx6HGG1?utm_source=generator"
width="100%"
height="352"
frameBorder="0"
allowfullscreen=""
allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture"
loading="lazy"></iframe>
</div>
</div>
</div>
</section>
<section class="py-5 bg-light">
<div class="container">
<h2 class="text-center mb-5 animate-on-scroll">
Episodios Destacados
</h2>
<div class="row g-4">
{
episodes.map((episode, index) => (
<div class="col-md-6 animate-on-scroll">
<div class="card h-100 border-0 shadow-sm">
<div class="card-body">
<div class="d-flex justify-content-between mb-2">
<span
class="badge bg-success"
style="padding-top: 6px;"
>
{episode.date}
</span>
<span class="text-muted">
<i class="far fa-clock me-1" />
{episode.duration}
</span>
</div>
<h3 class="h5 card-title">
{episode.title}
</h3>
<p class="card-text">
{episode.description}
</p>
</div>
<div class="card-footer bg-white border-0">
<a
href={episode.spotifyLink}
target="_blank"
class="btn btn-outline-success w-100"
>
<i class="fab fa-spotify me-2" />{" "}
Escuchar episodio
</a>
</div>
</div>
</div>
))
}
</div>
</div>
</section>
<section class="py-5">
<div class="container">
<div class="row">
<div
class="col-lg-8 mx-auto text-center animate-on-scroll"
>
<h2 class="mb-4">
¿Por qué escuchar Arreglamos el Mundo?
</h2>
<div class="row g-4 mt-3">
<div class="col-md-12">
<div class="p-3 bg-light rounded-3 h-100">
<video controls class="w-100">
<source
src="/imgs/videoPodcast.mp4"
type="video/mp4"
/>
Tu navegador no soporta la reproducción
de videos.
</video>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="py-5 bg-success text-white">
<div class="container text-center">
<h2 class="mb-4 animate-on-scroll">
¿Tienes sugerencias para futuros episodios?
</h2>
<p class="lead mb-4 animate-on-scroll">
Nos encantaría conocer qué temas te interesan
</p>
<a
href="/contacto"
class="btn btn-light btn-lg animate-on-scroll"
>
<i class="fas fa-envelope me-2"></i> Enviar sugerencia
</a>
</div>
</section>
</main>
<Footer />
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"
></script>
<script set:html={animateOnScroll} />
</body>
</html>
<style is:global>
@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 {
font-family: "Inter Tight", sans-serif !important;
font-optical-sizing: auto;
font-weight: 400 !important;
font-style: normal;
}
.londrina-sketch-regular {
font-family: "Londrina Sketch", sans-serif !important;
font-weight: 400;
font-style: normal;
}
</style>
<style>
.podcast-header {
background-color: #1db954; /* Color verde de Spotify */
background-image: linear-gradient(45deg, #1db954, #219653);
padding: 6rem 0;
position: relative;
}
.podcast-header::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
/*background-image: url("/imgs/podcast-pattern.png");*/
opacity: 0.1;
}
.animate-on-scroll {
visibility: hidden;
}
.episode-card {
transition: transform 0.3s ease;
}
.episode-card:hover {
transform: translateY(-5px);
}
.object-fit-cover {
object-fit: cover;
}
</style>

View File

@@ -1,14 +1,13 @@
---
titulo: 'El Cambio Climático: Un Desafío Global que Requiere Acción Inmediata'
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:
@@ -65,7 +64,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.
<ImagenMD alt="acciones por el cambio climatico" src="http://nuestraesfera.cl/wp-content/uploads/2020/04/unnamed.jpg"/>
<ImagenMD alt="acciones por el cambio climatico" src="https://i.ibb.co/G3d0jNfK/medidas-cambio-climatico-reduc.jpg"/>
---

View File

@@ -1,14 +1,13 @@
---
titulo: 'La Contaminación Ambiental y su Impacto en el Desarrollo Sostenible'
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,13 @@
---
titulo: 'Deforestación y Erosión del Suelo'
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

@@ -0,0 +1,85 @@
---
titulo: 'La Economía Circular: Hacia un Futuro Sostenible'
autor: 'Lucas Curiel'
fecha: '2025-03-04'
descripcion: 'Explora cómo la economía circular contribuye a la sostenibilidad al reducir el desperdicio, optimizar los recursos y regenerar la naturaleza. Descubre sus principios y cómo puede transformar nuestro modelo de producción y consumo.'
imagen: 'https://images.theconversation.com/files/275411/original/file-20190520-69182-1x6z8dg.png?ixlib=rb-4.1.0&q=45&auto=format&w=1000&fit=clip'
hashtags: ['Economía Circular', 'Sostenibilidad', 'Recursos Naturales', 'Cambio Climático', 'Desarrollo Sostenible']
relacionados: ['EconomiaLineal', 'EconomiaVerde', 'ODS12','Explotacion-de-recursos']
---
import ImagenMD from "../components/ImagenMD.astro"
## Introducción: Economía Circular y su Papel en la Sostenibilidad
La **economía circular** es un concepto clave dentro de la **economía verde**, un enfoque integral que aboga por la eficiencia en el uso de los recursos, la reducción de emisiones de carbono, y la conservación de la biodiversidad. A diferencia del modelo de **economía lineal**, que sigue el ciclo de **"extraer, producir, usar y desechar"**, la economía circular se basa en **minimizar el desperdicio** y **maximizar el uso de los recursos** a lo largo del ciclo de vida de los productos.
<ImagenMD alt="Economía Circular" src="https://www.europarl.europa.eu/resources/library/images/20230927PHT05953/20230927PHT05953_original.png"/>
## ¿Qué es la Economía Circular?
Según el **Reglamento del Parlamento Europeo** y el **Consejo de la Unión Europea**, la economía circular se define como:
> "Un sistema económico donde el valor de los productos, materiales y demás recursos dura el mayor tiempo posible, potenciando su uso eficiente en la producción y el consumo, reduciendo al mínimo los residuos y la liberación de sustancias peligrosas en todas las fases del ciclo de vida."
En resumen, la economía circular es un modelo económico sostenible cuyo objetivo es **aprovechar al máximo los recursos materiales**, **reducir el consumo de materias primas**, **reutilizar los productos** y **alargar su vida útil**. Esto no solo contribuye a un futuro más verde, sino también a una economía más **descarbonizada, eficiente** y **competitiva**.
<ImagenMD alt="Reciclaje y sostenibilidad" src="https://www.reciclajecontemar.es/wp-content/uploads/importancia-del-reciclaje-para-un-futuro-sostenible.webp"/>
## Principios de la Economía Circular
La economía circular se sustenta en principios fundamentales que guían la transición hacia un modelo de producción y consumo más responsable. Entre estos principios destacan:
### 1. **Eliminación de Residuos y Contaminación**
- **Diseño para la reutilización:** Los productos deben diseñarse para que puedan ser reutilizados o reciclados al final de su vida útil.
- **Cero residuos:** El concepto de "residuo" desaparece, ya que los materiales deben circular dentro de la economía.
- **Impacto ambiental mínimo:** La producción debe reducir al máximo la contaminación y el desperdicio.
<ImagenMD alt="Eliminación de Residuos" src="https://www.datadec.es/hubfs/la_gestion_de_residuos_urbanos.png"/>
### 2. **Circulación de Productos y Materiales**
- **Reutilización de productos:** Los bienes deben ser mantenidos en uso el mayor tiempo posible, ya sea reparándolos, reacondicionándolos o vendiéndolos de nuevo.
- **Reciclaje y descomposición:** Cuando los productos ya no son reutilizables, sus componentes deben ser reincorporados a la cadena productiva o reciclados de manera eficiente.
### 3. **Regeneración de la Naturaleza**
- Al adoptar la economía circular, en lugar de sobreexplotar los recursos naturales, **permitimos su regeneración**. Esto ayuda a abordar desafíos medioambientales como el **cambio climático**, la **contaminación** y la **pérdida de biodiversidad**.
<ImagenMD alt="Regeneración de la Naturaleza" src="https://4.bp.blogspot.com/-CBeJ2VCvGF0/VXH_CCjWtoI/AAAAAAAAOlQ/2vt58w5vK2A/s1600/giornata-mondiale-ambiente-2014-galdo-uno-mattina-rai-uno-2.jpg"/>
## Las 7R de la Economía Circular
A lo largo del tiempo, los principios de la economía circular han evolucionado desde las tradicionales **3R** (reducir, reutilizar, reciclar) hasta las **7R**. Cada una de estas "R" juega un papel vital en la sostenibilidad:
### 1. **Rediseñar**
El **ecodiseño** consiste en fabricar productos que tengan en cuenta el impacto ambiental durante su ciclo de vida. Esto incluye la selección de materiales y procesos de fabricación que faciliten su reutilización y reciclaje.
### 2. **Reducir**
Reducir no solo implica consumir menos, sino también optimizar los recursos. **Evitar el desperdicio** y **ahorrar energía, agua y materiales** es clave para una economía más eficiente.
### 3. **Reutilizar**
Extiende la vida útil de los productos. No es necesario desecharlos después de un solo uso; se pueden dar nuevos usos o reparar para seguir funcionando.
### 4. **Reparar**
Antes de desechar un objeto, debemos **repararlo**. La reparación ayuda a reducir el consumo de nuevos recursos y evita que los productos se conviertan en desechos innecesarios.
### 5. **Renovar**
En lugar de tirar productos viejos, podemos **actualizarlos** y restaurarlos para que vuelvan a funcionar. Esto implica darles una segunda vida sin necesidad de fabricar productos nuevos.
### 6. **Recuperar**
Cuando un producto ya no puede ser reutilizado, sus piezas o materiales deben ser **recuperados** para incorporarlos nuevamente a la cadena de producción.
### 7. **Reciclar**
Reciclar es el último recurso, pero sigue siendo fundamental. El reciclaje convierte los desechos en **materias primas** para la fabricación de nuevos productos, lo que reduce la demanda de recursos vírgenes.
<ImagenMD alt="Reciclaje" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSRvfK1C5L3EDcBI7YW6C90kNxTrXiHiXuV0zpf8CHP_outCmTbOGZM5tTI-26OEs1NMBY&usqp=CAU"/>
## Conclusión: Hacia un Futuro Circular
La **economía circular** no solo ofrece una solución a los problemas medioambientales derivados del modelo de economía lineal, sino que también abre la puerta a un futuro **más justo y sostenible**. Este modelo promueve un uso más eficiente de los recursos, la conservación de la naturaleza y la creación de una economía más equitativa para todos.
**El cambio hacia la economía circular es una necesidad urgente.** Si queremos asegurar un futuro más saludable para nuestro planeta y las generaciones venideras, debemos pasar de un modelo de producción y consumo lineal a uno circular.
🌍♻️ **¡Es hora de cambiar! Apoya la transición hacia un futuro más verde y justo.**
---
### ¿Te gustaría saber más sobre la economía circular? Comparte este post y únete al movimiento para un futuro más sostenible. #EconomíaCircular #Sostenibilidad #RecursosNaturales #DesarrolloSostenible

View File

@@ -0,0 +1,70 @@
---
titulo: 'El Modelo de Producción y Consumo Actual: La Economía Lineal'
autor: 'Lucas Curiel'
fecha: '2025-02-25'
descripcion: 'Explora el impacto de la economía lineal en el medio ambiente y la sociedad. Conoce cómo este modelo de producción y consumo basado en "comprar, usar y tirar" está agotando los recursos y provocando graves consecuencias para el planeta.'
imagen: 'https://cdn-icons-png.flaticon.com/512/4465/4465754.png'
hashtags: ['Economía Lineal', 'Impacto Ambiental', 'Sostenibilidad', 'Desigualdad Social', 'Recursos Naturales']
relacionados: ['EconomiaCircular','EconomiaVerde','Explotacion-de-recursos']
---
import ImagenMD from "../components/ImagenMD.astro"
## Introducción: La Economía Lineal y su Impacto
El modelo de producción y consumo que predomina desde la Revolución Industrial hasta nuestros días es el de la **economía lineal**. Este sistema ha permitido el crecimiento económico, pero a un alto costo para el medio ambiente y la sociedad. La economía lineal sigue un proceso de **"extraer, fabricar, consumir y desechar"**, lo que plantea serias amenazas a largo plazo.
<ImagenMD alt="Economía Lineal" src="https://vamosahaceralgoporlatierra.com/wp-content/uploads/2018/08/ECONOMIA-LINEAL2-1024x427.png"/>
## Fases de la Economía Lineal
El proceso que caracteriza a la economía lineal se divide en cuatro fases clave:
### 1. **Extracción de Recursos Naturales**
La base de la economía lineal es la extracción masiva de recursos naturales, como minerales, madera, agua, petróleo y otros. Estos recursos son finitos, y su sobreexplotación acelera su agotamiento, poniendo en riesgo el equilibrio ecológico.
### 2. **Producción de Productos**
Una vez extraídos, los recursos se transforman en productos para ser consumidos. Este proceso suele ser muy demandante en términos de energía y recursos, además de generar residuos y emisiones contaminantes.
### 3. **Distribución y Consumo**
Los productos se distribuyen masivamente para ser consumidos. El modelo de consumo de "comprar, usar y tirar" está profundamente arraigado, impulsado por el marketing y la obsolescencia programada, lo que fomenta el consumo desmedido y la producción de más residuos.
### 4. **Desecho de Residuos**
Cuando los productos llegan al final de su vida útil, se desechan. La mayoría de estos residuos no se recuperan, se acumulan en vertederos o se incineran, lo que genera graves problemas de gestión y contaminación.
# Características de la Economía Lineal
Este modelo presenta una serie de problemas graves que lo hacen insostenible a largo plazo:
### **1. Agotamiento de los Recursos Naturales**
El proceso de extracción masiva de recursos no es sostenible, ya que los recursos naturales son finitos. Si seguimos explotándolos a este ritmo, inevitablemente se agotarán, lo que afectará a generaciones futuras.
### **2. Consumismo Excesivo**
El sistema fomenta el consumo desmedido. Estrategias como la **obsolescencia programada** hacen que los productos se vuelvan obsoletos más rápido, aumentando la demanda constante de nuevos productos y reduciendo la vida útil de los existentes.
### **3. Generación y Gestión Ineficiente de Residuos**
La falta de reciclaje y reutilización en la economía lineal produce enormes cantidades de residuos que no se gestionan adecuadamente. La mayoría de estos residuos terminan en vertederos o se incineran, sin darle una segunda vida a los materiales.
### **4. Impacto Ambiental Devastador**
La economía lineal tiene un impacto negativo en el medio ambiente. Aumenta las emisiones de gases de efecto invernadero, contribuye a la contaminación, agota los recursos naturales y pone en riesgo la biodiversidad. Estos efectos son una de las principales causas del **cambio climático** y la **degradación ambiental**.
### **5. Desigualdad Social**
Este modelo también perpetúa las **desigualdades sociales**. La explotación laboral, la falta de acceso a recursos básicos y la desigual distribución de la riqueza son algunos de los problemas derivados de un sistema económico que no prioriza el bienestar de todos los seres humanos.
## ¿Por Qué es Necesario Cambiar?
La economía lineal, aunque ha sido útil para el crecimiento económico en el pasado, está agotando nuestros recursos y afectando el planeta. No podemos seguir actuando como si los recursos fueran infinitos. Es urgente cambiar hacia un **modelo de producción y consumo responsable**.
<ImagenMD alt="Cambio de Modelo Económico" src="https://static.eseficiencia.es/media/2024/04/energias-renovables-eseficiencia-20240404-1738-1024x585.png"/>
## El Camino hacia una Economía Circular
Es esencial hacer la transición hacia un **modelo de economía circular**, que promueva la reutilización, el reciclaje y la reducción de residuos. Este modelo está basado en la idea de que los productos y materiales deben mantenerse en uso el mayor tiempo posible, maximizando su valor y minimizando el impacto ambiental.
## Conclusión: ¡Es Hora de Actuar!
El cambio hacia una economía sostenible es imperativo para garantizar un futuro más justo y equilibrado para las generaciones futuras. Necesitamos un cambio radical en la forma en que producimos, consumimos y gestionamos los recursos para proteger nuestro planeta y asegurar la equidad social.
**Es hora de actuar.** Apoyemos la transición hacia un modelo económico que respete los límites del planeta y promueva el bienestar de todos.
🌍♻️ **¡Actúa ahora para un futuro más verde y justo!**

View File

@@ -0,0 +1,78 @@
---
titulo: 'Economía Verde: Transformando el Futuro a Través de la Sostenibilidad'
autor: 'Lucas Curiel'
fecha: '01/03/2025'
descripcion: 'Descubre cómo la economía verde busca equilibrar el desarrollo económico, la justicia social y la protección del medio ambiente, asegurando un futuro más sostenible. ¡Es hora de cambiar el modelo económico!'
imagen: 'https://relevocontigo.com/wp-content/uploads/2019/02/que-es-economia-verde.jpg.webp'
hashtags: ['Economía Verde', 'Sostenibilidad', 'Eficiencia de Recursos', 'Desarrollo Sostenible', 'ODS 12']
relacionados: ['ODS12','Explotacion-de-recursos','Retos-ambientales','EconomiaCircular']
---
import ImagenMD from "../components/ImagenMD.astro"
## Introducción: ¿Qué es la Economía Verde?
La **economía verde** es un modelo económico que promueve el bienestar humano y social a la vez que reduce los riesgos ambientales y la escasez ecológica. Este enfoque busca alcanzar un equilibrio entre el desarrollo económico, la equidad social y la protección del medio ambiente. La economía verde no solo se basa en bajas emisiones de carbono y el uso eficiente de los recursos, sino que también fomenta la **inclusión social**, la **justicia ambiental** y la **conservación de la biodiversidad**.
En lugar de centrarse únicamente en el crecimiento económico medido por indicadores como el PIB, la economía verde prioriza el **bienestar de las personas** y el **respeto por los límites planetarios**.
<ImagenMD alt="Economía Verde" src="https://ecoembesempleo.es/web/app/uploads/2023/11/post-empleo-economia-verde.jpg"/>
## Principales Características de la Economía Verde
### 1. **Uso Eficiente de los Recursos Naturales**
La economía verde busca maximizar la eficiencia en el uso de los recursos naturales. Esto incluye el fomento de energías renovables, la optimización de los procesos de producción y el reciclaje de materiales, minimizando el desperdicio.
### 2. **Bajas Emisiones de Carbono**
Este modelo promueve la reducción de las emisiones de gases de efecto invernadero, crucial para mitigar el cambio climático. La transición hacia fuentes de energía renovable, como la solar o eólica, es fundamental para reducir la huella de carbono.
### 3. **Justicia Social y Económica**
La economía verde fomenta la **equidad** social, asegurando que las oportunidades económicas sean accesibles para todos, sin excluir a los grupos vulnerables. Promueve la creación de **empleos verdes** y **condiciones laborales dignas**, buscando una distribución justa de los beneficios y los costos.
### 4. **Protección de los Ecosistemas**
La economía verde también pone énfasis en **proteger y restaurar** los ecosistemas, asegurando la conservación de la biodiversidad y el uso sostenible de los recursos naturales.
<ImagenMD alt="Reciclaje y Energía Verde" src="https://www.bienestar.gob.mx/sibien/images/desarrollo/Reciclaje-04.png"/>
## Beneficios de la Economía Verde
### 1. **Mejorar el Bienestar Humano**
Una economía verde promueve el **bienestar** de las personas no solo a través de la generación de empleo, sino también mediante el acceso a una mejor calidad de vida, con un entorno más limpio y saludable.
### 2. **Reducción de la Desigualdad Social**
La economía verde busca **inclusión social**, proporcionando oportunidades a las comunidades más desfavorecidas y fomentando la participación activa en la toma de decisiones.
### 3. **Desarrollo Sostenible**
Al promover la eficiencia en el uso de los recursos y la reducción de la contaminación, la economía verde es fundamental para alcanzar un **desarrollo sostenible** que respete los límites de la Tierra.
### 4. **Impulso a la Innovación**
Este modelo económico fomenta la **innovación tecnológica**, como el desarrollo de nuevos métodos de producción, procesos sostenibles y la mejora de la infraestructura verde.
<ImagenMD alt="Energía Limpia y Economía Verde" src="https://www.loecheslineaverde.es/lv/consejos-ambientales/generacion-abusiva-de-nuestros-residuos/img/economia-circular.png"/>
## Economía Verde en Acción: Casos de Éxito
**Unilever**, por ejemplo, ha adoptado un modelo de economía verde al incluir el uso de energías renovables en sus fábricas y promover el reciclaje de sus envases. Esto no solo reduce las emisiones de carbono, sino que también fomenta la sostenibilidad a largo plazo.
Otra compañía que implementa la economía verde es **Patagonia**, que no solo promueve la **reparación** y reutilización de sus productos, sino que también apoya proyectos de restauración ecológica, demostrando que es posible generar beneficios económicos mientras se protege el medio ambiente.
<ImagenMD alt="Economía Verde en Acción" src="https://www.cantabriaeconomica.com/wp-content/uploads/2021/06/1591706764_711133_1591730353_noticia_normal.jpg"/>
## El Camino hacia la Implementación de la Economía Verde
Para que la economía verde sea una realidad global, es necesario impulsar políticas públicas que fomenten la sostenibilidad, como:
- **Incentivar la eficiencia energética** y el uso de energías renovables.
- **Impulsar el reciclaje** y la gestión responsable de los residuos.
- **Promover la sostenibilidad empresarial** mediante el fomento de buenas prácticas ambientales en todas las industrias.
- **Educar y sensibilizar** a la población para adoptar hábitos de consumo responsables.
<ImagenMD alt="Futuro Sostenible y Verde" src="https://www.thecircularlab.com/web/app/uploads/2023/06/AdobeStock_437071815-copia.jpg"/>
## Conclusión: Un Futuro Verde es Posible
La economía verde es un paso necesario para alcanzar un futuro más **justo**, **sostenible** y **próspero** para todos. Basada en principios como la eficiencia de los recursos, la justicia social y la protección del medio ambiente, la transición hacia este modelo será crucial para cumplir con los Objetivos de Desarrollo Sostenible, especialmente el **ODS 12**, que promueve el consumo y la producción responsables.
Es hora de tomar medidas y sumarse a esta transformación. La economía verde no solo es un modelo económico, sino una filosofía para vivir de manera más consciente y respetuosa con el planeta.
🌍♻️ **¡Actuemos juntos por un futuro verde!**

View File

@@ -1,14 +1,13 @@
---
titulo: 'Sobreexplotación de Recursos Naturales: Un Desafío para la Sostenibilidad'
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,13 @@
---
titulo: 'ODS 1: Fin de la Pobreza'
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
@@ -62,7 +61,14 @@ Cabe destacar que este ODS es uno de los más importantes de todos, ya que está
Se puede destacar su interrelación con el ODS 2, que fomenta la erradicación del hambre en todo el mundo, mediante distintos medios que podrás ver en dicho artículo.
<ImagenMD alt="Imagotipo ODS1" src="https://www.aiscertificacion.com/wp-content/uploads/2024/02/S-WEB-Goal-01-1-e1707468767703.png"/>
### Representación artística:
El cuadro escogido para representar al ODS1 es "Los comedores de patatas" de Vincent van Gogh. Este cuadro fue pintado en el año 1885 y representa perfectamente lo que nos quiere transmitir este ODS.
<ImagenMD alt="Cuadro ODS1" src="https://i.ibb.co/V0nGQWdp/Van-willem-vincent-gogh-die-kartoffelesser-03850.jpg"/>
#### ¿Por qué encaja con este ODS?
Encaja por lo siguiente:
- La pintura representa a una familia de campesinos humildes comiendo una comida simple y básica, demostrando las bajas condiciones de vida que tenían las clases populares en aquella época.
- Muestra la pobreza de los habitantes del campo de una forma gráfica y que nos hace ver su perspectiva.
- La obra nos transmite un mensaje empatizador con la gente de esa condición social, transmitiendo un mensaje de dignidad y humanidad.
---
*Nota: Este documento es una guía general sobre los ODS y puede requerir actualizaciones periódicas según los avances y cambios en la implementación global.*

View File

@@ -1,14 +1,13 @@
---
titulo: 'Unidos por la Igualdad: La Lucha hacia el ODS 10'
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"/>
@@ -40,12 +39,17 @@ Este punto se enfoca en garantizar que las personas que migran lo hagan de forma
### 6. Acceso a Servicios Básicos
La idea es asegurar que todos tengan acceso a servicios esenciales como salud, educación y vivienda, sin importar sus condiciones económicas. Este acceso equitativo contribuye a mejorar la calidad de vida y ayuda a cerrar la brecha entre diferentes grupos sociales.
<ImagenMD alt="servicios basicos" src="https://daniperezmalaga.es/wp-content/uploads/conjunto-de-servicios-basicos.jpg"/>
<ImagenMD alt="servicios basicos" src="https://insurgenciamagisterial.com/wp-content/uploads/2019/07/CTM.jpg"/>
### 7. Mayor Representación de Países en Desarrollo
Es importante que los países en desarrollo tengan una mayor representación en las decisiones internacionales sobre economía y política. Esto garantiza que sus necesidades e intereses sean escuchados y atendidos, promoviendo una mayor equidad en la toma de decisiones globales.
<ImagenMD alt="reunion internacional" src="https://i0.wp.com/seguridadmotociclistas.org/wp-content/uploads/2018/02/IMG-20180220-WA0000.jpg?resize=1024%2C675&ssl=1"/>
### 8. Representación Histórica
<ImagenMD alt="La Libertad guiando al pueblo de Eugène Delacroix (1830)" src="https://upload.wikimedia.org/wikipedia/commons/thumb/0/02/La_Libert%C3%A9_guidant_le_peuple_-_Eug%C3%A8ne_Delacroix_-_Mus%C3%A9e_du_Louvre_Peintures_RF_129_-_apr%C3%A8s_restauration_2024.jpg/1200px-La_Libert%C3%A9_guidant_le_peuple_-_Eug%C3%A8ne_Delacroix_-_Mus%C3%A9e_du_Louvre_Peintures_RF_129_-_apr%C3%A8s_restauration_2024.jpg"/>
*La Libertad guiando al pueblo* de Eugène Delacroix (1830) es un cuadro que simboliza la lucha por la igualdad y la justicia. En la obra, vemos a la figura de la Libertad guiando a un grupo diverso de personas, desde soldados hasta trabajadores, a través de un campo de batalla. Este cuadro representa la lucha por la igualdad, que es precisamente lo que busca el ODS 10: reducir las desigualdades. La pintura refleja la idea de que todas las personas, independientemente de su clase social o raza, tienen el derecho a ser libres y a participar en la construcción de una sociedad más equitativa. La fuerza y el coraje representados en la obra inspiran a actuar por un mundo sin barreras sociales ni económicas, donde todas las voces son escuchadas y respetadas.
## ¿Como podemos contribuir?
Aunque los gobiernos y las grandes instituciones juegan un papel importante, nosotros también podemos contribuir. Apoyar políticas inclusivas, ser conscientes de nuestras acciones y promover la igualdad en nuestras comunidades son pequeñas cosas que suman. Informarnos y compartir esta información con otros es un primer paso para fomentar un mundo más justo.

View File

@@ -1,14 +1,13 @@
---
titulo: 'Cómo Construir Ciudades Sostenibles: Claves del ODS 11 para un Futuro Mejor'
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"/>
@@ -57,6 +56,10 @@ Las áreas urbanas y rurales deben estar conectadas y trabajar juntas. Las ciuda
### 10. Igualdad y oportunidades para todos
Finalmente, una ciudad sostenible es una ciudad inclusiva. Todos, sin importar su origen, género o capacidades, deben tener las mismas oportunidades para desarrollarse y acceder a los beneficios del entorno urbano. Esto incluye desde acceso a empleo hasta educación y salud.
### 11. Representación Histórica
<ImagenMD alt="Vista de Ámsterdam de Jan van der Heyden (1670)" src="https://www.meisterdrucke.es/kunstwerke/1260px/Jan_van_der_Heyden_-_Amsterdam_City_View_with_Houses_on_the_Herengracht_and_the_old_Haarlemmersluis_c_-_%28MeisterDrucke-130014%29.jpg"/>
La obra de **Jan van der Heyden**, *Vista de Ámsterdam* (1670), ofrece una visión del desarrollo urbano en una ciudad históricamente importante, representando cómo la planificación y la infraestructura de la ciudad han sido fundamentales en su crecimiento. Esta pintura refleja una época de expansión urbana organizada, donde la accesibilidad y la gestión eficiente de los espacios eran claves para el funcionamiento y la belleza de la ciudad. En el contexto del ODS 11, la obra simboliza la importancia de las infraestructuras sostenibles y la planificación urbana inteligente, que son esenciales para la creación de ciudades más inclusivas, seguras y sostenibles. A lo largo de la historia, ciudades como Ámsterdam han mostrado el potencial de un crecimiento urbano que no solo preserve el patrimonio, sino que también garantice una vida urbana más organizada y resiliente, principios que hoy guían el Objetivo de Desarrollo Sostenible 11.
## ¿Como podemos contribuir?

View File

@@ -1,14 +1,13 @@
---
titulo: 'ODS 12: Producción y Consumo Responsables'
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
@@ -48,6 +47,10 @@ Las empresas tienen un papel fundamental en la sostenibilidad. Esto significa qu
Para que el ODS 12 funcione, los gobiernos deben crear reglas que guíen a todos, desde ciudadanos hasta grandes empresas, a actuar de manera más sostenible. Estas políticas ayudan a que todos nos movamos en la misma dirección hacia un futuro más respetuoso con el medio ambiente.
<ImagenMD alt="reunion de politicos" src="https://votamostodos.com/wp-content/uploads/2022/03/SISTEMA-POLITICO.jpeg"/>
### 9. Representacion histórica
<ImagenMD alt="El jardín de las delicias de Hieronymus Bosch (1490-1500)" src="https://upload.wikimedia.org/wikipedia/commons/a/ae/El_jard%C3%ADn_de_las_Delicias%2C_de_El_Bosco.jpg"/>
La obra de **Hieronymus Bosch**, *El jardín de las delicias* (1490-1500), puede interpretarse como una reflexión sobre los excesos humanos y el impacto de la naturaleza. Aunque la pintura no aborda directamente el ODS 12, su representación de la abundancia y el consumo desmedido puede verse como una advertencia de los peligros del consumo irresponsable y la sobreexplotación de los recursos naturales. En el contexto del ODS 12, esta obra nos recuerda la necesidad de moderar nuestras prácticas de consumo y producción, equilibrando el progreso humano con la preservación del medio ambiente y la sostenibilidad de los recursos naturales. Así, la obra de Bosch puede servir de inspiración para promover un consumo consciente y responsable en la actualidad.
## ¿Por qué es importante el ODS 12?
Implementar patrones de producción y consumo sostenibles es vital para proteger el medio ambiente, conservar los recursos naturales y promover un desarrollo económico que no comprometa las necesidades de las generaciones futuras.

View File

@@ -1,14 +1,13 @@
---
titulo: 'ODS 13: Acciones Urgentes por el Clima'
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
@@ -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
<ImagenMD alt="reunion internacional" src="https://roe.ru/upload/resize_cache/iblock/0f9/1280_960_1e3cd68611aa859771f9d287689e58ce0/37qv8ldw18d3mpxhabw9r2uu9wvkxopt.jpeg"/>
<ImagenMD alt="reunion internacional" src="https://www.gob.mx/cms/uploads/article/main_image/8766/blog_nov_G20.jpg"/>
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.
@@ -52,6 +51,18 @@ Es importante incluir medidas climáticas en las políticas nacionales y locales
Los ecosistemas como los bosques y los océanos desempeñan un papel crucial en la absorción de CO2 y la regulación del clima. Su protección y restauración son esenciales para combatir el cambio climático y garantizar la estabilidad de nuestro entorno.
### 8. Representación histórica
#### *La Tempestad* de Giovanni Bellini: Un Reflejo de la Amenaza Climática
<ImagenMD alt="La Tempestad" src="https://historia-arte.com/_/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpbSI6WyJcL2FydHdvcmtcL2ltYWdlRmlsZVwvNjQ1NjA3ZjY0NmQyNy5qcGciLCJyZXNpemUsMjAwMCwyMDAwIl19.bT03SRFB1LHc-Fw0fddux2o9zoaJaAdSWe3PiZbx0mQ.jpg"/>
La pintura *La Tempestad* de Giovanni Bellini, creada en 1508, muestra un paisaje dramático en el que una tormenta se aproxima, representando la naturaleza desbordándose de manera inminente. Este cuadro se puede asociar directamente con el **ODS 13** (Acción por el Clima) debido a su representación de los fenómenos naturales extremos, como las tormentas, que pueden interpretarse como una metáfora de los efectos destructivos del cambio climático.
La obra captura el momento de una tormenta que parece a punto de desatarse sobre una ciudad, una representación simbólica de la creciente amenaza del cambio climático. Así, la obra resalta la vulnerabilidad de las sociedades humanas ante los fenómenos climáticos intensificados por el cambio climático. Los seres humanos, que parecen insignificantes en el vasto paisaje, pueden verse como metáforas de la fragilidad humana frente a las fuerzas de la naturaleza, que ya no son predecibles ni controlables como antes.
La obra subraya la necesidad urgente de **tomar medidas para mitigar y adaptarse a los impactos climáticos**, algo que está en el corazón del ODS 13. En lugar de tratar de dominar la naturaleza, la humanidad debe aprender a convivir con ella y tomar acciones para reducir los riesgos y las consecuencias destructivas de estos eventos climáticos.
## ¿Por qué es importante actuar ahora?
El cambio climático es una amenaza que afecta la biodiversidad, la economía y la seguridad de las personas en todo el mundo. Las acciones efectivas y coordinadas no solo mitigan sus efectos, sino que también garantizan un futuro más seguro y sostenible.

View File

@@ -1,14 +1,13 @@
---
titulo: 'Protegiendo nuestros océanos: ODS 14'
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
@@ -48,6 +47,12 @@ La investigación y cooperación internacional son clave para comprender los efe
Los océanos juegan un papel crucial en la regulación del clima y absorben aproximadamente el 30% del dióxido de carbono que emitimos. Sin embargo, el calentamiento global amenaza con aumentar la temperatura y el nivel del mar, así como con acidificar las aguas. Proteger los océanos es proteger uno de los principales reguladores climáticos del planeta.
### 7. Representación histórica
<ImagenMD alt="La ola de Katsushika Hokusai (1831)" src="https://artsdot.com/ADC/Art-ImgScreen-1.nsf/O/A-8XYDDD/$FILE/Katsushika-hokusai-the-great-wave-off-kanagawa.Jpg"/>
La famosa obra "La Gran Ola de Kanagawa" de **Katsushika Hokusai** es un símbolo poderoso del mar. A pesar de que fue creada en el siglo XIX, esta imagen de una ola gigante representa tanto la fuerza natural del océano como la fragilidad que puede experimentar frente a amenazas como el cambio climático y la contaminación.
El océano, como se ve en esta obra, tiene el poder de dominar, pero también de mostrarse vulnerable a las acciones humanas. Esta imagen sirve como un recordatorio de la necesidad de proteger los océanos y mantener un equilibrio sostenible entre la humanidad y el mar. En el contexto del ODS 14, "La Gran Ola" simboliza la urgencia de actuar para conservar nuestros mares y proteger su biodiversidad frente a los retos actuales.
## ¿Por qué es importante cuidar nuestros océanos?
Nuestros océanos no solo son el hogar de una gran variedad de especies; también proveen alimentos, generan empleo y regulan el clima. Al conservar los océanos, estamos cuidando de nuestras fuentes de alimento, de la biodiversidad y de la salud del planeta en general.

View File

@@ -1,14 +1,13 @@
---
titulo: 'ODS 15: Protegiendo la Vida en los Ecosistemas Terrestres'
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"
@@ -40,6 +39,13 @@ El uso sostenible de los recursos naturales implica prácticas que permitan disf
El ODS 15 lucha contra la deforestación y la desertificación, priorizando áreas vulnerables y trabajando para restaurar su productividad y biodiversidad.
### 5. Representación histórica
<ImagenMD alt="El árbol de la vida de Gustav Klimt (1905)" src="https://upload.wikimedia.org/wikipedia/commons/5/5d/Klimt_Tree_of_Life_1909.jpg"/>
La obra **El árbol de la vida** de **Gustav Klimt**, aunque de carácter artístico, es un símbolo poderoso de la conexión entre todos los elementos de la naturaleza. El árbol, como figura central, representa la vida, la biodiversidad y la interconexión de todos los seres vivos. En el contexto del ODS 15, la obra simboliza la importancia de conservar los ecosistemas terrestres y la biodiversidad, que, al igual que el árbol de Klimt, es esencial para el equilibrio de la vida en la Tierra.
La imagen transmite la idea de un mundo interconectado, donde la protección de cada elemento, como los ecosistemas terrestres, es crucial para garantizar la salud y sostenibilidad del planeta. El árbol, con sus ramas extendidas y su vibrante riqueza de detalles, refleja la complejidad de la biodiversidad que debemos proteger para las futuras generaciones.
## ¿Por qué es importante el ODS 15?
Los ecosistemas terrestres son fundamentales para regular el clima, mantener el ciclo del agua y preservar la biodiversidad. Sin un uso sostenible y la protección de estos recursos, enfrentamos un futuro con mayor escasez de agua, menor calidad del suelo y menos diversidad biológica, afectando a todas las formas de vida.

View File

@@ -1,14 +1,13 @@
---
titulo: 'ODS 16: Construyendo un Futuro de Paz, Justicia y Transparencia Global'
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"
@@ -42,6 +41,15 @@ ODS 16 apoya la promoción y protección de los derechos humanos y las libertade
<ImagenMD alt="votacion publica" src="https://blogs.iadb.org/conocimiento-abierto/wp-content/uploads/sites/10/2018/01/Vota-Inteligente-banner-6.png"/>
La participación activa de la ciudadanía es vital para una gobernanza inclusiva. El ODS 16 fomenta que cada persona tenga un papel en las decisiones que afectan sus vidas y sus comunidades, promoviendo así una democracia más fuerte y equitativa.
### 6. Representación Histórica
<ImagenMD alt="gernica" src="https://static5.museoreinasofia.es/sites/default/files/obras/DE00050.jpg"/>
La famosa pintura *Guernica* de Pablo Picasso, creada en 1937, es un poderoso símbolo de los horrores de la guerra y la violencia, lo que la convierte en una obra relevante para el ODS 16. Esta obra denuncia la brutalidad del bombardeo de la ciudad vasca de Guernica durante la Guerra Civil Española, mostrando el sufrimiento de los civiles inocentes atrapados en el caos del conflicto. En ella, Picasso emplea un lenguaje visual sombrío y cargado de simbolismo para expresar el dolor, la injusticia y la desesperación causados por la guerra.
*Guernica* encarna varios aspectos clave del ODS 16, particularmente la importancia de la paz, la justicia y la protección de los derechos humanos. La obra es una denuncia contra la violencia desmedida y la falta de justicia para las víctimas de la guerra, instando a la reflexión sobre la necesidad de crear sociedades donde prevalezcan la paz y el respeto por los derechos fundamentales. En este sentido, la obra de Picasso nos recuerda la urgente necesidad de fortalecer las instituciones que garanticen la justicia y protejan a las personas de las atrocidades de los conflictos armados.
## ¿Por qué es importante el ODS 16?
ODS 16 se centra en el papel fundamental de la paz, la justicia y las instituciones inclusivas para el progreso de cualquier sociedad. Sin estos elementos, es difícil lograr un desarrollo sostenible que incluya a todos y que respete los derechos de cada persona. La paz y la justicia no solo son valores fundamentales, sino también los pilares sobre los que podemos construir un futuro más sostenible.

View File

@@ -1,14 +1,13 @@
---
titulo: 'Construyendo Alianzas para un Futuro Sostenible: ODS 17'
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.
@@ -44,6 +43,13 @@ Este objetivo fomenta un sistema comercial global que sea abierto, basado en reg
Para que los ODS se implementen de manera efectiva, es crucial involucrar a múltiples actores, desde el sector privado hasta organizaciones de la sociedad civil y otros grupos. Este aspecto del ODS 17 resalta la importancia de un enfoque colaborativo, donde todos los sectores trabajen juntos hacia objetivos comunes.
### 6. Representación histórica
<ImagenMD alt="El abrazo de Egon Schiele (1917)" src="https://historia-arte.com/_/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpbSI6WyJcL2FydHdvcmtcL2ltYWdlRmlsZVwvZWdvbl9zY2hpZWxlXzAxNi5qcGciLCJyZXNpemUsMTUwMHxmb3JtYXQsd2VicCJdfQ.PHKWC7ZOpIpS--fjeZvsGKaUlvHpyLmQlJplMiSiG7A.webp"/>
La obra **El abrazo** de **Egon Schiele**, aunque originaria del arte moderno, captura de manera profunda la esencia de la conexión humana. En el contexto del ODS 17, la obra simboliza la importancia de las alianzas y la cooperación entre individuos y naciones. El acto de abrazar en la pintura puede verse como un reflejo de cómo los países, empresas y sociedades deben unirse para alcanzar los Objetivos de Desarrollo Sostenible.
Este gesto de abrazo, cargado de empatía y cercanía, resalta la idea de que solo trabajando juntos podemos superar los desafíos globales, como el cambio climático, la pobreza y la desigualdad. Al igual que en la pintura, la cooperación debe ser inclusiva y solidaria, permitiendo un desarrollo global equilibrado y equitativo.
## El ODS 17 en Acción
Fortalecer las alianzas globales y regionales nos permite avanzar hacia una sostenibilidad real y compartida. Las empresas, gobiernos y ciudadanos tienen un papel activo en la promoción de alianzas que generen impacto positivo. Al unir recursos y esfuerzos, podemos crear un mundo donde cada uno de los ODS sea alcanzable.

View File

@@ -1,14 +1,13 @@
---
titulo: 'ODS 2: Hambre Cero'
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,12 @@
---
titulo: 'ODS 3: Salud y Bienestar'
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,12 @@
---
titulo: 'ODS 4: Educación de Calidad'
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,12 @@
---
titulo: 'ODS 5: Igualdad de Género'
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,12 @@
---
titulo: 'ODS 6: Agua Limpia y Saneamiento'
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,12 @@
---
titulo: 'ODS 7: Energía Asequible y No Contaminante'
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,12 @@
---
titulo: 'ODS 8: Trabajo Decente y Crecimiento Económico'
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,12 @@
---
titulo: 'ODS 9: Industria, Innovación e Infraestructura'
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,13 @@
---
titulo: 'Pérdida de biodiversidad: Un reto para el desarrollo sostenible'
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,13 @@
---
titulo: 'Criterios ASG: La Guía Completa para Empresas Sostenibles y Responsables'
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,13 @@
---
titulo: 'Inversiones Socialmente Responsables (ISR): Finanzas para un Futuro Sostenible'
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,13 @@
---
titulo: 'Retos Ambientales: Enfrentando los Desafíos del Futuro'
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,13 @@
---
titulo: 'El Rol de los Stakeholders y los Criterios ASG en el Desarrollo Sostenible Empresarial'
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
@@ -54,7 +53,7 @@ Los acreedores, como bancos y otras instituciones financieras, otorgan préstamo
### 7. Sindicatos
Los sindicatos representan a los trabajadores y buscan mejorar sus condiciones, incluyendo salarios, beneficios y condiciones laborales. Las empresas deben dialogar con los sindicatos y tomar en cuenta sus demandas para mantener relaciones laborales armoniosas y sostenibles.
<ImagenMD alt="sindicato" src="https://www.falange-autentica.es/images/stories/contenido/2018/sindicalismo.jpg"/>
<ImagenMD alt="sindicato" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9dUFEtgBNPRvmyDs4vttKzH_0E5wUNd8Lx9takqO-aeWdmlLZFWp9auW52maXvDxGqn6TSR0Ozte0DZy2vlvugU6dRoZGiwmTjn4hUVj5INM4jHA-_jCrab3JHnxH8OvCib9ca4gacnGr/s1600/Dibujo26.JPG"/>
### 8. Comunidades Locales
@@ -64,7 +63,7 @@ Las comunidades locales están compuestas por las personas que viven en el área
### 9. Medios de Comunicación
Los medios de comunicación son importantes transmisores de las políticas y logros ASG de las empresas. Es fundamental que las empresas vean a los medios como aliados en la difusión de su compromiso con el desarrollo sostenible y la responsabilidad social.
<ImagenMD alt="periodista" src="https://media.istockphoto.com/id/881468094/es/vector/periodistas-camar%C3%B3grafo-y-reportero-operador-quita-noticias-ilustraci%C3%B3n-de-vector-de-dise%C3%B1o.jpg?s=612x612&w=0&k=20&c=JVhmJ1SRb26aWuLnEEfUGmz4f2ChDAxNkOa7KUR_ypY="/>
<ImagenMD alt="periodista" src="https://www.nosequeestudiar.net/site/assets/files/2390/periodista-en-su-trabajo.400x300.jpg"/>
### 10. Instituciones Políticas

78
src/styles/global.css Normal file
View File

@@ -0,0 +1,78 @@
@import "tailwindcss";
@plugin "daisyui";
@plugin "daisyui/theme" {
name: "forest";
default: false;
prefersdark: true;
color-scheme: "dark";
--color-base-100: oklch(20.84% 0.008 17.911);
--color-base-200: oklch(18.522% 0.007 17.911);
--color-base-300: oklch(16.203% 0.007 17.911);
--color-base-content: oklch(83.768% 0.001 17.911);
--color-primary: oklch(68.628% 0.185 148.958);
--color-primary-content: oklch(0% 0 0);
--color-secondary: oklch(69.776% 0.135 168.327);
--color-secondary-content: oklch(13.955% 0.027 168.327);
--color-accent: oklch(70.628% 0.119 185.713);
--color-accent-content: oklch(14.125% 0.023 185.713);
--color-neutral: oklch(30.698% 0.039 171.364);
--color-neutral-content: oklch(86.139% 0.007 171.364);
--color-info: oklch(72.06% 0.191 231.6);
--color-info-content: oklch(0% 0 0);
--color-success: oklch(64.8% 0.15 160);
--color-success-content: oklch(0% 0 0);
--color-warning: oklch(84.71% 0.199 83.87);
--color-warning-content: oklch(0% 0 0);
--color-error: oklch(71.76% 0.221 22.18);
--color-error-content: oklch(0% 0 0);
--radius-selector: 1rem;
--radius-field: 2rem;
--radius-box: 1rem;
--size-selector: 0.25rem;
--size-field: 0.25rem;
--border: 1px;
--depth: 0;
--noise: 0;
}
@plugin "daisyui/theme" {
name: "lemonade";
default: true;
prefersdark: false;
color-scheme: "light";
--color-base-100: oklch(98% 0 0);
--color-base-200: oklch(97% 0 0);
--color-base-300: oklch(92% 0 0);
--color-base-content: oklch(20% 0 0);
--color-primary: oklch(62% 0.194 149.214);
--color-primary-content: oklch(98% 0.018 155.826);
--color-secondary: oklch(54% 0.281 293.009);
--color-secondary-content: oklch(96% 0.016 293.756);
--color-accent: oklch(60% 0.126 221.723);
--color-accent-content: oklch(98% 0.019 200.873);
--color-neutral: oklch(43% 0 0);
--color-neutral-content: oklch(98% 0 0);
--color-info: oklch(70% 0.165 254.624);
--color-info-content: oklch(28% 0.091 267.935);
--color-success: oklch(79% 0.209 151.711);
--color-success-content: oklch(26% 0.065 152.934);
--color-warning: oklch(85% 0.199 91.936);
--color-warning-content: oklch(28% 0.066 53.813);
--color-error: oklch(71% 0.194 13.428);
--color-error-content: oklch(27% 0.105 12.094);
--radius-selector: 1rem;
--radius-field: 2rem;
--radius-box: 0.5rem;
--size-selector: 0.25rem;
--size-field: 0.25rem;
--border: 1px;
--depth: 0;
--noise: 1;
}