diff --git a/STYLE_GUIDE.md b/STYLE_GUIDE.md
index 2a43e1f..d2b9506 100644
--- a/STYLE_GUIDE.md
+++ b/STYLE_GUIDE.md
@@ -241,7 +241,7 @@ extra_css:
Ser Voluntario
diff --git a/broken_links.json b/broken_links.json
index 64bd6bb..85327b0 100644
--- a/broken_links.json
+++ b/broken_links.json
@@ -1,8 +1,8 @@
{
"summary": {
- "total_files_scanned": 45,
- "working_links": 80,
- "broken_links": 2,
+ "total_files_scanned": 44,
+ "working_links": 81,
+ "broken_links": 0,
"base_url": "http://127.0.0.1:8000"
},
"broken_links": [
@@ -29,8 +29,8 @@
{
"file": "index.md",
"text": "Explorar charlas",
- "url": "/meetups/index.md",
- "full_url": "http://127.0.0.1:8000/meetups/index.html",
+ "url": "/meetups",
+ "full_url": "http://127.0.0.1:8000/meetups",
"status": "200 OK",
"line": 8,
"link_type": "html"
@@ -38,8 +38,8 @@
{
"file": "index.md",
"text": "Participa",
- "url": "/comunidad/como-contribuir/",
- "full_url": "http://127.0.0.1:8000/comunidad/como-contribuir/",
+ "url": "/comunidad/como-contribuir",
+ "full_url": "http://127.0.0.1:8000/comunidad/como-contribuir",
"status": "200 OK",
"line": 9,
"link_type": "html"
@@ -47,8 +47,8 @@
{
"file": "index.md",
"text": "Voluntarios",
- "url": "/comunidad/voluntarios/#voluntarios-de-python-cdmx",
- "full_url": "http://127.0.0.1:8000/comunidad/voluntarios/#voluntarios-de-python-cdmx",
+ "url": "/comunidad/voluntarios#voluntarios-de-python-cdmx",
+ "full_url": "http://127.0.0.1:8000/comunidad/voluntarios#voluntarios-de-python-cdmx",
"status": "200 OK",
"line": 21,
"link_type": "html"
@@ -56,8 +56,8 @@
{
"file": "index.md",
"text": "Ponentes",
- "url": "/comunidad/ponentes/#ponentes-de-python-cdmx",
- "full_url": "http://127.0.0.1:8000/comunidad/ponentes/#ponentes-de-python-cdmx",
+ "url": "/comunidad/ponentes#ponentes-de-python-cdmx",
+ "full_url": "http://127.0.0.1:8000/comunidad/ponentes#ponentes-de-python-cdmx",
"status": "200 OK",
"line": 22,
"link_type": "html"
@@ -65,8 +65,8 @@
{
"file": "index.md",
"text": "Conoce Más",
- "url": "/comunidad/ponentes/",
- "full_url": "http://127.0.0.1:8000/comunidad/ponentes/",
+ "url": "/comunidad/ponentes",
+ "full_url": "http://127.0.0.1:8000/comunidad/ponentes",
"status": "200 OK",
"line": 39,
"link_type": "html"
@@ -74,8 +74,8 @@
{
"file": "index.md",
"text": "Únete",
- "url": "/comunidad/voluntarios/",
- "full_url": "http://127.0.0.1:8000/comunidad/voluntarios/",
+ "url": "/comunidad/voluntarios",
+ "full_url": "http://127.0.0.1:8000/comunidad/voluntarios",
"status": "200 OK",
"line": 44,
"link_type": "html"
@@ -83,8 +83,8 @@
{
"file": "index.md",
"text": "Ver Eventos",
- "url": "/meetups/index.md",
- "full_url": "http://127.0.0.1:8000/meetups/index.html",
+ "url": "/meetups",
+ "full_url": "http://127.0.0.1:8000/meetups",
"status": "200 OK",
"line": 49,
"link_type": "html"
@@ -92,8 +92,8 @@
{
"file": "about.md",
"text": "guía para ponentes",
- "url": "comunidad/ponentes/",
- "full_url": "http://127.0.0.1:8000/comunidad/ponentes/",
+ "url": "comunidad/ponentes",
+ "full_url": "http://127.0.0.1:8000/comunidad/ponentes",
"status": "200 OK",
"line": 42,
"link_type": "markdown"
@@ -101,8 +101,8 @@
{
"file": "about.md",
"text": "nuestra página de voluntarios",
- "url": "comunidad/voluntarios/",
- "full_url": "http://127.0.0.1:8000/comunidad/voluntarios/",
+ "url": "comunidad/voluntarios",
+ "full_url": "http://127.0.0.1:8000/comunidad/voluntarios",
"status": "200 OK",
"line": 46,
"link_type": "markdown"
@@ -110,7 +110,7 @@
{
"file": "meetups/2025/index.md",
"text": "Ver detalles",
- "url": "202508-agosto/",
+ "url": "202508-agosto",
"full_url": "http://127.0.0.1:8000/meetups/2025/202508-agosto",
"status": "200 OK",
"line": 15,
@@ -119,7 +119,7 @@
{
"file": "meetups/2025/index.md",
"text": "Ver detalles",
- "url": "202507-julio/",
+ "url": "202507-julio",
"full_url": "http://127.0.0.1:8000/meetups/2025/202507-julio",
"status": "200 OK",
"line": 16,
@@ -128,7 +128,7 @@
{
"file": "meetups/2025/index.md",
"text": "Ver detalles",
- "url": "202506-junio/",
+ "url": "202506-junio",
"full_url": "http://127.0.0.1:8000/meetups/2025/202506-junio",
"status": "200 OK",
"line": 17,
@@ -137,7 +137,7 @@
{
"file": "meetups/2025/index.md",
"text": "Ver detalles",
- "url": "202505-mayo/",
+ "url": "202505-mayo",
"full_url": "http://127.0.0.1:8000/meetups/2025/202505-mayo",
"status": "200 OK",
"line": 18,
@@ -146,7 +146,7 @@
{
"file": "meetups/2025/index.md",
"text": "Ver detalles",
- "url": "202504-unam/",
+ "url": "202504-unam",
"full_url": "http://127.0.0.1:8000/meetups/2025/202504-unam",
"status": "200 OK",
"line": 19,
@@ -155,7 +155,7 @@
{
"file": "meetups/2025/index.md",
"text": "Ver detalles",
- "url": "202504-unam/",
+ "url": "202504-unam",
"full_url": "http://127.0.0.1:8000/meetups/2025/202504-unam",
"status": "200 OK",
"line": 20,
@@ -164,7 +164,7 @@
{
"file": "meetups/2025/index.md",
"text": "Ver detalles",
- "url": "202504-abril/",
+ "url": "202504-abril",
"full_url": "http://127.0.0.1:8000/meetups/2025/202504-abril",
"status": "200 OK",
"line": 21,
@@ -173,7 +173,7 @@
{
"file": "meetups/2025/index.md",
"text": "Ver detalles",
- "url": "202503-marzo/",
+ "url": "202503-marzo",
"full_url": "http://127.0.0.1:8000/meetups/2025/202503-marzo",
"status": "200 OK",
"line": 22,
@@ -182,7 +182,7 @@
{
"file": "meetups/2025/index.md",
"text": "Ver detalles",
- "url": "202503-marzo/",
+ "url": "202503-marzo",
"full_url": "http://127.0.0.1:8000/meetups/2025/202503-marzo",
"status": "200 OK",
"line": 23,
@@ -191,7 +191,7 @@
{
"file": "meetups/2025/index.md",
"text": "Ver detalles",
- "url": "202502-febrero/",
+ "url": "202502-febrero",
"full_url": "http://127.0.0.1:8000/meetups/2025/202502-febrero",
"status": "200 OK",
"line": 24,
@@ -200,7 +200,7 @@
{
"file": "meetups/2025/index.md",
"text": "Ver detalles",
- "url": "202502-febrero/",
+ "url": "202502-febrero",
"full_url": "http://127.0.0.1:8000/meetups/2025/202502-febrero",
"status": "200 OK",
"line": 25,
@@ -209,7 +209,7 @@
{
"file": "meetups/2025/index.md",
"text": "Ver detalles",
- "url": "202501-enero/",
+ "url": "202501-enero",
"full_url": "http://127.0.0.1:8000/meetups/2025/202501-enero",
"status": "200 OK",
"line": 26,
@@ -218,7 +218,7 @@
{
"file": "meetups/2025/index.md",
"text": "Ver detalles",
- "url": "202501-enero/",
+ "url": "202501-enero",
"full_url": "http://127.0.0.1:8000/meetups/2025/202501-enero",
"status": "200 OK",
"line": 27,
@@ -227,7 +227,7 @@
{
"file": "meetups/2025/index.md",
"text": "ponentes y voluntarios reconocidos",
- "url": "../../comunidad/como-contribuir/",
+ "url": "../../comunidad/como-contribuir",
"full_url": "http://127.0.0.1:8000/comunidad/como-contribuir",
"status": "200 OK",
"line": 68,
@@ -236,7 +236,7 @@
{
"file": "meetups/2024/index.md",
"text": "Ver detalles",
- "url": "202411-noviembre/",
+ "url": "202411-noviembre",
"full_url": "http://127.0.0.1:8000/meetups/2024/202411-noviembre",
"status": "200 OK",
"line": 15,
@@ -245,7 +245,7 @@
{
"file": "meetups/2024/index.md",
"text": "Ver detalles",
- "url": "202411-noviembre/",
+ "url": "202411-noviembre",
"full_url": "http://127.0.0.1:8000/meetups/2024/202411-noviembre",
"status": "200 OK",
"line": 16,
@@ -254,7 +254,7 @@
{
"file": "meetups/2024/index.md",
"text": "Ver detalles",
- "url": "202410-octubre/",
+ "url": "202410-octubre",
"full_url": "http://127.0.0.1:8000/meetups/2024/202410-octubre",
"status": "200 OK",
"line": 17,
@@ -263,7 +263,7 @@
{
"file": "meetups/2024/index.md",
"text": "Ver detalles",
- "url": "202409-septiembre/",
+ "url": "202409-septiembre",
"full_url": "http://127.0.0.1:8000/meetups/2024/202409-septiembre",
"status": "200 OK",
"line": 18,
@@ -272,7 +272,7 @@
{
"file": "meetups/2024/index.md",
"text": "Ver detalles",
- "url": "202409-septiembre/",
+ "url": "202409-septiembre",
"full_url": "http://127.0.0.1:8000/meetups/2024/202409-septiembre",
"status": "200 OK",
"line": 19,
@@ -281,7 +281,7 @@
{
"file": "meetups/2024/index.md",
"text": "Ver detalles",
- "url": "202408-agosto/",
+ "url": "202408-agosto",
"full_url": "http://127.0.0.1:8000/meetups/2024/202408-agosto",
"status": "200 OK",
"line": 20,
@@ -290,7 +290,7 @@
{
"file": "meetups/2024/index.md",
"text": "Ver detalles",
- "url": "202408-agosto/",
+ "url": "202408-agosto",
"full_url": "http://127.0.0.1:8000/meetups/2024/202408-agosto",
"status": "200 OK",
"line": 21,
@@ -299,7 +299,7 @@
{
"file": "meetups/2024/index.md",
"text": "Ver detalles",
- "url": "202407-julio/",
+ "url": "202407-julio",
"full_url": "http://127.0.0.1:8000/meetups/2024/202407-julio",
"status": "200 OK",
"line": 22,
@@ -308,7 +308,7 @@
{
"file": "meetups/2024/index.md",
"text": "Ver detalles",
- "url": "202407-julio/",
+ "url": "202407-julio",
"full_url": "http://127.0.0.1:8000/meetups/2024/202407-julio",
"status": "200 OK",
"line": 23,
@@ -317,7 +317,7 @@
{
"file": "meetups/2024/index.md",
"text": "Ver detalles",
- "url": "202406-junio/",
+ "url": "202406-junio",
"full_url": "http://127.0.0.1:8000/meetups/2024/202406-junio",
"status": "200 OK",
"line": 24,
@@ -326,7 +326,7 @@
{
"file": "meetups/2024/index.md",
"text": "Ver detalles",
- "url": "202405-mayo/",
+ "url": "202405-mayo",
"full_url": "http://127.0.0.1:8000/meetups/2024/202405-mayo",
"status": "200 OK",
"line": 25,
@@ -335,7 +335,7 @@
{
"file": "meetups/2024/index.md",
"text": "Ver detalles",
- "url": "202404-abril/",
+ "url": "202404-abril",
"full_url": "http://127.0.0.1:8000/meetups/2024/202404-abril",
"status": "200 OK",
"line": 26,
@@ -344,7 +344,7 @@
{
"file": "meetups/2024/index.md",
"text": "Ver detalles",
- "url": "202403-marzo/",
+ "url": "202403-marzo",
"full_url": "http://127.0.0.1:8000/meetups/2024/202403-marzo",
"status": "200 OK",
"line": 27,
@@ -353,7 +353,7 @@
{
"file": "meetups/2024/index.md",
"text": "Ver detalles",
- "url": "202402-febrero/",
+ "url": "202402-febrero",
"full_url": "http://127.0.0.1:8000/meetups/2024/202402-febrero",
"status": "200 OK",
"line": 28,
@@ -362,7 +362,7 @@
{
"file": "meetups/2024/index.md",
"text": "Ver detalles",
- "url": "202401-enero/",
+ "url": "202401-enero",
"full_url": "http://127.0.0.1:8000/meetups/2024/202401-enero",
"status": "200 OK",
"line": 29,
@@ -371,7 +371,7 @@
{
"file": "meetups/2024/index.md",
"text": "ponentes y voluntarios reconocidos",
- "url": "../../comunidad/como-contribuir/",
+ "url": "../../comunidad/como-contribuir",
"full_url": "http://127.0.0.1:8000/comunidad/como-contribuir",
"status": "200 OK",
"line": 69,
@@ -380,7 +380,7 @@
{
"file": "meetups/2023/index.md",
"text": "Ver detalles",
- "url": "202311-noviembre/",
+ "url": "202311-noviembre",
"full_url": "http://127.0.0.1:8000/meetups/2023/202311-noviembre",
"status": "200 OK",
"line": 15,
@@ -389,7 +389,7 @@
{
"file": "meetups/2023/index.md",
"text": "Ver detalles",
- "url": "202311-noviembre/",
+ "url": "202311-noviembre",
"full_url": "http://127.0.0.1:8000/meetups/2023/202311-noviembre",
"status": "200 OK",
"line": 16,
@@ -398,7 +398,7 @@
{
"file": "meetups/2023/index.md",
"text": "Ver detalles",
- "url": "202310-octubre/",
+ "url": "202310-octubre",
"full_url": "http://127.0.0.1:8000/meetups/2023/202310-octubre",
"status": "200 OK",
"line": 17,
@@ -407,7 +407,7 @@
{
"file": "meetups/2023/index.md",
"text": "Ver detalles",
- "url": "202309-septiembre/",
+ "url": "202309-septiembre",
"full_url": "http://127.0.0.1:8000/meetups/2023/202309-septiembre",
"status": "200 OK",
"line": 18,
@@ -416,7 +416,7 @@
{
"file": "meetups/2023/index.md",
"text": "Ver detalles",
- "url": "202309-septiembre/",
+ "url": "202309-septiembre",
"full_url": "http://127.0.0.1:8000/meetups/2023/202309-septiembre",
"status": "200 OK",
"line": 19,
@@ -425,7 +425,7 @@
{
"file": "meetups/2023/index.md",
"text": "ponentes y voluntarios reconocidos",
- "url": "../../comunidad/como-contribuir/",
+ "url": "../../comunidad/como-contribuir",
"full_url": "http://127.0.0.1:8000/comunidad/como-contribuir",
"status": "200 OK",
"line": 59,
@@ -434,8 +434,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Mejora tu código: Evita anti-patrones en Python\" (Noviembre 2024)",
- "url": "/meetups/2024/202411-noviembre/",
- "full_url": "http://127.0.0.1:8000/meetups/2024/202411-noviembre/",
+ "url": "/meetups/2024/202411-noviembre",
+ "full_url": "http://127.0.0.1:8000/meetups/2024/202411-noviembre",
"status": "200 OK",
"line": 125,
"link_type": "html"
@@ -443,8 +443,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Desarrollo de APIs con Python\" (Marzo 2024)",
- "url": "/meetups/2024/202403-marzo/",
- "full_url": "http://127.0.0.1:8000/meetups/2024/202403-marzo/",
+ "url": "/meetups/2024/202403-marzo",
+ "full_url": "http://127.0.0.1:8000/meetups/2024/202403-marzo",
"status": "200 OK",
"line": 126,
"link_type": "html"
@@ -452,8 +452,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Una ida y una vuelta: Cómo iniciar en el opensource\" (Octubre 2024)",
- "url": "/meetups/2024/202410-octubre/",
- "full_url": "http://127.0.0.1:8000/meetups/2024/202410-octubre/",
+ "url": "/meetups/2024/202410-octubre",
+ "full_url": "http://127.0.0.1:8000/meetups/2024/202410-octubre",
"status": "200 OK",
"line": 158,
"link_type": "html"
@@ -461,8 +461,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Aplicaciones de IA en la nube\" (Junio 2025)",
- "url": "/meetups/2025/202506-junio/",
- "full_url": "http://127.0.0.1:8000/meetups/2025/202506-junio/",
+ "url": "/meetups/2025/202506-junio",
+ "full_url": "http://127.0.0.1:8000/meetups/2025/202506-junio",
"status": "200 OK",
"line": 190,
"link_type": "html"
@@ -470,8 +470,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Kubernetes y MLOps: Desplegando aplicaciones de IA\" (Abril 2025)",
- "url": "/meetups/2025/202504-abril/",
- "full_url": "http://127.0.0.1:8000/meetups/2025/202504-abril/",
+ "url": "/meetups/2025/202504-abril",
+ "full_url": "http://127.0.0.1:8000/meetups/2025/202504-abril",
"status": "200 OK",
"line": 222,
"link_type": "html"
@@ -479,8 +479,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"GitOps 101. Primeros pasos para desplegar aplicaciones en Kubernetes\" (Noviembre 2023)",
- "url": "/meetups/2023/202311-noviembre/",
- "full_url": "http://127.0.0.1:8000/meetups/2023/202311-noviembre/",
+ "url": "/meetups/2023/202311-noviembre",
+ "full_url": "http://127.0.0.1:8000/meetups/2023/202311-noviembre",
"status": "200 OK",
"line": 223,
"link_type": "html"
@@ -488,8 +488,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Programar en tiempos del Vibe-Coding\" (Abril 2025 - UNAM)",
- "url": "/meetups/2025/202504-unam/",
- "full_url": "http://127.0.0.1:8000/meetups/2025/202504-unam/",
+ "url": "/meetups/2025/202504-unam",
+ "full_url": "http://127.0.0.1:8000/meetups/2025/202504-unam",
"status": "200 OK",
"line": 255,
"link_type": "html"
@@ -497,8 +497,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Validación de datos con Python\" (Mayo 2024)",
- "url": "/meetups/2024/202405-mayo/",
- "full_url": "http://127.0.0.1:8000/meetups/2024/202405-mayo/",
+ "url": "/meetups/2024/202405-mayo",
+ "full_url": "http://127.0.0.1:8000/meetups/2024/202405-mayo",
"status": "200 OK",
"line": 256,
"link_type": "html"
@@ -506,8 +506,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"portafolio.py: Como hacer un portafolio web sin saber diseño web\" (Abril 2025 - UNAM)",
- "url": "/meetups/2025/202504-unam/",
- "full_url": "http://127.0.0.1:8000/meetups/2025/202504-unam/",
+ "url": "/meetups/2025/202504-unam",
+ "full_url": "http://127.0.0.1:8000/meetups/2025/202504-unam",
"status": "200 OK",
"line": 288,
"link_type": "html"
@@ -515,8 +515,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Cómo preparar una ambiente de desarrollo con Python desde zero\" (Julio 2025)",
- "url": "/meetups/2025/202507-julio/",
- "full_url": "http://127.0.0.1:8000/meetups/2025/202507-julio/",
+ "url": "/meetups/2025/202507-julio",
+ "full_url": "http://127.0.0.1:8000/meetups/2025/202507-julio",
"status": "200 OK",
"line": 320,
"link_type": "html"
@@ -524,8 +524,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Interfaces gráficas con PySide6\" (Marzo 2025)",
- "url": "/meetups/2025/202503-marzo/",
- "full_url": "http://127.0.0.1:8000/meetups/2025/202503-marzo/",
+ "url": "/meetups/2025/202503-marzo",
+ "full_url": "http://127.0.0.1:8000/meetups/2025/202503-marzo",
"status": "200 OK",
"line": 321,
"link_type": "html"
@@ -533,8 +533,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Rich y Textual: Haz tus aplicaciones en la consola visualmente atractivas\" (Septiembre 2024)",
- "url": "/meetups/2024/202409-septiembre/",
- "full_url": "http://127.0.0.1:8000/meetups/2024/202409-septiembre/",
+ "url": "/meetups/2024/202409-septiembre",
+ "full_url": "http://127.0.0.1:8000/meetups/2024/202409-septiembre",
"status": "200 OK",
"line": 322,
"link_type": "html"
@@ -542,8 +542,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Utilizando Servicios Administrados de AI de AWS con Python y Boto3\" (Septiembre 2023)",
- "url": "/meetups/2023/202309-septiembre/",
- "full_url": "http://127.0.0.1:8000/meetups/2023/202309-septiembre/",
+ "url": "/meetups/2023/202309-septiembre",
+ "full_url": "http://127.0.0.1:8000/meetups/2023/202309-septiembre",
"status": "200 OK",
"line": 323,
"link_type": "html"
@@ -551,8 +551,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"chit-chat: Representaciones fonéticas con python\" (Septiembre 2024)",
- "url": "/meetups/2024/202409-septiembre/",
- "full_url": "http://127.0.0.1:8000/meetups/2024/202409-septiembre/",
+ "url": "/meetups/2024/202409-septiembre",
+ "full_url": "http://127.0.0.1:8000/meetups/2024/202409-septiembre",
"status": "200 OK",
"line": 355,
"link_type": "html"
@@ -560,8 +560,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Mi Primer Agente de Inteligencia Artificial con Python\" (Marzo 2025)",
- "url": "/meetups/2025/202503-marzo/",
- "full_url": "http://127.0.0.1:8000/meetups/2025/202503-marzo/",
+ "url": "/meetups/2025/202503-marzo",
+ "full_url": "http://127.0.0.1:8000/meetups/2025/202503-marzo",
"status": "200 OK",
"line": 387,
"link_type": "html"
@@ -569,8 +569,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Guía Práctica para Convertirse en Contribuidor de Open Source en 10 Años (o más)\" (Agosto 2024)",
- "url": "/meetups/2024/202408-agosto/",
- "full_url": "http://127.0.0.1:8000/meetups/2024/202408-agosto/",
+ "url": "/meetups/2024/202408-agosto",
+ "full_url": "http://127.0.0.1:8000/meetups/2024/202408-agosto",
"status": "200 OK",
"line": 419,
"link_type": "html"
@@ -578,8 +578,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Matemáticas y Python: La Ciencia Detrás de la Regresión Lineal\" (Junio 2024)",
- "url": "/meetups/2024/202406-junio/",
- "full_url": "http://127.0.0.1:8000/meetups/2024/202406-junio/",
+ "url": "/meetups/2024/202406-junio",
+ "full_url": "http://127.0.0.1:8000/meetups/2024/202406-junio",
"status": "200 OK",
"line": 451,
"link_type": "html"
@@ -587,8 +587,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Protocolos en Python: El poder del tipado estático avanzado\" (Agosto 2024)",
- "url": "/meetups/2024/202408-agosto/",
- "full_url": "http://127.0.0.1:8000/meetups/2024/202408-agosto/",
+ "url": "/meetups/2024/202408-agosto",
+ "full_url": "http://127.0.0.1:8000/meetups/2024/202408-agosto",
"status": "200 OK",
"line": 483,
"link_type": "html"
@@ -596,8 +596,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"¡De Jupyter a Web en Minutos!\" (Octubre 2023)",
- "url": "/meetups/2023/202310-octubre/",
- "full_url": "http://127.0.0.1:8000/meetups/2023/202310-octubre/",
+ "url": "/meetups/2023/202310-octubre",
+ "full_url": "http://127.0.0.1:8000/meetups/2023/202310-octubre",
"status": "200 OK",
"line": 484,
"link_type": "html"
@@ -605,8 +605,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Metaprogramación en Python\" (Septiembre 2023)",
- "url": "/meetups/2023/202309-septiembre/",
- "full_url": "http://127.0.0.1:8000/meetups/2023/202309-septiembre/",
+ "url": "/meetups/2023/202309-septiembre",
+ "full_url": "http://127.0.0.1:8000/meetups/2023/202309-septiembre",
"status": "200 OK",
"line": 485,
"link_type": "html"
@@ -614,8 +614,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Python: La Forja de un Lenguaje\" (Noviembre 2023)",
- "url": "/meetups/2023/202311-noviembre/",
- "full_url": "http://127.0.0.1:8000/meetups/2023/202311-noviembre/",
+ "url": "/meetups/2023/202311-noviembre",
+ "full_url": "http://127.0.0.1:8000/meetups/2023/202311-noviembre",
"status": "200 OK",
"line": 486,
"link_type": "html"
@@ -623,8 +623,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Python y los esquemas ETLs\" (Julio 2024)",
- "url": "/meetups/2024/202407-julio/",
- "full_url": "http://127.0.0.1:8000/meetups/2024/202407-julio/",
+ "url": "/meetups/2024/202407-julio",
+ "full_url": "http://127.0.0.1:8000/meetups/2024/202407-julio",
"status": "200 OK",
"line": 518,
"link_type": "html"
@@ -632,8 +632,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Título de la charla\" (Noviembre 2024)",
- "url": "/meetups/2024/202411-noviembre/",
- "full_url": "http://127.0.0.1:8000/meetups/2024/202411-noviembre/",
+ "url": "/meetups/2024/202411-noviembre",
+ "full_url": "http://127.0.0.1:8000/meetups/2024/202411-noviembre",
"status": "200 OK",
"line": 519,
"link_type": "html"
@@ -641,8 +641,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Desarrollo de aplicaciones FinTech con Python\" (Mayo 2025)",
- "url": "/meetups/2025/202505-mayo/",
- "full_url": "http://127.0.0.1:8000/meetups/2025/202505-mayo/",
+ "url": "/meetups/2025/202505-mayo",
+ "full_url": "http://127.0.0.1:8000/meetups/2025/202505-mayo",
"status": "200 OK",
"line": 551,
"link_type": "html"
@@ -650,8 +650,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Embeddings - El lenguaje como las máquinas entienden el lenguaje humano\" (Febrero 2025)",
- "url": "/meetups/2025/202502-febrero/",
- "full_url": "http://127.0.0.1:8000/meetups/2025/202502-febrero/",
+ "url": "/meetups/2025/202502-febrero",
+ "full_url": "http://127.0.0.1:8000/meetups/2025/202502-febrero",
"status": "200 OK",
"line": 583,
"link_type": "html"
@@ -659,8 +659,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"El futuro de Python sin GIL\" (Julio 2024)",
- "url": "/meetups/2024/202407-julio/",
- "full_url": "http://127.0.0.1:8000/meetups/2024/202407-julio/",
+ "url": "/meetups/2024/202407-julio",
+ "full_url": "http://127.0.0.1:8000/meetups/2024/202407-julio",
"status": "200 OK",
"line": 615,
"link_type": "html"
@@ -668,8 +668,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Lecciones del Advent of Code 2024\" (Febrero 2025)",
- "url": "/meetups/2025/202502-febrero/",
- "full_url": "http://127.0.0.1:8000/meetups/2025/202502-febrero/",
+ "url": "/meetups/2025/202502-febrero",
+ "full_url": "http://127.0.0.1:8000/meetups/2025/202502-febrero",
"status": "200 OK",
"line": 647,
"link_type": "html"
@@ -677,8 +677,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Creando extensiones para LibreOffice, con Python\" (Enero 2025)",
- "url": "/meetups/2025/202501-enero/",
- "full_url": "http://127.0.0.1:8000/meetups/2025/202501-enero/",
+ "url": "/meetups/2025/202501-enero",
+ "full_url": "http://127.0.0.1:8000/meetups/2025/202501-enero",
"status": "200 OK",
"line": 679,
"link_type": "html"
@@ -686,8 +686,8 @@
{
"file": "comunidad/ponentes.md",
"text": "\"Seguridad y cumplimiento de Python: Garantizar el cumplimiento de PCI DSS en un entorno Python\" (Enero 2025)",
- "url": "/meetups/2025/202501-enero/",
- "full_url": "http://127.0.0.1:8000/meetups/2025/202501-enero/",
+ "url": "/meetups/2025/202501-enero",
+ "full_url": "http://127.0.0.1:8000/meetups/2025/202501-enero",
"status": "200 OK",
"line": 711,
"link_type": "html"
@@ -695,7 +695,7 @@
{
"file": "comunidad/voluntarios.md",
"text": "Más Información",
- "url": "como-contribuir/",
+ "url": "como-contribuir",
"full_url": "http://127.0.0.1:8000/comunidad/como-contribuir",
"status": "200 OK",
"line": 87,
@@ -704,8 +704,8 @@
{
"file": "comunidad/sedes_faq.md",
"text": "Ser Ponente",
- "url": "ponentes/#por-que-ser-ponente",
- "full_url": "http://127.0.0.1:8000/comunidad/ponentes/#por-que-ser-ponente",
+ "url": "ponentes#por-que-ser-ponente",
+ "full_url": "http://127.0.0.1:8000/comunidad/ponentes#por-que-ser-ponente",
"status": "200 OK",
"line": 109,
"link_type": "markdown"
@@ -713,7 +713,7 @@
{
"file": "comunidad/como-contribuir.md",
"text": "Ser Ponente",
- "url": "ponentes/",
+ "url": "ponentes",
"full_url": "http://127.0.0.1:8000/comunidad/ponentes",
"status": "200 OK",
"line": 31,
@@ -722,7 +722,7 @@
{
"file": "comunidad/como-contribuir.md",
"text": "Ser Voluntario",
- "url": "voluntarios/",
+ "url": "voluntarios",
"full_url": "http://127.0.0.1:8000/comunidad/voluntarios",
"status": "200 OK",
"line": 37,
@@ -731,17 +731,26 @@
{
"file": "comunidad/como-contribuir.md",
"text": "Alianzas",
- "url": "alianzas/",
+ "url": "alianzas",
"full_url": "http://127.0.0.1:8000/comunidad/alianzas",
"status": "200 OK",
"line": 55,
"link_type": "markdown"
},
+ {
+ "file": "comunidad/como-contribuir.md",
+ "text": "formas de contribuir",
+ "url": "como-contribuir#formas-de-contribuir",
+ "full_url": "http://127.0.0.1:8000/comunidad/como-contribuir#formas-de-contribuir",
+ "status": "200 OK",
+ "line": 63,
+ "link_type": "markdown"
+ },
{
"file": "comunidad/como-contribuir.md",
"text": "nuestros meetups",
- "url": "../meetups/index.md",
- "full_url": "http://127.0.0.1:8000/meetups/index.html",
+ "url": "../meetups",
+ "full_url": "http://127.0.0.1:8000/meetups",
"status": "200 OK",
"line": 70,
"link_type": "markdown"
diff --git a/docs/about.md b/docs/about.md
index 507aeb0..577a72c 100644
--- a/docs/about.md
+++ b/docs/about.md
@@ -2,7 +2,7 @@
-# Sobre Python CDMX
+# Sobre Python CDMX :fontawesome-solid-info-circle:
Conectando la comunidad Python en la Ciudad de México
@@ -10,7 +10,7 @@
---
-##
Nuestra Historia
+## :fontawesome-solid-heart: Nuestra Historia
**Python CDMX** nació de la pasión por compartir conocimiento y conectar desarrolladores Python en la Ciudad de México. Desde nuestros inicios, hemos organizado meetups mensuales donde expertos y entusiastas se reúnen para aprender, compartir experiencias y construir relaciones profesionales.
@@ -18,16 +18,16 @@ Nuestra comunidad ha crecido significativamente, pasando de pequeños grupos de
---
-##
Nuestra Cultura
+## :fontawesome-solid-star: Nuestra Cultura
-###
Valores Fundamentales
+### :fontawesome-solid-handshake: Valores Fundamentales
- **Colaboración**: Creemos en el poder del trabajo en equipo y el intercambio de conocimientos
- **Inclusividad**: Nuestra comunidad es abierta y acogedora para todos los niveles de experiencia
- **Innovación**: Fomentamos la exploración de nuevas tecnologías y enfoques
- **Mentoría**: Promovemos el aprendizaje entre pares y el desarrollo profesional
-###
Filosofía
+### :fontawesome-solid-lightbulb: Filosofía
> *"Compartir conocimiento es multiplicar sabiduría"*
@@ -35,17 +35,17 @@ Creemos que el verdadero crecimiento profesional viene de la colaboración y el
---
-##
Formas de Participación
+## :fontawesome-solid-users: Formas de Participación
-###
Ser Ponente
+### :fontawesome-solid-microphone: Ser Ponente
-Comparte tu experiencia y conocimiento con la comunidad. Consulta nuestra [guía para ponentes](comunidad/ponentes/) para más información.
+Comparte tu experiencia y conocimiento con la comunidad. Consulta nuestra [guía para ponentes](comunidad/ponentes) para más información.
-###
Ser Voluntario
+### :fontawesome-solid-hands-helping: Ser Voluntario
-Ayuda a organizar eventos, gestionar redes sociales o contribuir con el desarrollo del sitio web. Conoce más en [nuestra página de voluntarios](comunidad/voluntarios/).
+Ayuda a organizar eventos, gestionar redes sociales o contribuir con el desarrollo del sitio web. Conoce más en [nuestra página de voluntarios](comunidad/voluntarios).
-###
Asistir a Meetups
+### :fontawesome-solid-calendar: Asistir a Meetups
Participa en nuestros eventos mensuales para aprender, conectar y crecer profesionalmente.
diff --git a/docs/components/community-links.md b/docs/components/community-links.md
index 9a840bf..9a6af83 100644
--- a/docs/components/community-links.md
+++ b/docs/components/community-links.md
@@ -1,10 +1,9 @@
-##
Conecta con Nuestra Comunidad
+## :fontawesome-solid-link: Conecta con Nuestra Comunidad
-
+[:fontawesome-brands-telegram: Telegram](https://t.me/PythonCDMX){ .community-link .telegram }
+[:fontawesome-brands-meetup: Meetup](https://www.meetup.com/python-mexico){ .community-link .meetup }
+[:fontawesome-brands-youtube: YouTube](https://www.youtube.com/@PythonMexico){ .community-link .youtube }
+[:fontawesome-brands-github: GitHub](https://github.com/PythonMexico/pythonCDMX){ .community-link .github }
+[:fontawesome-brands-instagram: Instagram](https://www.instagram.com/pythoncdmx/){ .community-link .instagram }
+[:fontawesome-brands-linkedin: LinkedIn](https://www.linkedin.com/groups/13126454/){ .community-link .linkedin }
+{ .community-links }
diff --git a/docs/components/quick-navigation.md b/docs/components/quick-navigation.md
index e1e42f1..268ea9d 100644
--- a/docs/components/quick-navigation.md
+++ b/docs/components/quick-navigation.md
@@ -1,36 +1,12 @@
-
Continúa Explorando
+## :fontawesome-solid-arrow-right: Continúa Explorando { .quick-navigation-title }
-
+[:fontawesome-solid-calendar: Meetups 2025](/meetups/2025/){ .btn-nav }
+[:fontawesome-solid-history: Meetups 2024](/meetups/2024){ .btn-nav }
+[:fontawesome-solid-archive: Archivo Completo](/meetups){ .btn-nav }
+[:fontawesome-solid-microphone: Ser Ponente](/comunidad/ponentes){ .btn-nav }
+[:fontawesome-solid-hands-helping: Ser Voluntario](/comunidad/voluntarios){ .btn-nav }
+[:fontawesome-solid-heart: Cómo Contribuir](/comunidad/como-contribuir){ .btn-nav }
+[:fontawesome-solid-users: Ver Ponentes](/comunidad/ponentes){ .btn-nav }
+[:fontawesome-solid-handshake: Alianzas](/comunidad/alianzas){ .btn-nav }
+[:fontawesome-solid-info-circle: Sobre Nosotros](/about){ .btn-nav }
+{ .quick-navigation }
diff --git a/docs/comunidad/alianzas.md b/docs/comunidad/alianzas.md
deleted file mode 100644
index a8fa4eb..0000000
--- a/docs/comunidad/alianzas.md
+++ /dev/null
@@ -1,205 +0,0 @@
-
-

-
-
-# Alianzas
-
-
- Comunidades y empresas que apoyan Python CDMX
-
-
----
-
-##
Nuestras Alianzas
-
-Python CDMX trabaja en colaboración con diversas comunidades y empresas para crear un ecosistema más fuerte y diverso. Estas alianzas nos permiten:
-
-- **Compartir recursos** y experiencias
-- **Organizar eventos conjuntos** de mayor impacto
-- **Expandir nuestra red** de contactos y oportunidades
-- **Crear sinergias** que benefician a toda la comunidad
-
----
-
-##
Comunidades Amigas
-
-###
Comunidades Python
-
-
-
-###
Otras Comunidades
-
-
-
----
-
-##
Empresas Aliadas
-
-###
Empresas Tecnológicas
-
-
-
----
-
-##
Beneficios de las Alianzas
-
-###
Para la Comunidad
-
-- **Eventos más grandes** y diversos
-- **Recursos compartidos** entre comunidades
-- **Oportunidades de networking** expandidas
-- **Contenido más rico** y variado
-
-###
Para las Empresas
-
-- **Visibilidad** en la comunidad tech
-- **Acceso a talento** calificado
-- **Branding** positivo y asociación
-- **Networking** con desarrolladores
-
-###
Para los Miembros
-
-- **Más eventos** y oportunidades
-- **Redes profesionales** expandidas
-- **Recursos adicionales** y beneficios
-- **Experiencias únicas** de colaboración
-
----
-
---8<-- "components/community-links.md"
-
----
-
---8<-- "components/quick-navigation.md"
-
----
diff --git a/docs/comunidad/como-contribuir.md b/docs/comunidad/como-contribuir.md
index 12d897b..47e3f4b 100644
--- a/docs/comunidad/como-contribuir.md
+++ b/docs/comunidad/como-contribuir.md
@@ -2,7 +2,7 @@
-# Cómo Contribuir
+# Cómo Contribuir :fontawesome-solid-hands-helping:
Guía completa para contribuir a Python CDMX
@@ -10,7 +10,7 @@
---
-##
¿Por Qué Contribuir?
+## :fontawesome-solid-heart: ¿Por Qué Contribuir?
Contribuir a Python CDMX te permite:
@@ -22,61 +22,61 @@ Contribuir a Python CDMX te permite:
---
-##
Formas de Contribuir
+## :fontawesome-solid-route: Formas de Contribuir
-###
Ser Ponente
+### :fontawesome-solid-microphone: Ser Ponente
Comparte tu conocimiento con la comunidad a través de charlas técnicas, casos de uso o introducciones a nuevas tecnologías.
-**Más información:** [Ser Ponente](ponentes/)
+**Más información:** [Ser Ponente](ponentes)
-###
Ser Voluntario
+### :fontawesome-solid-hands-helping: Ser Voluntario
Ayuda a organizar eventos, gestionar redes sociales, o contribuir con el desarrollo del sitio web.
-**Más información:** [Ser Voluntario](voluntarios/)
+**Más información:** [Ser Voluntario](voluntarios)
-###
Desarrollo Web
+### :fontawesome-solid-code: Desarrollo Web
Contribuye al mantenimiento y mejora de nuestro sitio web, herramientas y automatizaciones.
**Tecnologías:** MkDocs, Python, HTML/CSS, JavaScript
-###
Contenido
+### :fontawesome-solid-share-alt: Contenido
Escribe artículos, documentación, o crea contenido para nuestras redes sociales.
**Tipos:** Tutoriales, casos de uso, noticias, recursos
-###
Alianzas
+### :fontawesome-solid-handshake: Alianzas
Ayuda a establecer y mantener relaciones con otras comunidades y empresas.
-**Más información:** [Alianzas](alianzas/)
+**Más información:** [Alianzas](alianzas)
---
-##
Proceso de Contribución
+## :fontawesome-solid-clipboard-list: Proceso de Contribución
-### 1.
Identifica tu Área
+### 1. :fontawesome-solid-search: Identifica tu Área
-- Revisa las [formas de contribuir](#formas-de-contribuir)
+- Revisa las [formas de contribuir](como-contribuir#formas-de-contribuir)
- Considera tus habilidades e intereses
- Evalúa tu disponibilidad de tiempo
-### 2. Contacta con Nosotros
+### 2. :fontawesome-solid-comments: Contacta con Nosotros
- Envía un mensaje a través de nuestros canales oficiales
-- Participa en [nuestros meetups](../meetups/index.md) para conocernos
+- Participa en [nuestros meetups](../meetups) para conocernos
- Asiste a sesiones informativas
-### 3.
Comienza Pequeño
+### 3. :fontawesome-solid-rocket: Comienza Pequeño
- Empieza con contribuciones pequeñas
- Aprende sobre nuestros procesos
- Construye relaciones con el equipo
-### 4.
Crece y Lidera
+### 4. :fontawesome-solid-star: Crece y Lidera
- Toma más responsabilidades
- Ayuda a otros nuevos contribuyentes
@@ -84,16 +84,16 @@ Ayuda a establecer y mantener relaciones con otras comunidades y empresas.
---
-##
Herramientas y Recursos
+## :fontawesome-solid-tools: Herramientas y Recursos
-###
Desarrollo
+### :fontawesome-solid-code: Desarrollo
- **GitHub**: [Repositorio principal](https://github.com/PythonMexico/pythonCDMX)
- **MkDocs**: Documentación del sitio
- **Python**: Scripts y automatizaciones
- **Docker**: Entorno de desarrollo
-###
Comunicación
+### :fontawesome-solid-share-alt: Comunicación
- **Telegram**: Canal principal de comunicación
- **Meetup**: Gestión de eventos
@@ -102,29 +102,29 @@ Ayuda a establecer y mantener relaciones con otras comunidades y empresas.
---
-##
Beneficios de Contribuir
+## :fontawesome-solid-gift: Beneficios de Contribuir
-###
Reconocimiento
+### :fontawesome-solid-certificate: Reconocimiento
- Certificados de participación
- Menciones en eventos y redes sociales
- Referencias profesionales
- Reconocimiento público
-###
Networking
+### :fontawesome-solid-network-wired: Networking
- Conexiones con expertos del sector
- Oportunidades de colaboración
- Red profesional expandida
-###
Desarrollo Profesional
+### :fontawesome-solid-graduation-cap: Desarrollo Profesional
- Habilidades de liderazgo
- Experiencia en gestión de proyectos
- Conocimientos técnicos actualizados
- Portfolio de contribuciones
-###
Satisfacción Personal
+### :fontawesome-solid-heart: Satisfacción Personal
- Impacto positivo en la comunidad
- Sentido de pertenencia
@@ -133,16 +133,16 @@ Ayuda a establecer y mantener relaciones con otras comunidades y empresas.
---
-##
Nuestro Equipo
+## :fontawesome-solid-users: Nuestro Equipo
-###
Coordinadores Principales
+### :fontawesome-solid-star: Coordinadores Principales
- **Coordinación General**: Gestión integral de la comunidad
- **Eventos**: Organización de meetups y actividades
- **Comunicación**: Gestión de canales y contenido
- **Alianzas**: Relaciones con comunidades y empresas
-###
Voluntarios Activos
+### :fontawesome-solid-users: Voluntarios Activos
- **Logística**: Preparación y supervisión de eventos
- **Comunicación**: Gestión de redes sociales y difusión
diff --git a/docs/comunidad/comunidades.md b/docs/comunidad/comunidades.md
index 11cab20..dcfa9bb 100644
--- a/docs/comunidad/comunidades.md
+++ b/docs/comunidad/comunidades.md
@@ -4,9 +4,9 @@
---
-##
Comunidades Amigas
+## :fontawesome-solid-users: Comunidades Amigas
-###
Comunidades Python en México
+### :fontawesome-solid-star: Comunidades Python en México
@@ -48,7 +48,7 @@
-###
Otras Comunidades
+### :fontawesome-solid-code: Otras Comunidades
@@ -127,13 +127,13 @@
---
-##
Empresas anfitrionas
+## :fontawesome-solid-building: Empresas anfitrionas
Estas empresas han abierto sus puertas para que la comunidad Python CDMX crezca
-###
Gracias por ser sede
+### :fontawesome-solid-star: Gracias por ser sede
diff --git a/docs/comunidad/ponentes.md b/docs/comunidad/ponentes.md
index 40031cc..be59876 100644
--- a/docs/comunidad/ponentes.md
+++ b/docs/comunidad/ponentes.md
@@ -2,7 +2,7 @@
-# Ser Ponente
+# Ser Ponente :fontawesome-solid-microphone:
---
@@ -10,7 +10,7 @@
Comparte tu conocimiento con la comunidad Python CDMX
-##
¿Por Qué Ser Ponente?
+## :fontawesome-solid-heart: ¿Por Qué Ser Ponente?
Ser ponente en Python CDMX te ofrece una oportunidad única para:
@@ -22,21 +22,21 @@ Ser ponente en Python CDMX te ofrece una oportunidad única para:
---
-##
Tipos de Charlas
+## :fontawesome-solid-lightbulb: Tipos de Charlas
-###
Charlas Técnicas
+### :fontawesome-solid-code: Charlas Técnicas
- **Duración**: 20-30 minutos
- **Contenido**: Tecnologías Python, frameworks, librerías, mejores prácticas
- **Ejemplos**: Django, Flask, FastAPI, Pandas, NumPy, Machine Learning
-###
Casos de Uso
+### :fontawesome-solid-chart-line: Casos de Uso
- **Duración**: 25-35 minutos
- **Contenido**: Proyectos reales, experiencias en producción, lecciones aprendidas
- **Ejemplos**: Migración de sistemas, optimización de performance, arquitecturas
-###
Charlas Introductorias
+### :fontawesome-solid-rocket: Charlas Introductorias
- **Duración**: 15-25 minutos
- **Contenido**: Conceptos básicos, introducción a nuevas tecnologías
@@ -44,27 +44,27 @@ Ser ponente en Python CDMX te ofrece una oportunidad única para:
---
-##
Proceso para Ser Ponente
+## :fontawesome-solid-clipboard-list: Proceso para Ser Ponente
-### 1.
Propón tu Charla
+### 1. :fontawesome-solid-pencil: Propón tu Charla
- Envía tu propuesta a través de nuestros canales de comunicación
- Incluye título, descripción, duración y nivel de audiencia
- Menciona cualquier requisito técnico especial
-### 2. Revisión y Feedback
+### 2. :fontawesome-solid-comments: Revisión y Feedback
- Nuestro equipo revisará tu propuesta
- Te proporcionaremos feedback y sugerencias
- Confirmaremos la fecha y logística
-### 3.
Preparación
+### 3. :fontawesome-solid-calendar: Preparación
- Recibirás recursos y guías para preparar tu presentación
- Podrás hacer una prueba técnica si lo deseas
- Te conectaremos con otros ponentes si es un evento múltiple
-### 4.
Presentación
+### 4. :fontawesome-solid-microphone: Presentación
- Llegada temprana para configuración técnica
- Presentación en un ambiente acogedor y colaborativo
@@ -72,27 +72,27 @@ Ser ponente en Python CDMX te ofrece una oportunidad única para:
---
-##
Beneficios para Ponentes
+## :fontawesome-solid-gift: Beneficios para Ponentes
-###
Reconocimiento
+### :fontawesome-solid-certificate: Reconocimiento
- Certificado de participación como ponente
- Mención especial en nuestras redes sociales
- Inclusión en nuestro directorio de ponentes
-###
Networking
+### :fontawesome-solid-network-wired: Networking
- Acceso prioritario a eventos especiales
- Conexión directa con otros expertos del sector
- Oportunidades de colaboración en proyectos
-###
Recursos
+### :fontawesome-solid-book: Recursos
- Acceso a materiales y recursos de presentación
- Feedback detallado para mejorar futuras charlas
- Posibilidad de grabar tu presentación
-##
Ponentes de Python CDMX
+## :fontawesome-solid-star: Ponentes de Python CDMX
Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra comunidad:
@@ -122,8 +122,8 @@ Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra
Desarrollo de APIs, Frameworks Web, Buenas Prácticas
Charlas recientes:
@@ -155,7 +155,7 @@ Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra
OpenSource, Automatización, Hardening de Infraestructura
Charlas recientes:
@@ -187,7 +187,7 @@ Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra
Inteligencia Artificial, Tecnologías de Código Abierto
Charlas recientes:
@@ -219,8 +219,8 @@ Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra
Kubernetes, MLOps, GitOps, Cloud Native
Charlas recientes:
@@ -252,8 +252,8 @@ Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra
Validación de Datos, Mejores Prácticas, Nuevas Tecnologías
Charlas recientes:
@@ -285,7 +285,7 @@ Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra
Desarrollo Web, Portafolios, Python
Charlas recientes:
@@ -317,10 +317,10 @@ Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra
DevOps, Docker, Kubernetes, CI/CD, AWS
Charlas recientes:
@@ -352,7 +352,7 @@ Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra
NLP, Lenguas Indígenas, MLOps, Cultura Libre
Charlas recientes:
@@ -384,7 +384,7 @@ Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra
Agentes de IA, Machine Learning, LangGraph, LLMs
Charlas recientes:
@@ -416,7 +416,7 @@ Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra
Open Source, Ruby, Contribución Comunitaria
Charlas recientes:
@@ -448,7 +448,7 @@ Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra
Machine Learning, Análisis de Datos, Algoritmos Estadísticos
Charlas recientes:
@@ -480,10 +480,10 @@ Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra
Desarrollo Python, Análisis de Datos, Metaprogramación
Charlas recientes:
@@ -515,8 +515,8 @@ Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra
Ingeniería de Datos, Procesamiento ETL, Big Data
Charlas recientes:
@@ -548,7 +548,7 @@ Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra
FinTech, Performance, DevOps, Software Libre
Charlas recientes:
@@ -580,7 +580,7 @@ Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra
Inteligencia Artificial, Machine Learning, Embeddings, Google Developer Expert
Charlas recientes:
@@ -612,7 +612,7 @@ Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra
Core Python, Optimización, Concurrencia, GIL
Charlas recientes:
@@ -644,7 +644,7 @@ Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra
Ingeniería de Software, Algoritmos, Resolución de Problemas
Charlas recientes:
@@ -676,7 +676,7 @@ Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra
Extensiones LibreOffice, Automatización de Oficina
Charlas recientes:
@@ -708,7 +708,7 @@ Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra
Seguridad Informática, PCI DSS, Cumplimiento Normativo
Charlas recientes:
@@ -716,20 +716,13 @@ Conoce a algunos de los ponentes que han compartido su conocimiento con nuestra
---
-## ¿Quieres Ser Parte de Esta Lista?
+## :fontawesome-solid-plus-circle: ¿Quieres Ser Parte de Esta Lista?
Si te interesa compartir tu conocimiento con la comunidad Python CDMX, ¡no dudes en contactarnos!
-
+[:fontawesome-solid-paper-plane: Enviar Propuesta de Charla](https://github.com/PythonMexico/pythonCDMX/issues){ .btn-action .primary }
+[:fontawesome-solid-info-circle: Más Información](/comunidad/como-contribuir){ .btn-action .secondary }
+{ .action-buttons }
---
diff --git a/docs/comunidad/sedes.md b/docs/comunidad/sedes.md
index 46e4c71..def0858 100644
--- a/docs/comunidad/sedes.md
+++ b/docs/comunidad/sedes.md
@@ -1,4 +1,4 @@
-# Sedes
+# Sedes :fontawesome-solid-map-marker-alt:

@@ -12,11 +12,11 @@
¿Trabajas en una empresa tech, un coworking o tienes acceso a un espacio donde podríamos reunir a la comunidad Python CDMX?
En 2025 seguimos creciendo y queremos llevar nuestros meetups a nuevos espacios que compartan el entusiasmo
-por el conocimiento abierto, la innovación y el poder de Python
.
+por el conocimiento abierto, la innovación y el poder de Python :fontawesome-brands-python:.
---
-##
¿Por qué ser sede?
+## :fontawesome-solid-lightbulb: ¿Por qué ser sede?
Organizar un meetup de Python CDMX en tu espacio es una gran oportunidad para:
@@ -27,7 +27,7 @@ Organizar un meetup de Python CDMX en tu espacio es una gran oportunidad para:
---
-##
¿Qué necesitas para ser sede?
+## :fontawesome-solid-handshake: ¿Qué necesitas para ser sede?
- Espacio para 40 a 60 personas
- Proyector o pantalla con entrada HDMI
@@ -39,7 +39,7 @@ Opcionalmente puedes ofrecer snacks, bebidas, o sumarte con trivias, regalos o s
---
-##
¿Cómo es un meetup típico?
+## :fontawesome-solid-calendar-alt: ¿Cómo es un meetup típico?
Duración: 3 a 3.5 horas
Inicio: 18:30 hrs
@@ -56,7 +56,7 @@ Fin: 21:30–22:00 hrs
---
-##
¿Qué fechas tenemos disponibles?
+## :fontawesome-solid-calendar-check: ¿Qué fechas tenemos disponibles?
Organizamos nuestros meetups el **segundo martes de cada mes**.
@@ -85,12 +85,12 @@ Organizamos nuestros meetups el **segundo martes de cada mes**.
---
-## ¿Y si quiero participar?
+## :fontawesome-solid-comments: ¿Y si quiero participar?
¡Nos encantaría contar contigo!
Puedes escribirnos a:
-
[info@pythoncdmx.org](mailto:info@pythoncdmx.org)
+:fontawesome-solid-envelope: [info@pythoncdmx.org](mailto:info@pythoncdmx.org)
También puedes comentar en nuestras publicaciones o enviarnos DM si viste la convocatoria en redes.
@@ -99,7 +99,7 @@ También puedes comentar en nuestras publicaciones o enviarnos DM si viste la co
> Ser sede de un meetup es más que prestar un espacio. Es apoyar la construcción de comunidad,
> compartir conocimiento y sumar al crecimiento tech en México.
-¡Gracias por considerar ser parte de esta aventura Pythonista!
+¡Gracias por considerar ser parte de esta aventura Pythonista! :fontawesome-brands-python::fontawesome-solid-star:
---
diff --git a/docs/comunidad/sedes_faq.md b/docs/comunidad/sedes_faq.md
index 40a17c8..dfed165 100644
--- a/docs/comunidad/sedes_faq.md
+++ b/docs/comunidad/sedes_faq.md
@@ -2,7 +2,7 @@
-# FAQ Sedes
+# FAQ Sedes :fontawesome-solid-question-circle:
Preguntas frecuentes sobre ser sede de Python CDMX
@@ -10,7 +10,7 @@
---
-##
Logística del Evento
+## :fontawesome-solid-clock: Logística del Evento
### ¿Cuánto tiempo dura el evento?
Entre 3 y 3.5 horas. Generalmente de **18:30 a 22:00 hrs**.
@@ -45,7 +45,7 @@ Sí, aquí un ejemplo típico:
---
-##
Requerimientos Técnicos
+## :fontawesome-solid-desktop: Requerimientos Técnicos
### ¿Qué equipo A/V se necesita?
**Esencial:**
@@ -71,7 +71,7 @@ Sí, aquí un ejemplo típico:
---
-##
Gestión de Asistentes
+## :fontawesome-solid-users: Gestión de Asistentes
### ¿Quién maneja el registro de asistentes?
**Nosotros** lo gestionamos desde [Meetup.com](https://www.meetup.com/python-mexico/).
@@ -90,7 +90,7 @@ Sí, aquí un ejemplo típico:
---
-##
Participación de la Empresa Sede
+## :fontawesome-solid-handshake: Participación de la Empresa Sede
### ¿Debe seguirse alguna guía de branding?
**No es obligatorio**. Si la empresa desea:
@@ -106,9 +106,9 @@ Lo coordinamos con gusto durante la planeación.
**¡Sí!** Solo pedimos que sigan el mismo proceso que cualquier miembro de la comunidad:
-[Ser Ponente](ponentes/#por-que-ser-ponente)
+[Ser Ponente](ponentes#por-que-ser-ponente)
-
**Registrar su propuesta** en [python-cdmx-charlas/issues](https://github.com/PythonMexico/python-cdmx-charlas/issues)
+:fontawesome-brands-github: **Registrar su propuesta** en [python-cdmx-charlas/issues](https://github.com/PythonMexico/python-cdmx-charlas/issues)
para mantener el espíritu abierto y curado del contenido.
### ¿La empresa puede ofrecer snacks o bebidas?
@@ -120,7 +120,7 @@ para mantener el espíritu abierto y curado del contenido.
---
-##
Preparación del Espacio
+## :fontawesome-solid-tools: Preparación del Espacio
### ¿Cómo debe organizarse el espacio?
**Recomendaciones basadas en experiencia:**
@@ -151,7 +151,7 @@ para mantener el espíritu abierto y curado del contenido.
---
-##
Timeline y Coordinación
+## :fontawesome-solid-calendar-check: Timeline y Coordinación
### ¿Cuándo se define todo?
**3-4 semanas antes:**
@@ -174,7 +174,7 @@ para mantener el espíritu abierto y curado del contenido.
- Lista final de asistentes
- Setup del espacio y equipo
-- ¡Evento!
+- ¡Evento! :fontawesome-brands-python:
### ¿Qué pasa después del evento?
@@ -185,7 +185,7 @@ para mantener el espíritu abierto y curado del contenido.
---
-##
Otras Preguntas Comunes
+## :fontawesome-solid-question: Otras Preguntas Comunes
### ¿Hay restricciones de horario?
Somos flexibles, pero el formato típico es **martes de 18:30 a 22:00**.
@@ -205,7 +205,7 @@ Podemos ajustarnos a las necesidades del venue.
- **Oportunidad** de participar en el crecimiento del ecosistema tech mexicano
### ¿Cómo contactarlos para ser sede?
-
[info@pythoncdmx.org](mailto:info@pythoncdmx.org)
+:fontawesome-solid-envelope: [info@pythoncdmx.org](mailto:info@pythoncdmx.org)
También puedes comentar en nuestras publicaciones o enviarnos DM en redes sociales.
diff --git a/docs/comunidad/voluntarios.md b/docs/comunidad/voluntarios.md
index 096a5f0..2828502 100644
--- a/docs/comunidad/voluntarios.md
+++ b/docs/comunidad/voluntarios.md
@@ -7,7 +7,7 @@
---
-##
¿Por Qué Ser Voluntario?
+## :fontawesome-solid-heart: ¿Por Qué Ser Voluntario?
Ser voluntario en Python CDMX te permite:
@@ -19,27 +19,27 @@ Ser voluntario en Python CDMX te permite:
---
-##
Áreas de Participación
+## :fontawesome-solid-tasks: Áreas de Participación
-###
Organización de Eventos
+### :fontawesome-solid-users: Organización de Eventos
- **Coordinación de meetups** mensuales
- **Gestión de espacios** y logística
- **Coordinación con ponentes** y sponsors
- **Organización de eventos especiales**
-###
Soporte Técnico
+### :fontawesome-solid-tools: Soporte Técnico
- **Configuración de equipos** y sistemas
- **Soporte durante eventos** (audio, video, streaming)
- **Mantenimiento de plataformas** digitales
- **Desarrollo de herramientas** para la comunidad
-###
Comunicaciones
+### :fontawesome-solid-bullhorn: Comunicaciones
- **Gestión de redes sociales** y canales digitales
- **Creación de contenido** promocional
- **Comunicación con miembros** y partners
- **Marketing digital** y difusión
-###
Mentoría y Educación
+### :fontawesome-solid-chalkboard-teacher: Mentoría y Educación
- **Apoyo a nuevos miembros** de la comunidad
- **Organización de workshops** y talleres
- **Mentoría técnica** para desarrolladores
@@ -47,7 +47,7 @@ Ser voluntario en Python CDMX te permite:
---
-##
Proceso de Incorporación
+## :fontawesome-solid-clipboard-list: Proceso de Incorporación
1. **Aplicación inicial** a través de nuestro formulario
2. **Entrevista** con el equipo organizador
@@ -57,7 +57,7 @@ Ser voluntario en Python CDMX te permite:
---
-##
Compromiso de Tiempo
+## :fontawesome-solid-clock: Compromiso de Tiempo
- **Mínimo:** 5-10 horas por mes
- **Flexibilidad:** Horarios adaptables a tu disponibilidad
@@ -66,7 +66,7 @@ Ser voluntario en Python CDMX te permite:
---
-##
Beneficios
+## :fontawesome-solid-gift: Beneficios
- **Networking** con profesionales del sector
- **Desarrollo de habilidades** de liderazgo
@@ -75,20 +75,12 @@ Ser voluntario en Python CDMX te permite:
- **Referencias** profesionales
- **Experiencia** en gestión de comunidades
-
-
+[:fontawesome-solid-paper-plane: Aplicar como Voluntario](#contact){ .btn-action .primary }
+[:fontawesome-solid-star: Ver Voluntarios](#voluntarios-de-python-cdmx){ .btn-action .secondary }
+[Más Información](/comunidad/como-contribuir){ .btn-action .outline }
+{.action-buttons }
-##
Voluntarios de Python CDMX
+## :fontawesome-solid-star: Voluntarios de Python CDMX
Conoce a algunos de los voluntarios que hacen posible que Python CDMX funcione:
@@ -528,20 +520,13 @@ Conoce a algunos de los voluntarios que hacen posible que Python CDMX funcione:
---
-##
¿Quieres Ser Parte de Nuestro Equipo?
+## :fontawesome-solid-plus-circle: ¿Quieres Ser Parte de Nuestro Equipo?
Si te interesa contribuir al crecimiento de la comunidad Python CDMX, ¡únete a nuestro equipo de voluntarios!
-
+[:fontawesome-solid-paper-plane: Aplicar como Voluntario](https://github.com/PythonMexico/pythonCDMX/issues){ .btn-action .primary }
+[:fontawesome-solid-info-circle: Más Información](/comunidad/como-contribuir){ .btn-action .secondary }
+{ .action-buttons }
---
diff --git a/docs/css/custom.css b/docs/css/custom.css
index 12941d0..074f7fc 100644
--- a/docs/css/custom.css
+++ b/docs/css/custom.css
@@ -20,1484 +20,1527 @@
- Media queries responsivas (consolidados)
============================================================================= */
- @import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');
+@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css");
- /* -----------------------------------------------------------------------------
+/* -----------------------------------------------------------------------------
VARIABLES CSS PERSONALIZADAS
----------------------------------------------------------------------------- */
- :root {
+:root {
/* Material Design Variables */
- --md-primary-fg-color--lighter: #b3d0c6;
- --md-primary-fg-color--light: #4d927a;
- --md-primary-fg-color: #006341;
- --md-primary-fg-color--dark: #004f34;
- --md-primary-fg-color--darker: #003221;
- --md-accent-fg-color--light: #4d927a;
- --md-accent-fg-color: #006341;
- --md-accent-fg-color--dark: #004f34;
- --md-accent-bg-color: #ffffff;
- /* Radios y espaciado */
- --button-radius: 3.125rem;
- --card-radius: 0.75rem;
-
- /* Colores de redes sociales */
- --telegram-color: #0088cc;
- --meetup-color: #ed1c40;
- --youtube-color: #ff0000;
- --github-color: #333333;
- --instagram-color: #e4405f;
- --linkedin-color: #0077b5;
-
- /* Colores de años y especialización */
- --year-2024-color: #2196F3;
- --year-2024-hover: #1976D2;
- --year-2023-color: #FF9800;
- --year-2023-hover: #F57C00;
-
- /* Colores de badges */
- --badge-ambassador: #2E7D32;
- --badge-organizer: #1565C0;
- --badge-production: #E65100;
- --badge-host: #6A1B9A;
- --badge-technical: #37474F;
- --badge-support: #3E2723;
- --badge-global: #AD1457;
- --badge-strategic: #283593;
-
- /* Transiciones estándar */
- --transition-base: all 0.3s ease;
- --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
- }
-
- .pygreen {
- color: var(--md-primary-fg-color);
- font-weight: 400;
- }
-
- /* -----------------------------------------------------------------------------
+ --md-primary-fg-color--lighter: #b3d0c6;
+ --md-primary-fg-color--light: #4d927a;
+ --md-primary-fg-color: #006341;
+ --md-primary-fg-color--dark: #004f34;
+ --md-primary-fg-color--darker: #003221;
+ --md-accent-fg-color--light: #4d927a;
+ --md-accent-fg-color: #006341;
+ --md-accent-fg-color--dark: #004f34;
+ --md-accent-bg-color: #ffffff;
+ /* Radios y espaciado */
+ --button-radius: 3.125rem;
+ --card-radius: 0.75rem;
+
+ /* Colores de redes sociales */
+ --telegram-color: #0088cc;
+ --meetup-color: #ed1c40;
+ --youtube-color: #ff0000;
+ --github-color: #333333;
+ --instagram-color: #e4405f;
+ --linkedin-color: #0077b5;
+
+ /* Colores de años y especialización */
+ --year-2024-color: #2196f3;
+ --year-2024-hover: #1976d2;
+ --year-2023-color: #ff9800;
+ --year-2023-hover: #f57c00;
+
+ /* Colores de badges */
+ --badge-ambassador: #2e7d32;
+ --badge-organizer: #1565c0;
+ --badge-production: #e65100;
+ --badge-host: #6a1b9a;
+ --badge-technical: #37474f;
+ --badge-support: #3e2723;
+ --badge-global: #ad1457;
+ --badge-strategic: #283593;
+
+ /* Transiciones estándar */
+ --transition-base: all 0.3s ease;
+ --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+}
+
+.pygreen {
+ color: var(--md-primary-fg-color);
+ font-weight: 400;
+}
+
+.text-align-center {
+ text-align: center;
+}
+
+.subtitle {
+ font-size: 1.125rem;
+ color: var(--md-default-fg-color--light);
+ margin: 0 auto 2rem;
+ max-width: 37.5rem;
+ line-height: 1.7;
+}
+
+/* -----------------------------------------------------------------------------
SECCIÓN HERO
----------------------------------------------------------------------------- */
- .hero-section {
- padding: 2rem 1rem;
- text-align: center;
- margin-bottom: 2rem;
- border-radius: var(--card-radius);
- background: var(--md-default-bg-color);
- border: 1px solid var(--md-default-fg-color--lightest);
- }
-
- .hero-logo {
- width: 7.5rem;
- height: 7.5rem;
- margin-bottom: 1.5rem;
- border-radius: 1rem;
- box-shadow: var(--md-shadow-z1);
- }
-
- .hero-section h1 {
- font-size: clamp(2.5rem, 8vw, 4rem);
- margin-bottom: 1rem;
- line-height: 1.2;
- }
-
- .hero-subtitle {
- font-size: 1.125rem;
- color: var(--md-default-fg-color--light);
- max-width: 37.5rem;
- margin: 0 auto 2rem;
- line-height: 1.7;
- }
-
- /* -----------------------------------------------------------------------------
+.hero-section {
+ padding: 2rem 1rem;
+ text-align: center;
+ margin-bottom: 2rem;
+ border-radius: var(--card-radius);
+ background: var(--md-default-bg-color);
+ border: 1px solid var(--md-default-fg-color--lightest);
+}
+
+.hero-logo {
+ width: 7.5rem;
+ height: 7.5rem;
+ margin-bottom: 1.5rem;
+ border-radius: 1rem;
+ box-shadow: var(--md-shadow-z1);
+}
+
+.hero-section h1 {
+ font-size: clamp(2.5rem, 8vw, 4rem);
+ margin-bottom: 1rem;
+ line-height: 1.2;
+}
+
+.hero-subtitle {
+ font-size: 1.125rem;
+ color: var(--md-default-fg-color--light);
+ max-width: 37.5rem;
+ margin: 0 auto 2rem;
+ line-height: 1.7;
+}
+
+/* -----------------------------------------------------------------------------
SISTEMA DE BOTONES
----------------------------------------------------------------------------- */
- .action-buttons {
- display: flex;
- gap: 1rem;
- justify-content: center;
- flex-wrap: wrap;
- }
-
- .action-buttons a {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- padding: 1rem 1.5rem;
- border-radius: var(--button-radius);
- text-decoration: none;
- font-weight: 500;
- transition: var(--transition-base);
- min-width: 8.75rem;
- }
-
- .action-buttons a:first-child {
- color: var(--md-accent-bg-color);
- background: var(--md-primary-fg-color);
- }
-
- .action-buttons a:first-child:hover {
- opacity: 0.9;
- transform: translateY(-1px);
- }
-
- .action-buttons a:last-child {
- background: transparent;
- color: var(--md-primary-fg-color);
- border: 2px solid var(--md-primary-fg-color);
- }
-
- .action-buttons a:last-child:hover {
- background: var(--md-primary-fg-color);
- color: var(--md-primary-bg-color);
- }
-
- /* Botones estándar del sitio */
- .upcoming-btn,
- .btn,
- .btn-primary,
- .participation-card a,
- .year-card a {
- background: var(--md-accent-fg-color) !important;
- color: var(--md-accent-bg-color) !important;
- padding: 0.75rem 1.5rem;
- border-radius: var(--button-radius);
- text-decoration: none;
- font-weight: 600;
- display: inline-flex;
- align-items: center;
- justify-content: center;
- gap: 0.5rem;
- transition: var(--transition-base);
- border: none;
- margin-top: 1rem;
- }
-
- .upcoming-btn:hover,
- .btn:hover,
- .btn-primary:hover,
- .participation-card a:hover,
- .year-card a:hover {
- background: var(--md-accent-fg-color--dark) !important;
- color: var(--md-accent-bg-color) !important;
- transform: translateY(-2px);
- box-shadow: var(--md-shadow-z2);
- text-decoration: none;
- }
-
- /* Asegurar visibilidad en botones específicos del index */
- .btn.btn-primary,
- .btn-primary.mt-2,
- .upcoming-btn {
- background: var(--md-accent-fg-color) !important;
- color: var(--md-accent-bg-color) !important;
- text-decoration: none !important;
- }
-
- .btn.btn-primary:hover,
- .btn-primary.mt-2:hover,
- .upcoming-btn:hover {
- background: var(--md-accent-fg-color--dark) !important;
- color: var(--md-accent-bg-color) !important;
- text-decoration: none !important;
- }
-
- /* Botones de navegación discretos */
- .btn-nav {
- background: transparent;
- color: var(--md-default-fg-color--light);
- border: 1px solid var(--md-default-fg-color--lightest);
- padding: 0.5rem 1rem;
- border-radius: 1.5rem;
- text-decoration: none;
- font-weight: 500;
- font-size: 0.875rem;
- display: inline-flex;
- align-items: center;
- justify-content: center;
- gap: 0.375rem;
- transition: var(--transition-base);
- margin: 0.25rem;
- min-width: 140px;
- text-align: center;
- white-space: nowrap;
- }
-
- .btn-nav:hover {
- background: var(--md-default-fg-color--lightest);
- color: var(--md-default-fg-color);
- border-color: var(--md-default-fg-color--light);
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
- text-decoration: none;
- }
-
- .btn-nav i {
- font-size: 0.875em;
- opacity: 0.7;
- }
-
- .btn-nav:hover i {
- opacity: 1;
- }
-
- /* -----------------------------------------------------------------------------
+.action-buttons {
+ display: flex;
+ gap: 1rem;
+ justify-content: center;
+ flex-wrap: wrap;
+}
+
+.action-buttons a {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ padding: 1rem 1.5rem;
+ border-radius: var(--button-radius);
+ text-decoration: none;
+ font-weight: 500;
+ transition: var(--transition-base);
+ min-width: 8.75rem;
+}
+
+.action-buttons a:first-child {
+ color: var(--md-accent-bg-color);
+ background: var(--md-primary-fg-color);
+}
+
+.action-buttons a:first-child:hover {
+ opacity: 0.9;
+ transform: translateY(-1px);
+}
+
+.action-buttons a:last-child {
+ background: transparent;
+ color: var(--md-primary-fg-color);
+ border: 2px solid var(--md-primary-fg-color);
+}
+
+.action-buttons a:last-child:hover {
+ background: var(--md-primary-fg-color);
+ color: var(--md-primary-bg-color);
+}
+
+/* Botones estándar del sitio */
+.upcoming-btn,
+.btn,
+.btn-primary,
+.participation-card a,
+.year-card a {
+ background: var(--md-accent-fg-color) !important;
+ color: var(--md-accent-bg-color) !important;
+ padding: 0.75rem 1.5rem;
+ border-radius: var(--button-radius);
+ text-decoration: none;
+ font-weight: 600;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ gap: 0.5rem;
+ transition: var(--transition-base);
+ border: none;
+ margin-top: 1rem;
+}
+
+.upcoming-btn span.twemoji,
+.btn span.twemoji {
+ color: var(--python-white);
+}
+
+.upcoming-btn:hover,
+.btn:hover,
+.btn-primary:hover,
+.participation-card a:hover,
+.year-card a:hover {
+ background: var(--md-accent-fg-color--dark) !important;
+ color: var(--md-accent-bg-color) !important;
+ transform: translateY(-2px);
+ box-shadow: var(--md-shadow-z2);
+ text-decoration: none;
+}
+
+/* Asegurar visibilidad en botones específicos del index */
+.btn.btn-primary,
+.btn-primary.mt-2,
+.upcoming-btn {
+ background: var(--md-accent-fg-color) !important;
+ color: var(--md-accent-bg-color) !important;
+ text-decoration: none !important;
+}
+
+.btn.btn-primary:hover,
+.btn-primary.mt-2:hover,
+.upcoming-btn:hover {
+ background: var(--md-accent-fg-color--dark) !important;
+ color: var(--md-accent-bg-color) !important;
+ text-decoration: none !important;
+}
+
+/* Botones de navegación discretos */
+.btn-nav {
+ background: transparent;
+ color: var(--md-default-fg-color--light);
+ border: 1px solid var(--md-default-fg-color--lightest);
+ padding: 0.5rem 1rem;
+ border-radius: 1.5rem;
+ text-decoration: none;
+ font-weight: 500;
+ font-size: 0.875rem;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ gap: 0.375rem;
+ transition: var(--transition-base);
+ margin: 0.25rem;
+ min-width: 140px;
+ text-align: center;
+ white-space: nowrap;
+}
+
+.btn-nav:hover {
+ background: var(--md-default-fg-color--lightest);
+ color: var(--md-default-fg-color);
+ border-color: var(--md-default-fg-color--light);
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
+ text-decoration: none;
+}
+
+.btn-nav span.twemoji {
+ font-size: 0.875em;
+ opacity: 0.7;
+}
+
+.btn-nav:hover span.twemoji {
+ opacity: 1;
+}
+
+/* -----------------------------------------------------------------------------
TARJETAS Y GRILLAS
----------------------------------------------------------------------------- */
- /* Estilos base para todas las tarjetas */
- .participation-card,
- .year-card,
- .stat-card,
- .community-highlight,
- .upcoming-events {
- background: var(--md-default-bg-color);
- border: 1px solid var(--md-default-fg-color--lightest);
- border-radius: var(--card-radius);
- text-align: center;
- transition: var(--transition-smooth);
- position: relative;
- overflow: hidden;
- }
-
- /* Grillas responsivas */
- .participation-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
- gap: 1.5rem;
- margin: 2rem 0;
- }
-
- .year-cards {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
- gap: 1.5rem;
- margin: 2rem 0;
- }
-
- .stats-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
- gap: 1.5rem;
- margin: 2rem 0;
- }
-
- /* Caso especial: cuando hay 3 tarjetas de participación, la tercera ocupa toda la fila */
- .participation-grid .participation-card:nth-child(3):nth-last-child(1) {
- grid-column: 1 / -1;
- max-width: 400px;
- margin: 0 auto;
- }
-
- /* Tarjetas de participación */
- .participation-card {
- padding: 2rem;
- min-height: 200px;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- }
-
- .participation-card:hover {
- transform: translateY(-5px);
- box-shadow: var(--md-shadow-z3);
- border-color: var(--md-primary-fg-color);
- }
-
- .participation-card h3 {
- color: var(--md-default-fg-color);
- margin-bottom: 1rem;
- font-size: 1.25rem;
- font-weight: 600;
- }
-
- .participation-card h3 i {
- font-size: 2rem;
- color: var(--md-primary-fg-color);
- margin-bottom: 0.5rem;
- display: block;
- }
-
- .participation-card p {
- color: var(--md-default-fg-color--light);
- line-height: 1.6;
- margin-bottom: 1.5rem;
- flex-grow: 1;
- }
-
- /* Tarjetas de años */
- .year-card {
- padding: 0.5rem 2rem;
- min-height: 200px;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- }
-
- .year-card:hover {
- transform: translateY(-5px);
- box-shadow: var(--md-shadow-z3);
- border-color: var(--md-primary-fg-color);
- }
-
- .year-card::before {
- content: '';
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- height: 4px;
- background: linear-gradient(90deg, var(--md-primary-fg-color), var(--md-primary-bg-color));
- opacity: 0;
- transition: var(--transition-base);
- }
-
- .year-card:hover::before {
- opacity: 1;
- }
-
- .year-card h3 {
- color: var(--md-default-fg-color);
- margin-bottom: 0.5rem;
- font-size: 1.5rem;
- font-weight: 700;
- }
-
- .year-card h3 i {
- font-size: 2rem;
- color: var(--md-primary-fg-color);
- margin-bottom: 0.25rem;
- display: block;
- }
-
- .year-card p {
- color: var(--md-default-fg-color--light);
- line-height: 1.4;
- margin-bottom: 0.25rem;
- }
-
- .year-card p:first-of-type {
- font-size: 1.125rem;
- font-weight: 600;
- color: var(--md-primary-fg-color);
- }
-
- .year-card a {
- margin-top: auto;
- }
-
- /* Tarjetas de estadísticas */
- .stat-card {
- padding: 1.5rem;
- }
-
- .stat-card:hover {
- transform: translateY(-3px);
- box-shadow: var(--md-shadow-z2);
- border-color: var(--md-primary-fg-color);
- }
-
- .stat-card h3 {
- color: var(--md-primary-fg-color);
- margin-bottom: 0.5rem;
- font-size: 1.25rem;
- font-weight: 700;
- }
-
- .stat-card h3 i {
- font-size: 1.5rem;
- margin-bottom: 0.5rem;
- display: block;
- }
-
- .stat-card p {
- color: var(--md-default-fg-color--light);
- font-weight: 500;
- }
-
- /* Especialización de tarjetas por tipo */
- .participation-ponente,
- .year-2025 {
- border-left: 4px solid var(--md-primary-fg-color);
- }
-
- .participation-voluntario,
- .year-2024 {
- border-left: 4px solid var(--year-2024-color);
- }
-
- .participation-asistir,
- .year-2023 {
- border-left: 4px solid var(--year-2023-color);
- }
-
- .year-2025:hover {
- border-left-color: var(--md-accent-fg-color--dark);
- }
-
- .year-2024:hover {
- border-left-color: var(--year-2024-hover);
- }
-
- .year-2023:hover {
- border-left-color: var(--year-2023-hover);
- }
-
- /* -----------------------------------------------------------------------------
+/* Estilos base para todas las tarjetas */
+.participation-card,
+.year-card,
+.stat-card,
+.community-highlight,
+.upcoming-events {
+ background: var(--md-default-bg-color);
+ border: 1px solid var(--md-default-fg-color--lightest);
+ border-radius: var(--card-radius);
+ text-align: center;
+ transition: var(--transition-smooth);
+ position: relative;
+ overflow: hidden;
+}
+
+/* Grillas responsivas */
+.participation-grid {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
+ gap: 1.5rem;
+ margin: 2rem 0;
+}
+
+.year-cards {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
+ gap: 1.5rem;
+ margin: 2rem 0;
+}
+
+.stats-grid {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
+ gap: 1.5rem;
+ margin: 2rem 0;
+}
+
+/* Caso especial: cuando hay 3 tarjetas de participación, la tercera ocupa toda la fila */
+.participation-grid .participation-card:nth-child(3):nth-last-child(1) {
+ grid-column: 1 / -1;
+ max-width: 400px;
+ margin: 0 auto;
+}
+
+/* Tarjetas de Participacion nuevas */
+.md-typeset .cards > ul > li {
+ padding: 2rem;
+ min-height: 200px;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+
+.md-typeset .cards > ul > li:hover {
+ transform: translateY(-5px);
+ box-shadow: var(--md-shadow-z3);
+ border-color: var(--md-primary-fg-color);
+}
+
+.md-typeset .cards > ul > li .card--header {
+ color: var(--md-default-fg-color);
+ margin-bottom: 1rem;
+ font-size: 1.25rem;
+ font-weight: 600;
+}
+
+/* Tarjetas de participación */
+.participation-card {
+ padding: 2rem;
+ min-height: 200px;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+
+.participation-card:hover {
+ transform: translateY(-5px);
+ box-shadow: var(--md-shadow-z3);
+ border-color: var(--md-primary-fg-color);
+}
+
+.participation-card h3 {
+ color: var(--md-default-fg-color);
+ margin-bottom: 1rem;
+ font-size: 1.25rem;
+ font-weight: 600;
+}
+
+.participation-card h3 i {
+ font-size: 2rem;
+ color: var(--md-primary-fg-color);
+ margin-bottom: 0.5rem;
+ display: block;
+}
+
+.participation-card p {
+ color: var(--md-default-fg-color--light);
+ line-height: 1.6;
+ margin-bottom: 1.5rem;
+ flex-grow: 1;
+}
+
+/* Tarjetas de años */
+.year-card {
+ padding: 0.5rem 2rem;
+ min-height: 200px;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+
+.year-card:hover {
+ transform: translateY(-5px);
+ box-shadow: var(--md-shadow-z3);
+ border-color: var(--md-primary-fg-color);
+}
+
+.year-card::before {
+ content: "";
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ height: 4px;
+ background: linear-gradient(
+ 90deg,
+ var(--md-primary-fg-color),
+ var(--md-primary-bg-color)
+ );
+ opacity: 0;
+ transition: var(--transition-base);
+}
+
+.year-card:hover::before {
+ opacity: 1;
+}
+
+.year-card h3 {
+ color: var(--md-default-fg-color);
+ margin-bottom: 0.5rem;
+ font-size: 1.5rem;
+ font-weight: 700;
+}
+
+.year-card h3 i {
+ font-size: 2rem;
+ color: var(--md-primary-fg-color);
+ margin-bottom: 0.25rem;
+ display: block;
+}
+
+.year-card p {
+ color: var(--md-default-fg-color--light);
+ line-height: 1.4;
+ margin-bottom: 0.25rem;
+}
+
+.year-card p:first-of-type {
+ font-size: 1.125rem;
+ font-weight: 600;
+ color: var(--md-primary-fg-color);
+}
+
+.year-card a {
+ margin-top: auto;
+}
+
+/* Tarjetas de estadísticas */
+.stat-card {
+ padding: 1.5rem;
+}
+
+.stat-card:hover {
+ transform: translateY(-3px);
+ box-shadow: var(--md-shadow-z2);
+ border-color: var(--md-primary-fg-color);
+}
+
+.stat-card h3 {
+ color: var(--md-primary-fg-color);
+ margin-bottom: 0.5rem;
+ font-size: 1.25rem;
+ font-weight: 700;
+}
+
+.stat-card h3 i {
+ font-size: 1.5rem;
+ margin-bottom: 0.5rem;
+ display: block;
+}
+
+.stat-card p {
+ color: var(--md-default-fg-color--light);
+ font-weight: 500;
+}
+
+/* Especialización de tarjetas por tipo */
+.participation-ponente,
+.year-2025 {
+ border-left: 4px solid var(--md-primary-fg-color);
+}
+
+.participation-voluntario,
+.year-2024 {
+ border-left: 4px solid var(--year-2024-color);
+}
+
+.participation-asistir,
+.year-2023 {
+ border-left: 4px solid var(--year-2023-color);
+}
+
+.year-2025:hover {
+ border-left-color: var(--md-accent-fg-color--dark);
+}
+
+.year-2024:hover {
+ border-left-color: var(--year-2024-hover);
+}
+
+.year-2023:hover {
+ border-left-color: var(--year-2023-hover);
+}
+
+/* -----------------------------------------------------------------------------
TARJETAS DE VOLUNTARIOS
----------------------------------------------------------------------------- */
- .volunteer-card {
- background: var(--md-default-bg-color);
- border: 1px solid var(--md-default-fg-color--lightest);
- border-radius: var(--card-radius);
- padding: 2rem;
- margin-bottom: 2rem;
- transition: var(--transition-base);
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
- }
-
- .volunteer-card:hover {
- transform: translateY(-2px);
- box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
- border-color: var(--md-primary-fg-color--light);
- }
-
- .volunteer-card .card-header {
- display: grid;
- grid-template-columns: 1fr auto;
- gap: 2rem;
- align-items: start;
- margin-bottom: 1.5rem;
- }
-
- .volunteer-card .card-info {
- display: flex;
- flex-direction: column;
- gap: 0.75rem;
- }
-
- .volunteer-card .card-title {
- font-size: 1.5rem;
- font-weight: 700;
- color: var(--md-default-fg-color);
- margin: 0;
- line-height: 1.2;
- }
-
- .volunteer-card .card-title i {
- color: var(--md-primary-fg-color);
- margin-right: 0.5rem;
- }
-
- .volunteer-card .card-subtitle {
- font-size: 1rem;
- color: var(--md-default-fg-color--light);
- margin: 0;
- font-weight: 500;
- line-height: 1.4;
- }
-
- .volunteer-card .badges-container {
- display: flex;
- gap: 0.5rem;
- flex-wrap: wrap;
- }
-
- .volunteer-card .badge {
- padding: 0.125rem 0.5rem;
- border-radius: 0.75rem;
- font-size: 0.625rem;
- font-weight: 500;
- text-transform: uppercase;
- letter-spacing: 0.03em;
- opacity: 0.85;
- }
-
- /* Badges específicos por rol */
- .volunteer-card .badge.ambassador {
- background: rgba(76, 175, 80, 0.15);
- color: var(--badge-ambassador);
- border: 1px solid rgba(76, 175, 80, 0.3);
- }
-
- .volunteer-card .badge.organizer {
- background: rgba(33, 150, 243, 0.15);
- color: var(--badge-organizer);
- border: 1px solid rgba(33, 150, 243, 0.3);
- }
-
- .volunteer-card .badge.production {
- background: rgba(255, 152, 0, 0.15);
- color: var(--badge-production);
- border: 1px solid rgba(255, 152, 0, 0.3);
- }
-
- .volunteer-card .badge.host {
- background: rgba(156, 39, 176, 0.15);
- color: var(--badge-host);
- border: 1px solid rgba(156, 39, 176, 0.3);
- }
-
- .volunteer-card .badge.technical {
- background: rgba(96, 125, 139, 0.15);
- color: var(--badge-technical);
- border: 1px solid rgba(96, 125, 139, 0.3);
- }
-
- .volunteer-card .badge.support {
- background: rgba(121, 85, 72, 0.15);
- color: var(--badge-support);
- border: 1px solid rgba(121, 85, 72, 0.3);
- }
-
- .volunteer-card .badge.global {
- background: rgba(233, 30, 99, 0.15);
- color: var(--badge-global);
- border: 1px solid rgba(233, 30, 99, 0.3);
- }
-
- .volunteer-card .badge.strategic {
- background: rgba(63, 81, 181, 0.15);
- color: var(--badge-strategic);
- border: 1px solid rgba(63, 81, 181, 0.3);
- }
-
- /* Avatar y sección social */
- .volunteer-card .avatar-section {
- display: flex;
- flex-direction: column;
- align-items: center;
- gap: 1rem;
- }
-
- .volunteer-card .volunteer-avatar {
- width: 100px;
- height: 100px;
- border-radius: 50%;
- object-fit: cover;
- border: 3px solid var(--md-primary-fg-color--light);
- transition: var(--transition-base);
- }
-
- .volunteer-card:hover .volunteer-avatar {
- border-color: var(--md-primary-fg-color);
- transform: scale(1.05);
- }
-
- .volunteer-card .social-icons {
- display: flex;
- gap: 0.5rem;
- justify-content: center;
- }
-
- .volunteer-card .social-icon {
- display: flex;
- align-items: center;
- justify-content: center;
- width: 32px;
- height: 32px;
- border-radius: 50%;
- background: var(--md-default-fg-color--lightest);
- color: var(--md-default-fg-color--light);
- text-decoration: none;
- transition: var(--transition-base);
- font-size: 0.875rem;
- }
-
- .volunteer-card .social-icon:hover {
- transform: translateY(-2px);
- text-decoration: none;
- }
-
- .volunteer-card .social-icon.linkedin:hover {
- background: var(--linkedin-color);
- color: white;
- }
-
- .volunteer-card .social-icon.github:hover {
- background: var(--github-color);
- color: white;
- }
-
- /* Contenido de la tarjeta */
- .volunteer-card .card-content {
- border-top: 1px solid var(--md-default-fg-color--lightest);
- padding-top: 1.5rem;
- }
-
- .volunteer-card .card-role {
- line-height: 1.6;
- }
-
- .volunteer-card .role-title {
- font-weight: 700;
- color: var(--md-primary-fg-color);
- font-size: 0.9rem;
- text-transform: uppercase;
- letter-spacing: 0.05em;
- display: block;
- margin-bottom: 0.5rem;
- }
-
- .volunteer-card .role-description {
- font-weight: 500;
- color: var(--md-default-fg-color--light);
- font-size: 0.875rem;
- font-style: italic;
- line-height: 1.4;
- display: block;
- margin-bottom: 1rem;
- }
-
- .volunteer-card .card-role ul {
- margin-top: 1rem;
- padding-left: 1.5rem;
- }
-
- .volunteer-card .card-role li {
- margin-bottom: 0.5rem;
- color: var(--md-default-fg-color--light);
- }
-
- /* Encabezados ocultos para voluntarios */
- .volunteer-header {
- position: absolute;
- left: -9999px;
- width: 1px;
- height: 1px;
- overflow: hidden;
- clip: rect(1px, 1px, 1px, 1px);
- }
-
- .volunteer-card:first-of-type {
- margin-top: 1rem;
- }
-
- /* -----------------------------------------------------------------------------
+.volunteer-card {
+ background: var(--md-default-bg-color);
+ border: 1px solid var(--md-default-fg-color--lightest);
+ border-radius: var(--card-radius);
+ padding: 2rem;
+ margin-bottom: 2rem;
+ transition: var(--transition-base);
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
+}
+
+.volunteer-card:hover {
+ transform: translateY(-2px);
+ box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
+ border-color: var(--md-primary-fg-color--light);
+}
+
+.volunteer-card .card-header {
+ display: grid;
+ grid-template-columns: 1fr auto;
+ gap: 2rem;
+ align-items: start;
+ margin-bottom: 1.5rem;
+}
+
+.volunteer-card .card-info {
+ display: flex;
+ flex-direction: column;
+ gap: 0.75rem;
+}
+
+.volunteer-card .card-title {
+ font-size: 1.5rem;
+ font-weight: 700;
+ color: var(--md-default-fg-color);
+ margin: 0;
+ line-height: 1.2;
+}
+
+.volunteer-card .card-title i {
+ color: var(--md-primary-fg-color);
+ margin-right: 0.5rem;
+}
+
+.volunteer-card .card-subtitle {
+ font-size: 1rem;
+ color: var(--md-default-fg-color--light);
+ margin: 0;
+ font-weight: 500;
+ line-height: 1.4;
+}
+
+.volunteer-card .badges-container {
+ display: flex;
+ gap: 0.5rem;
+ flex-wrap: wrap;
+}
+
+.volunteer-card .badge {
+ padding: 0.125rem 0.5rem;
+ border-radius: 0.75rem;
+ font-size: 0.625rem;
+ font-weight: 500;
+ text-transform: uppercase;
+ letter-spacing: 0.03em;
+ opacity: 0.85;
+}
+
+/* Badges específicos por rol */
+.volunteer-card .badge.ambassador {
+ background: rgba(76, 175, 80, 0.15);
+ color: var(--badge-ambassador);
+ border: 1px solid rgba(76, 175, 80, 0.3);
+}
+
+.volunteer-card .badge.organizer {
+ background: rgba(33, 150, 243, 0.15);
+ color: var(--badge-organizer);
+ border: 1px solid rgba(33, 150, 243, 0.3);
+}
+
+.volunteer-card .badge.production {
+ background: rgba(255, 152, 0, 0.15);
+ color: var(--badge-production);
+ border: 1px solid rgba(255, 152, 0, 0.3);
+}
+
+.volunteer-card .badge.host {
+ background: rgba(156, 39, 176, 0.15);
+ color: var(--badge-host);
+ border: 1px solid rgba(156, 39, 176, 0.3);
+}
+
+.volunteer-card .badge.technical {
+ background: rgba(96, 125, 139, 0.15);
+ color: var(--badge-technical);
+ border: 1px solid rgba(96, 125, 139, 0.3);
+}
+
+.volunteer-card .badge.support {
+ background: rgba(121, 85, 72, 0.15);
+ color: var(--badge-support);
+ border: 1px solid rgba(121, 85, 72, 0.3);
+}
+
+.volunteer-card .badge.global {
+ background: rgba(233, 30, 99, 0.15);
+ color: var(--badge-global);
+ border: 1px solid rgba(233, 30, 99, 0.3);
+}
+
+.volunteer-card .badge.strategic {
+ background: rgba(63, 81, 181, 0.15);
+ color: var(--badge-strategic);
+ border: 1px solid rgba(63, 81, 181, 0.3);
+}
+
+/* Avatar y sección social */
+.volunteer-card .avatar-section {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 1rem;
+}
+
+.volunteer-card .volunteer-avatar {
+ width: 100px;
+ height: 100px;
+ border-radius: 50%;
+ object-fit: cover;
+ border: 3px solid var(--md-primary-fg-color--light);
+ transition: var(--transition-base);
+}
+
+.volunteer-card:hover .volunteer-avatar {
+ border-color: var(--md-primary-fg-color);
+ transform: scale(1.05);
+}
+
+.volunteer-card .social-icons {
+ display: flex;
+ gap: 0.5rem;
+ justify-content: center;
+}
+
+.volunteer-card .social-icon {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 32px;
+ height: 32px;
+ border-radius: 50%;
+ background: var(--md-default-fg-color--lightest);
+ color: var(--md-default-fg-color--light);
+ text-decoration: none;
+ transition: var(--transition-base);
+ font-size: 0.875rem;
+}
+
+.volunteer-card .social-icon:hover {
+ transform: translateY(-2px);
+ text-decoration: none;
+}
+
+.volunteer-card .social-icon.linkedin:hover {
+ background: var(--linkedin-color);
+ color: white;
+}
+
+.volunteer-card .social-icon.github:hover {
+ background: var(--github-color);
+ color: white;
+}
+
+/* Contenido de la tarjeta */
+.volunteer-card .card-content {
+ border-top: 1px solid var(--md-default-fg-color--lightest);
+ padding-top: 1.5rem;
+}
+
+.volunteer-card .card-role {
+ line-height: 1.6;
+}
+
+.volunteer-card .role-title {
+ font-weight: 700;
+ color: var(--md-primary-fg-color);
+ font-size: 0.9rem;
+ text-transform: uppercase;
+ letter-spacing: 0.05em;
+ display: block;
+ margin-bottom: 0.5rem;
+}
+
+.volunteer-card .role-description {
+ font-weight: 500;
+ color: var(--md-default-fg-color--light);
+ font-size: 0.875rem;
+ font-style: italic;
+ line-height: 1.4;
+ display: block;
+ margin-bottom: 1rem;
+}
+
+.volunteer-card .card-role ul {
+ margin-top: 1rem;
+ padding-left: 1.5rem;
+}
+
+.volunteer-card .card-role li {
+ margin-bottom: 0.5rem;
+ color: var(--md-default-fg-color--light);
+}
+
+/* Encabezados ocultos para voluntarios */
+.volunteer-header {
+ position: absolute;
+ left: -9999px;
+ width: 1px;
+ height: 1px;
+ overflow: hidden;
+ clip: rect(1px, 1px, 1px, 1px);
+}
+
+.volunteer-card:first-of-type {
+ margin-top: 1rem;
+}
+
+/* -----------------------------------------------------------------------------
TARJETAS DE COMUNIDADES ALIADAS
----------------------------------------------------------------------------- */
- .communities-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
- gap: 1.5rem;
- margin: 2rem 0;
- padding: 0;
- }
-
- .community-card {
- display: flex;
- flex-direction: column;
- align-items: center;
- text-align: center;
- padding: 2rem 1.5rem;
- border-radius: var(--card-radius);
- background: var(--md-default-bg-color);
- border: 2px solid var(--md-default-fg-color--lightest);
- transition: var(--transition-smooth);
- text-decoration: none;
- color: var(--md-default-fg-color);
- position: relative;
- overflow: hidden;
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
- }
-
- .community-card::before {
- content: '';
- position: absolute;
- top: 0;
- left: -100%;
- width: 100%;
- height: 100%;
- background: linear-gradient(90deg, transparent, rgba(76, 175, 80, 0.1), transparent);
- transition: var(--transition-smooth);
- }
-
- .community-card:hover::before {
- left: 100%;
- }
-
- .community-card:hover {
- transform: translateY(-5px);
- border-color: var(--md-accent-fg-color);
- box-shadow: 0 8px 25px rgba(76, 175, 80, 0.15);
- text-decoration: none;
- color: var(--md-default-fg-color);
- }
-
- .community-card img {
- /*width: 120px;*/
- height: 120px;
- object-fit: cover;
- /*border-radius: 50%;*/
- margin-bottom: 1rem;
- border: 3px solid var(--md-default-fg-color--lightest);
- transition: var(--transition-base);
- }
-
- .community-card:hover img {
- border-color: var(--md-accent-fg-color);
- transform: scale(1.05);
- }
-
- .community-card h4 {
- margin: 0.5rem 0;
- font-size: 1.1rem;
- font-weight: 600;
- color: var(--md-default-fg-color);
- transition: var(--transition-base);
- }
-
- .community-card h4 i {
- margin-right: 0.5rem;
- color: var(--md-accent-fg-color);
- font-size: 0.9em;
- }
-
- .community-card:hover h4 {
- color: var(--md-accent-fg-color);
- }
-
- .community-card p {
- margin: 0;
- font-size: 0.9rem;
- color: var(--md-default-fg-color--light);
- line-height: 1.4;
- }
-
- /* -----------------------------------------------------------------------------
+.communities-grid {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
+ gap: 1.5rem;
+ margin: 2rem 0;
+ padding: 0;
+}
+
+.community-card {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ text-align: center;
+ padding: 2rem 1.5rem;
+ border-radius: var(--card-radius);
+ background: var(--md-default-bg-color);
+ border: 2px solid var(--md-default-fg-color--lightest);
+ transition: var(--transition-smooth);
+ text-decoration: none;
+ color: var(--md-default-fg-color);
+ position: relative;
+ overflow: hidden;
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
+}
+
+.community-card::before {
+ content: "";
+ position: absolute;
+ top: 0;
+ left: -100%;
+ width: 100%;
+ height: 100%;
+ background: linear-gradient(
+ 90deg,
+ transparent,
+ rgba(76, 175, 80, 0.1),
+ transparent
+ );
+ transition: var(--transition-smooth);
+}
+
+.community-card:hover::before {
+ left: 100%;
+}
+
+.community-card:hover {
+ transform: translateY(-5px);
+ border-color: var(--md-accent-fg-color);
+ box-shadow: 0 8px 25px rgba(76, 175, 80, 0.15);
+ text-decoration: none;
+ color: var(--md-default-fg-color);
+}
+
+.community-card img {
+ /*width: 120px;*/
+ height: 120px;
+ object-fit: cover;
+ /*border-radius: 50%;*/
+ margin-bottom: 1rem;
+ border: 3px solid var(--md-default-fg-color--lightest);
+ transition: var(--transition-base);
+}
+
+.community-card:hover img {
+ border-color: var(--md-accent-fg-color);
+ transform: scale(1.05);
+}
+
+.community-card h4 {
+ margin: 0.5rem 0;
+ font-size: 1.1rem;
+ font-weight: 600;
+ color: var(--md-default-fg-color);
+ transition: var(--transition-base);
+}
+
+.community-card h4 i {
+ margin-right: 0.5rem;
+ color: var(--md-accent-fg-color);
+ font-size: 0.9em;
+}
+
+.community-card:hover h4 {
+ color: var(--md-accent-fg-color);
+}
+
+.community-card p {
+ margin: 0;
+ font-size: 0.9rem;
+ color: var(--md-default-fg-color--light);
+ line-height: 1.4;
+}
+
+/* -----------------------------------------------------------------------------
MEETUPS Y EVENTOS
----------------------------------------------------------------------------- */
- .meetup-hero {
- padding: 2rem 1rem;
- text-align: center;
- margin-bottom: 2rem;
- border-radius: var(--card-radius);
- background: var(--md-default-bg-color);
- border: 1px solid var(--md-default-fg-color--lightest);
- box-shadow: var(--md-shadow-z1);
- }
-
- .meetup-hero h1 {
- font-size: clamp(2rem, 6vw, 3.5rem);
- margin-bottom: 1rem;
- line-height: 1.2;
- color: var(--md-default-fg-color);
- }
-
- .meetup-subtitle {
- font-size: 1.125rem;
- color: var(--md-default-fg-color--light);
- margin: 0;
- font-weight: 400;
- line-height: 1.6;
- }
-
- .event-details {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
- gap: 1rem;
- margin: 2rem 0;
- }
-
- .detail-card {
- background: var(--md-default-bg-color);
- border: 1px solid var(--md-default-fg-color--lightest);
- border-radius: var(--card-radius);
- padding: 1.25rem;
- text-align: center;
- transition: var(--transition-base);
- box-shadow: var(--md-shadow-z1);
- }
-
- .detail-card:hover {
- transform: translateY(-2px);
- box-shadow: var(--md-shadow-z2);
- border-color: var(--md-primary-fg-color--light);
- }
-
- .detail-card h3 {
- margin: 0 0 0.75rem 0;
- color: var(--md-primary-fg-color);
- font-size: 1rem;
- font-weight: 600;
- }
-
- .detail-card h3 i {
- margin-right: 0.5rem;
- opacity: 0.7;
- font-size: 0.9em;
- }
-
- .detail-card p {
- margin: 0;
- color: var(--md-default-fg-color--light);
- font-weight: 500;
- font-size: 0.95rem;
- }
-
- .rsvp-card a {
- color: var(--md-primary-fg-color);
- text-decoration: none;
- font-weight: 600;
- }
-
- .rsvp-card a:hover {
- text-decoration: underline;
- }
-
- /* Secciones de charlas */
- .talk-section {
- margin: 2rem 0;
- border: 1px solid var(--md-default-fg-color--lightest);
- border-radius: var(--card-radius);
- overflow: hidden;
- background: var(--md-default-bg-color);
- box-shadow: var(--md-shadow-z1);
- }
-
- .talk-header {
- background: var(--md-default-bg-color);
- color: var(--md-default-fg-color);
- padding: 1.5rem;
- text-align: center;
- border-bottom: 1px solid var(--md-default-fg-color--lightest);
- }
-
- .talk-header h3 {
- margin: 0 0 0.5rem 0;
- font-size: 1.4rem;
- color: var(--md-primary-fg-color);
- font-weight: 600;
- }
-
- .talk-header h3 i {
- margin-right: 0.5rem;
- opacity: 0.7;
- font-size: 0.9em;
- }
-
- .talk-header p {
- margin: 0;
- color: var(--md-default-fg-color--light);
- font-size: 0.95rem;
- }
-
- .talk-header p i {
- margin-right: 0.25rem;
- }
-
- /* Sección del ponente */
- .speaker-section {
- background: var(--md-default-bg-color);
- padding: 1.5rem;
- display: flex;
- align-items: center;
- gap: 1.5rem;
- border-bottom: 1px solid var(--md-default-fg-color--lightest);
- }
-
- .speaker-photo {
- flex-shrink: 0;
- }
-
- .speaker-photo img {
- width: 160px;
- height: 160px;
- border: 2px solid var(--md-default-fg-color--lightest);
- box-shadow: var(--md-shadow-z1);
- object-fit: cover;
- transition: var(--transition-base);
- }
-
- .speaker-section:hover .speaker-photo img {
- border-color: var(--md-primary-fg-color--light);
- }
-
- .speaker-info h4 {
- margin: 0 0 0.25rem 0;
- font-size: 1.2rem;
- color: var(--md-default-fg-color);
- font-weight: 600;
- }
-
- .speaker-info p:first-of-type {
- margin: 0 0 0.75rem 0;
- font-size: 0.9rem;
- color: var(--md-primary-fg-color);
- font-weight: 500;
- }
-
- .speaker-info p:last-of-type {
- margin: 0 0 0.75rem 0;
- line-height: 1.5;
- color: var(--md-default-fg-color--light);
- font-size: 0.9rem;
- }
-
- .speaker-links {
- display: flex;
- gap: 0.5rem;
- }
-
- .speaker-links a {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- width: 32px;
- height: 32px;
- border-radius: 50%;
- background: var(--md-default-fg-color--lightest);
- color: var(--md-default-fg-color--light);
- text-decoration: none;
- transition: var(--transition-base);
- font-size: 0.9rem;
- }
-
- .speaker-links a:hover {
- background: var(--md-accent-fg-color);
- color: var(--md-accent-bg-color);
- }
-
- /* Descripción de la charla */
- .talk-description {
- background: var(--md-default-bg-color);
- padding: 1.5rem;
- }
-
- .talk-description p {
- line-height: 1.6;
- font-size: 1rem;
- margin-bottom: 1rem;
- color: var(--md-default-fg-color);
- }
-
- .talk-description p:last-child {
- margin-top: 1rem;
- font-style: italic;
- color: var(--md-default-fg-color--light);
- font-size: 0.95rem;
- }
-
- /* Stack tecnológico */
- .tech-stack {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
- gap: 0.75rem;
- margin: 1rem 0;
- }
-
- .tech-stack > div {
- background: var(--md-default-bg-color);
- padding: 0.75rem;
- border-radius: var(--card-radius);
- text-align: center;
- border: 1px solid var(--md-default-fg-color--lightest);
- transition: var(--transition-base);
- }
-
- .tech-stack > div:hover {
- border-color: var(--md-primary-fg-color--light);
- box-shadow: var(--md-shadow-z1);
- }
-
- .tech-stack h5 {
- margin: 0 0 0.25rem 0;
- color: var(--md-primary-fg-color);
- font-size: 0.9rem;
- font-weight: 500;
- }
-
- .tech-stack h5 i {
- margin-right: 0.375rem;
- opacity: 0.7;
- }
-
- .tech-stack p {
- margin: 0;
- font-size: 0.8rem;
- color: var(--md-default-fg-color--light);
- }
-
- /* Sección de video */
- .video-section {
- margin: 2rem 0;
- text-align: center;
- }
-
- .video-container {
- max-width: 700px;
- margin: 0 auto;
- }
-
- .video-wrapper {
- position: relative;
- width: 100%;
- height: 0;
- padding-bottom: 56.25%; /* 16:9 aspect ratio */
- margin-bottom: 1rem;
- border-radius: var(--card-radius);
- overflow: hidden;
- box-shadow: var(--md-shadow-z1);
- border: 1px solid var(--md-default-fg-color--lightest);
- }
-
- .video-wrapper iframe {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- border: none;
- }
-
- .youtube-btn {
- display: inline-flex;
- align-items: center;
- gap: 0.5rem;
- background: var(--md-accent-fg-color);
- color: var(--md-accent-bg-color);
- padding: 0.75rem 1.25rem;
- border-radius: var(--button-radius);
- text-decoration: none;
- font-weight: 500;
- transition: var(--transition-base);
- margin-top: 0.75rem;
- font-size: 0.95rem;
- }
-
- .youtube-btn:hover {
- background: var(--md-accent-fg-color--dark);
- color: var(--md-accent-bg-color);
- transform: translateY(-1px);
- box-shadow: var(--md-shadow-z1);
- text-decoration: none;
- }
-
- .youtube-btn i {
- font-size: 1em;
- }
-
- /* -----------------------------------------------------------------------------
+.meetup-hero {
+ padding: 2rem 1rem;
+ text-align: center;
+ margin-bottom: 2rem;
+ border-radius: var(--card-radius);
+ background: var(--md-default-bg-color);
+ border: 1px solid var(--md-default-fg-color--lightest);
+ box-shadow: var(--md-shadow-z1);
+}
+
+.meetup-hero h1 {
+ font-size: clamp(2rem, 6vw, 3.5rem);
+ margin-bottom: 1rem;
+ line-height: 1.2;
+ color: var(--md-default-fg-color);
+}
+
+.meetup-subtitle {
+ font-size: 1.125rem;
+ color: var(--md-default-fg-color--light);
+ margin: 0;
+ font-weight: 400;
+ line-height: 1.6;
+}
+
+.event-details {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
+ gap: 1rem;
+ margin: 2rem 0;
+}
+
+.detail-card {
+ background: var(--md-default-bg-color);
+ border: 1px solid var(--md-default-fg-color--lightest);
+ border-radius: var(--card-radius);
+ padding: 1.25rem;
+ text-align: center;
+ transition: var(--transition-base);
+ box-shadow: var(--md-shadow-z1);
+}
+
+.detail-card:hover {
+ transform: translateY(-2px);
+ box-shadow: var(--md-shadow-z2);
+ border-color: var(--md-primary-fg-color--light);
+}
+
+.detail-card h3 {
+ margin: 0 0 0.75rem 0;
+ color: var(--md-primary-fg-color);
+ font-size: 1rem;
+ font-weight: 600;
+}
+
+.detail-card h3 i {
+ margin-right: 0.5rem;
+ opacity: 0.7;
+ font-size: 0.9em;
+}
+
+.detail-card p {
+ margin: 0;
+ color: var(--md-default-fg-color--light);
+ font-weight: 500;
+ font-size: 0.95rem;
+}
+
+.rsvp-card a {
+ color: var(--md-primary-fg-color);
+ text-decoration: none;
+ font-weight: 600;
+}
+
+.rsvp-card a:hover {
+ text-decoration: underline;
+}
+
+/* Secciones de charlas */
+.talk-section {
+ margin: 2rem 0;
+ border: 1px solid var(--md-default-fg-color--lightest);
+ border-radius: var(--card-radius);
+ overflow: hidden;
+ background: var(--md-default-bg-color);
+ box-shadow: var(--md-shadow-z1);
+}
+
+.talk-header {
+ background: var(--md-default-bg-color);
+ color: var(--md-default-fg-color);
+ padding: 1.5rem;
+ text-align: center;
+ border-bottom: 1px solid var(--md-default-fg-color--lightest);
+}
+
+.talk-header h3 {
+ margin: 0 0 0.5rem 0;
+ font-size: 1.4rem;
+ color: var(--md-primary-fg-color);
+ font-weight: 600;
+}
+
+.talk-header h3 i {
+ margin-right: 0.5rem;
+ opacity: 0.7;
+ font-size: 0.9em;
+}
+
+.talk-header p {
+ margin: 0;
+ color: var(--md-default-fg-color--light);
+ font-size: 0.95rem;
+}
+
+.talk-header p i {
+ margin-right: 0.25rem;
+}
+
+/* Sección del ponente */
+.speaker-section {
+ background: var(--md-default-bg-color);
+ padding: 1.5rem;
+ display: flex;
+ align-items: center;
+ gap: 1.5rem;
+ border-bottom: 1px solid var(--md-default-fg-color--lightest);
+}
+
+.speaker-photo {
+ flex-shrink: 0;
+}
+
+.speaker-photo img {
+ width: 160px;
+ height: 160px;
+ border: 2px solid var(--md-default-fg-color--lightest);
+ box-shadow: var(--md-shadow-z1);
+ object-fit: cover;
+ transition: var(--transition-base);
+}
+
+.speaker-section:hover .speaker-photo img {
+ border-color: var(--md-primary-fg-color--light);
+}
+
+.speaker-info h4 {
+ margin: 0 0 0.25rem 0;
+ font-size: 1.2rem;
+ color: var(--md-default-fg-color);
+ font-weight: 600;
+}
+
+.speaker-info p:first-of-type {
+ margin: 0 0 0.75rem 0;
+ font-size: 0.9rem;
+ color: var(--md-primary-fg-color);
+ font-weight: 500;
+}
+
+.speaker-info p:last-of-type {
+ margin: 0 0 0.75rem 0;
+ line-height: 1.5;
+ color: var(--md-default-fg-color--light);
+ font-size: 0.9rem;
+}
+
+.speaker-links {
+ display: flex;
+ gap: 0.5rem;
+}
+
+.speaker-links a {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ width: 32px;
+ height: 32px;
+ border-radius: 50%;
+ background: var(--md-default-fg-color--lightest);
+ color: var(--md-default-fg-color--light);
+ text-decoration: none;
+ transition: var(--transition-base);
+ font-size: 0.9rem;
+}
+
+.speaker-links a:hover {
+ background: var(--md-accent-fg-color);
+ color: var(--md-accent-bg-color);
+}
+
+/* Descripción de la charla */
+.talk-description {
+ background: var(--md-default-bg-color);
+ padding: 1.5rem;
+}
+
+.talk-description p {
+ line-height: 1.6;
+ font-size: 1rem;
+ margin-bottom: 1rem;
+ color: var(--md-default-fg-color);
+}
+
+.talk-description p:last-child {
+ margin-top: 1rem;
+ font-style: italic;
+ color: var(--md-default-fg-color--light);
+ font-size: 0.95rem;
+}
+
+/* Stack tecnológico */
+.tech-stack {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
+ gap: 0.75rem;
+ margin: 1rem 0;
+}
+
+.tech-stack > div {
+ background: var(--md-default-bg-color);
+ padding: 0.75rem;
+ border-radius: var(--card-radius);
+ text-align: center;
+ border: 1px solid var(--md-default-fg-color--lightest);
+ transition: var(--transition-base);
+}
+
+.tech-stack > div:hover {
+ border-color: var(--md-primary-fg-color--light);
+ box-shadow: var(--md-shadow-z1);
+}
+
+.tech-stack h5 {
+ margin: 0 0 0.25rem 0;
+ color: var(--md-primary-fg-color);
+ font-size: 0.9rem;
+ font-weight: 500;
+}
+
+.tech-stack h5 i {
+ margin-right: 0.375rem;
+ opacity: 0.7;
+}
+
+.tech-stack p {
+ margin: 0;
+ font-size: 0.8rem;
+ color: var(--md-default-fg-color--light);
+}
+
+/* Sección de video */
+.video-section {
+ margin: 2rem 0;
+ text-align: center;
+}
+
+.video-container {
+ max-width: 700px;
+ margin: 0 auto;
+}
+
+.video-wrapper {
+ position: relative;
+ width: 100%;
+ height: 0;
+ padding-bottom: 56.25%; /* 16:9 aspect ratio */
+ margin-bottom: 1rem;
+ border-radius: var(--card-radius);
+ overflow: hidden;
+ box-shadow: var(--md-shadow-z1);
+ border: 1px solid var(--md-default-fg-color--lightest);
+}
+
+.video-wrapper iframe {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ border: none;
+}
+
+.youtube-btn {
+ display: inline-flex;
+ align-items: center;
+ gap: 0.5rem;
+ background: var(--md-accent-fg-color);
+ color: var(--md-accent-bg-color);
+ padding: 0.75rem 1.25rem;
+ border-radius: var(--button-radius);
+ text-decoration: none;
+ font-weight: 500;
+ transition: var(--transition-base);
+ margin-top: 0.75rem;
+ font-size: 0.95rem;
+}
+
+.youtube-btn:hover {
+ background: var(--md-accent-fg-color--dark);
+ color: var(--md-accent-bg-color);
+ transform: translateY(-1px);
+ box-shadow: var(--md-shadow-z1);
+ text-decoration: none;
+}
+
+.youtube-btn i {
+ font-size: 1em;
+}
+
+/* -----------------------------------------------------------------------------
ENLACES DE COMUNIDAD
----------------------------------------------------------------------------- */
- .community-links {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
- gap: 1rem;
- margin: 2rem 0;
- padding: 0;
- align-items: stretch;
- }
-
- .community-link {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 0.625rem;
- padding: 1rem;
- height: 60px;
- border-radius: 1rem;
- text-decoration: none;
- font-weight: 600;
- font-size: 0.9rem;
- letter-spacing: 0.025em;
- transition: var(--transition-smooth);
- border: 2px solid var(--md-default-fg-color--lightest);
- background: var(--md-default-bg-color);
- color: var(--md-default-fg-color);
- text-align: center;
- position: relative;
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
- box-sizing: border-box;
- white-space: nowrap;
- animation: breathe 4s ease-in-out infinite;
- }
-
- .community-link:hover {
- transform: translateY(-3px);
- color: var(--md-accent-bg-color);
- text-decoration: none;
- animation: none;
- }
-
- .community-link:active {
- transform: translateY(-1px);
- }
-
- .community-link i {
- font-size: 1.25em;
- transition: var(--transition-base);
- margin-right: 0.125rem;
- }
-
- .community-link:hover i {
- color: var(--md-accent-bg-color);
- transform: scale(1.1);
- }
-
- /* Colores específicos por red social */
- .community-link.telegram {
- border-color: var(--telegram-color);
- }
-
- .community-link.telegram i {
- color: var(--telegram-color);
- }
-
- .community-link.telegram:hover {
- background: var(--telegram-color);
- border-color: var(--telegram-color);
- box-shadow: 0 8px 25px rgba(0, 136, 204, 0.3);
- }
-
- .community-link.meetup {
- border-color: var(--meetup-color);
- }
-
- .community-link.meetup i {
- color: var(--meetup-color);
- }
-
- .community-link.meetup:hover {
- background: var(--meetup-color);
- border-color: var(--meetup-color);
- box-shadow: 0 8px 25px rgba(237, 28, 64, 0.3);
- }
-
- .community-link.youtube {
- border-color: var(--youtube-color);
- }
-
- .community-link.youtube i {
- color: var(--youtube-color);
- }
-
- .community-link.youtube:hover {
- background: var(--youtube-color);
- border-color: var(--youtube-color);
- box-shadow: 0 8px 25px rgba(255, 0, 0, 0.3);
- }
-
- .community-link.github {
- border-color: var(--github-color);
- }
-
- .community-link.github i {
- color: var(--github-color);
- }
-
- .community-link.github:hover {
- background: var(--github-color);
- border-color: var(--github-color);
- box-shadow: 0 8px 25px rgba(51, 51, 51, 0.3);
- }
-
- .community-link.instagram {
- border-color: var(--instagram-color);
- }
-
- .community-link.instagram i {
- color: var(--instagram-color);
- }
-
- .community-link.instagram:hover {
- background: var(--instagram-color);
- border-color: var(--instagram-color);
- box-shadow: 0 8px 25px rgba(228, 64, 95, 0.3);
- }
-
- .community-link.linkedin {
- border-color: var(--linkedin-color);
- }
-
- .community-link.linkedin i {
- color: var(--linkedin-color);
- }
-
- .community-link.linkedin:hover {
- background: var(--linkedin-color);
- border-color: var(--linkedin-color);
- box-shadow: 0 8px 25px rgba(0, 119, 181, 0.3);
- }
-
- /* -----------------------------------------------------------------------------
+.community-links {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
+ gap: 1rem;
+ margin: 2rem 0;
+ padding: 0;
+ align-items: stretch;
+}
+
+.community-link {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 0.625rem;
+ padding: 1rem;
+ height: 60px;
+ border-radius: 1rem;
+ text-decoration: none;
+ font-weight: 600;
+ font-size: 0.9rem;
+ letter-spacing: 0.025em;
+ transition: var(--transition-smooth);
+ border: 2px solid var(--md-default-fg-color--lightest);
+ background: var(--md-default-bg-color);
+ color: var(--md-default-fg-color);
+ text-align: center;
+ position: relative;
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
+ box-sizing: border-box;
+ white-space: nowrap;
+ animation: breathe 4s ease-in-out infinite;
+}
+
+.md-typeset .community-link:hover {
+ transform: translateY(-3px);
+ color: var(--md-accent-bg-color);
+ text-decoration: none;
+ animation: none;
+}
+
+.md-typeset .community-link:active {
+ transform: translateY(-1px);
+}
+
+.md-typeset .community-link {
+ font-size: 1.25em;
+ transition: var(--transition-base);
+ margin-right: 0.125rem;
+}
+
+.md-typeset.community-link:hover,
+.md-typeset .community-link:hover span.twemoji {
+ color: var(--md-accent-bg-color);
+ transform: scale(1.1);
+}
+
+/* Colores específicos por red social */
+.community-link.telegram,
+.community-link.telegram span.twemoji {
+ color: var(--telegram-color);
+ border-color: var(--telegram-color);
+}
+
+.community-link.telegram:hover {
+ background: var(--telegram-color);
+ border-color: var(--telegram-color);
+ box-shadow: 0 8px 25px rgba(0, 136, 204, 0.3);
+}
+
+.community-link.meetup,
+.community-link.meetup span.twemoji {
+ color: var(--meetup-color);
+ border-color: var(--meetup-color);
+}
+
+.community-link.meetup:hover,
+.community-link.meetup span.twemoji:hover {
+ background: var(--meetup-color);
+ border-color: var(--meetup-color);
+ box-shadow: 0 8px 25px rgba(237, 28, 64, 0.3);
+}
+
+.community-link.youtube,
+.community-link.youtube span.twemoji {
+ border-color: var(--youtube-color);
+ color: var(--youtube-color);
+}
+
+.community-link.youtube:hover,
+.community-link.youtube span.twemoji:hover {
+ background: var(--youtube-color);
+ border-color: var(--youtube-color);
+ box-shadow: 0 8px 25px rgba(255, 0, 0, 0.3);
+}
+
+.community-link.github,
+.community-link.github span.twemoji {
+ color: var(--github-color);
+ border-color: var(--github-color);
+}
+
+.community-link.github:hover,
+.community-link.github span.twemoji:hover {
+ background: var(--github-color);
+ border-color: var(--github-color);
+ box-shadow: 0 8px 25px rgba(51, 51, 51, 0.3);
+}
+
+.community-link.instagram,
+.community-link.instagram span.twemoji {
+ color: var(--instagram-color);
+ border-color: var(--instagram-color);
+}
+
+.community-link.instagram:hover,
+.community-link.instagram span.twemoji:hover {
+ background: var(--instagram-color);
+ border-color: var(--instagram-color);
+ box-shadow: 0 8px 25px rgba(228, 64, 95, 0.3);
+}
+
+.community-link.linkedin,
+.community-link.linkedin span.twemoji {
+ color: var(--linkedin-color);
+ border-color: var(--linkedin-color);
+}
+
+.community-link.linkedin:hover,
+.community-link.linkedin span.twemoji:hover {
+ background: var(--linkedin-color);
+ border-color: var(--linkedin-color);
+ box-shadow: 0 8px 25px rgba(0, 119, 181, 0.3);
+}
+
+/* -----------------------------------------------------------------------------
LEMA DE LA COMUNIDAD
----------------------------------------------------------------------------- */
- .community-motto {
- text-align: center;
- font-size: 1.5rem;
- font-style: italic;
- font-weight: 600;
- color: var(--md-default-fg-color);
- margin: 1rem auto;
- padding: 1.25rem;
- max-width: 600px;
- position: relative;
- background: var(--md-default-bg-color);
- border: 1px solid var(--md-default-fg-color--lightest);
- border-radius: var(--card-radius);
- box-shadow: var(--md-shadow-z1);
- }
-
- .community-motto::before {
- content: '"';
- position: absolute;
- top: -0.5rem;
- left: 1rem;
- font-size: 4rem;
- color: var(--md-primary-fg-color);
- font-family: Georgia, serif;
- opacity: 0.3;
- }
-
- .community-motto::after {
- content: '"';
- position: absolute;
- bottom: -2rem;
- right: 1rem;
- font-size: 4rem;
- color: var(--md-primary-fg-color);
- font-family: Georgia, serif;
- opacity: 0.3;
- }
-
- /* -----------------------------------------------------------------------------
+.community-motto {
+ text-align: center;
+ font-size: 1.5rem;
+ font-style: italic;
+ font-weight: 600;
+ color: var(--md-default-fg-color);
+ margin: 1rem auto;
+ padding: 1.25rem;
+ max-width: 600px;
+ position: relative;
+ background: var(--md-default-bg-color);
+ border: 1px solid var(--md-default-fg-color--lightest);
+ border-radius: var(--card-radius);
+ box-shadow: var(--md-shadow-z1);
+}
+
+.community-motto::before {
+ content: '"';
+ position: absolute;
+ top: -0.5rem;
+ left: 1rem;
+ font-size: 4rem;
+ color: var(--md-primary-fg-color);
+ font-family: Georgia, serif;
+ opacity: 0.3;
+}
+
+.community-motto::after {
+ content: '"';
+ position: absolute;
+ bottom: -2rem;
+ right: 1rem;
+ font-size: 4rem;
+ color: var(--md-primary-fg-color);
+ font-family: Georgia, serif;
+ opacity: 0.3;
+}
+
+/* -----------------------------------------------------------------------------
NAVEGACIÓN Y SECCIONES ESPECIALES
----------------------------------------------------------------------------- */
- .quick-navigation {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
- gap: 0.625rem;
- margin: 0.75rem auto;
- max-width: 600px;
- }
-
- .quick-navigation-title {
- width: 100%;
- text-align: center;
- margin-bottom: 0.5rem;
- }
-
- .quick-navigation-title i {
- color: var(--md-primary-fg-color);
- margin-right: 0.5rem;
- }
-
- .community-highlight {
- border-left: 4px solid var(--md-primary-fg-color);
- margin: 2rem 0;
- padding: 1.5rem;
- }
-
- .upcoming-events {
- margin: 0.75rem 0;
- padding: 1.25rem 2rem;
- }
-
- .upcoming-events h3 {
- color: var(--md-default-fg-color);
- margin-bottom: 1rem;
- font-size: 1.5rem;
- }
-
- .upcoming-events p {
- color: var(--md-default-fg-color--light);
- margin-bottom: 2rem;
- font-size: 1.1rem;
- }
-
- /* -----------------------------------------------------------------------------
+.quick-navigation {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 0.625rem;
+ margin: 0.75rem auto;
+}
+
+.quick-navigation-title {
+ width: 100%;
+ text-align: center;
+ margin-bottom: 0.5rem;
+}
+
+.quick-navigation-title span.twemoji {
+ color: var(--md-primary-fg-color);
+ margin-right: 0.5rem;
+}
+
+.community-highlight {
+ border-left: 4px solid var(--md-primary-fg-color);
+ margin: 2rem 0;
+ padding: 1.5rem;
+}
+
+.upcoming-events {
+ margin: 0.75rem 0;
+ padding: 1.25rem 2rem;
+}
+
+.upcoming-events h3 {
+ color: var(--md-default-fg-color);
+ margin-bottom: 1rem;
+ font-size: 1.5rem;
+}
+
+p.upcoming-events {
+ color: var(--md-default-fg-color--light);
+ margin-bottom: 2rem;
+ font-size: 1.1rem;
+}
+
+/* -----------------------------------------------------------------------------
ICONOGRAFÍA
----------------------------------------------------------------------------- */
- .fas, .fab {
- color: var(--md-primary-fg-color);
- }
+span.twemoji {
+ color: var(--md-primary-fg-color);
+}
- h2 .fas, h3 .fas {
- margin-right: 0.5rem;
- font-size: 0.9em;
- }
+h2 span.twemoji,
+h3 span.twemoji {
+ margin-right: 0.5rem;
+ font-size: 0.9em;
+}
- /* -----------------------------------------------------------------------------
+/* -----------------------------------------------------------------------------
ANIMACIONES
----------------------------------------------------------------------------- */
- @keyframes breathe {
- 0%, 100% {
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
- }
- 50% {
- box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
- }
- }
-
- /* -----------------------------------------------------------------------------
+@keyframes breathe {
+ 0%,
+ 100% {
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
+ }
+ 50% {
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
+ }
+}
+
+/* -----------------------------------------------------------------------------
MEDIA QUERIES RESPONSIVAS
----------------------------------------------------------------------------- */
- @media (max-width: 768px) {
- .participation-grid,
- .year-cards {
- grid-template-columns: 1fr;
- gap: 1rem;
- }
-
- .participation-grid .participation-card:nth-child(3):nth-last-child(1) {
- grid-column: 1;
- }
-
- .stats-grid {
- grid-template-columns: repeat(2, 1fr);
- gap: 1rem;
- }
-
- .community-links {
- justify-content: center;
- gap: 0.75rem;
- }
-
- .community-link {
- min-width: 140px;
- padding: 1rem;
- }
-
- .community-link i {
- font-size: 1.5rem;
- }
-
- .hero-section {
- padding: 1.5rem 1rem;
- }
-
- .hero-logo {
- width: 5rem;
- height: 5rem;
- }
-
- .action-buttons {
- flex-direction: column;
- align-items: center;
- }
-
- .action-buttons a {
- width: 100%;
- max-width: 250px;
- }
-
- /* Voluntarios en móvil */
- .volunteer-card {
- padding: 1.5rem;
- }
-
- .volunteer-card .card-header {
- grid-template-columns: 1fr;
- text-align: center;
- gap: 1.5rem;
- }
-
- .volunteer-card .avatar-section {
- order: -1;
- }
-
- /* Comunidades aliadas en móvil */
- .communities-grid {
- grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
- gap: 1rem;
- margin: 1.5rem 0;
- }
-
- .community-card {
- padding: 1.5rem 1rem;
- }
-
- .community-card img {
- width: 100px;
- height: 100px;
- }
-
- .community-card h4 {
- font-size: 1rem;
- }
-
- /* Meetups responsivos */
- .meetup-hero {
- padding: 1.5rem 1rem;
- margin: 1rem 0;
- }
-
- .meetup-hero h1 {
- font-size: clamp(1.5rem, 5vw, 2.2rem);
- }
-
- .meetup-subtitle {
- font-size: 1rem;
- }
-
- .event-details {
- grid-template-columns: 1fr;
- gap: 0.75rem;
- margin: 1.5rem 0;
- }
-
- .detail-card {
- padding: 1rem;
- }
-
- .talk-section {
- margin: 1.5rem 0;
- }
-
- .talk-header {
- padding: 1.25rem 1rem;
- }
-
- .talk-header h3 {
- font-size: 1.2rem;
- }
-
- .speaker-section {
- flex-direction: column;
- text-align: center;
- padding: 1.25rem 1rem;
- gap: 1rem;
- }
-
- .speaker-photo img {
- width: 120px;
- height: 120px;
- }
-
- .talk-description {
- padding: 1.25rem 1rem;
- }
-
- .talk-description p {
- font-size: 0.95rem;
- }
-
- .tech-stack {
- grid-template-columns: 1fr;
- gap: 0.5rem;
- }
-
- .tech-stack > div {
- padding: 0.75rem;
- }
-
- .video-container {
- padding: 0 1rem;
- }
-
- .youtube-btn {
- padding: 0.75rem 1rem;
- font-size: 0.9rem;
- }
- }
+@media (max-width: 768px) {
+ .participation-grid,
+ .year-cards {
+ grid-template-columns: 1fr;
+ gap: 1rem;
+ }
+
+ .participation-grid .participation-card:nth-child(3):nth-last-child(1) {
+ grid-column: 1;
+ }
+
+ .stats-grid {
+ grid-template-columns: repeat(2, 1fr);
+ gap: 1rem;
+ }
+
+ .community-links {
+ justify-content: center;
+ gap: 0.75rem;
+ }
+
+ .community-link {
+ min-width: 140px;
+ padding: 1rem;
+ }
+
+ .community-link span.twemoji {
+ font-size: 1.5rem;
+ }
+
+ .hero-section {
+ padding: 1.5rem 1rem;
+ }
+
+ .hero-logo {
+ width: 5rem;
+ height: 5rem;
+ }
+
+ .action-buttons {
+ flex-direction: column;
+ align-items: center;
+ }
+
+ .action-buttons a {
+ width: 100%;
+ max-width: 250px;
+ }
+
+ /* Voluntarios en móvil */
+ .volunteer-card {
+ padding: 1.5rem;
+ }
+
+ .volunteer-card .card-header {
+ grid-template-columns: 1fr;
+ text-align: center;
+ gap: 1.5rem;
+ }
+
+ .volunteer-card .avatar-section {
+ order: -1;
+ }
+
+ /* Comunidades aliadas en móvil */
+ .communities-grid {
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
+ gap: 1rem;
+ margin: 1.5rem 0;
+ }
+
+ .community-card {
+ padding: 1.5rem 1rem;
+ }
+
+ .community-card img {
+ width: 100px;
+ height: 100px;
+ }
+
+ .community-card h4 {
+ font-size: 1rem;
+ }
+
+ /* Meetups responsivos */
+ .meetup-hero {
+ padding: 1.5rem 1rem;
+ margin: 1rem 0;
+ }
+
+ .meetup-hero h1 {
+ font-size: clamp(1.5rem, 5vw, 2.2rem);
+ }
+
+ .meetup-subtitle {
+ font-size: 1rem;
+ }
+
+ .event-details {
+ grid-template-columns: 1fr;
+ gap: 0.75rem;
+ margin: 1.5rem 0;
+ }
+
+ .detail-card {
+ padding: 1rem;
+ }
+
+ .talk-section {
+ margin: 1.5rem 0;
+ }
+
+ .talk-header {
+ padding: 1.25rem 1rem;
+ }
+
+ .talk-header h3 {
+ font-size: 1.2rem;
+ }
+
+ .speaker-section {
+ flex-direction: column;
+ text-align: center;
+ padding: 1.25rem 1rem;
+ gap: 1rem;
+ }
+
+ .speaker-photo img {
+ width: 120px;
+ height: 120px;
+ }
+
+ .talk-description {
+ padding: 1.25rem 1rem;
+ }
+
+ .talk-description p {
+ font-size: 0.95rem;
+ }
+
+ .tech-stack {
+ grid-template-columns: 1fr;
+ gap: 0.5rem;
+ }
+
+ .tech-stack > div {
+ padding: 0.75rem;
+ }
+
+ .video-container {
+ padding: 0 1rem;
+ }
+
+ .youtube-btn {
+ padding: 0.75rem 1rem;
+ font-size: 0.9rem;
+ }
+}
diff --git a/docs/index.md b/docs/index.md
index 9e8ef2e..24700d3 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -2,52 +2,61 @@
Bienvenidos a
PythonCDMX
-
#PythonCDMX es un grupo de personas interesadas en aprender y compartir su conocimiento sobre el lenguaje de programación Python. El objetivo es estar en contacto con más gente interesada en innovación y tecnología.
-
+
#PythonCDMX es un grupo de personas interesadas en aprender y compartir su conocimiento sobre el lenguaje de programación Python. El objetivo es estar en contacto con más gente interesada en innovación y tecnología.
----
+## :fontawesome-solid-link: Conoce a quienes hacen posible **Python CDMX!**
-
+[:fontawesome-solid-arrow-right: Voluntarios](/comunidad/voluntarios#voluntarios-de-python-cdmx)
+[:fontawesome-solid-arrow-right: Ponentes](/comunidad/ponentes#ponentes-de-pyut)
+{ .text-align-center }
-
-
¡Únete a Nuestros Meetups!
-
Charlas técnicas, networking y aprendizaje colaborativo
-
Ver Meetups
-
+## :fontawesome-solid-microphone: ¡Únete a Nuestros Meetups!
----
+Charlas técnicas, networking y aprendizaje colaborativo
+{ .text-align-center .subtitle }
-##
Formas de Participación
+[:fontawesome-solid-calendar: Ver Meetups](/meetups/2025){ .upcoming-btn }
+{ .text-align-center }
+
+## :fontawesome-solid-users: Formas de Participación
+
+
+
+- :fontawesome-solid-microphone: Ser Ponente
+ { .card--header }
+
+ Comparte tu conocimiento con la comunidad. Charlas técnicas, casos de uso, mejores prácticas y más.
+ { .card--body }
+
+ [Conoce Más](/comunidad/ponentes)
+ { .card--footer }
+
+- :fontawesome-solid-hands-helping: Ser Voluntario
+ { .card--header }
+
+ Ayuda a organizar eventos, gestionar redes sociales, o contribuir con el desarrollo del sitio web.
+ { .card--body }
+
+ [Únete](/comunidad/voluntarios)
+ { .card--footer }
+
+- :fontawesome-solid-users: Asistir
+ { .card--header }
+
+ Participa en nuestros meetups, aprende de expertos y conecta con otros desarrolladores Python.
+ { .card--body }
+
+ [Ver Eventos](/meetups){ .btn .btn-primary }
-
-
-
Ser Ponente
-
Comparte tu conocimiento con la comunidad. Charlas técnicas, casos de uso, mejores prácticas y más.
-
Conoce Más
-
-
-
Ser Voluntario
-
Ayuda a organizar eventos, gestionar redes sociales, o contribuir con el desarrollo del sitio web.
-
Únete
-
-
-
Asistir
-
Participa en nuestros meetups, aprende de expertos y conecta con otros desarrolladores Python.
-
Ver Eventos
-
---
diff --git a/docs/meetups/2023/202309-septiembre.md b/docs/meetups/2023/202309-septiembre.md
index c96b13f..a10cb58 100644
--- a/docs/meetups/2023/202309-septiembre.md
+++ b/docs/meetups/2023/202309-septiembre.md
@@ -2,7 +2,7 @@
title: "Utilizando Servicios AI de AWS y Metaprogramación en Python"
---
-# Meetup #PythonCDMX
- Septiembre 2023
+# Meetup #PythonCDMX :fontawesome-brands-python: - Septiembre 2023
Utilizando Servicios AI de AWS y Metaprogramación en Python
diff --git a/docs/meetups/2023/202310-octubre.md b/docs/meetups/2023/202310-octubre.md
index 249ebf0..d114728 100644
--- a/docs/meetups/2023/202310-octubre.md
+++ b/docs/meetups/2023/202310-octubre.md
@@ -2,7 +2,7 @@
title: "¡De Jupyter a Web en Minutos!"
---
-# Meetup #PythonCDMX
- Octubre 2023
+# Meetup #PythonCDMX :fontawesome-brands-python: - Octubre 2023
¡De Jupyter a Web en Minutos!
diff --git a/docs/meetups/2023/202311-noviembre.md b/docs/meetups/2023/202311-noviembre.md
index 5cb329d..09b130c 100644
--- a/docs/meetups/2023/202311-noviembre.md
+++ b/docs/meetups/2023/202311-noviembre.md
@@ -2,7 +2,7 @@
title: "GitOps 101 / Python: La Forja de un Lenguaje"
---
-# Meetup #PythonCDMX
- Noviembre 2023
+# Meetup #PythonCDMX :fontawesome-brands-python: - Noviembre 2023
GitOps 101 / Python: La Forja de un Lenguaje
diff --git a/docs/meetups/2023/index.md b/docs/meetups/2023/index.md
index 8a3c9de..dd42b4c 100644
--- a/docs/meetups/2023/index.md
+++ b/docs/meetups/2023/index.md
@@ -2,7 +2,7 @@
-# Meetups 2023
+# Meetups 2023 :fontawesome-solid-calendar-alt:
Nuestro primer año como comunidad Python CDMX
@@ -10,17 +10,17 @@
---
-|
**Fecha** |
**Charla** |
**Ponente** |
**Lugar** |
**Detalles** |
+| :fontawesome-solid-calendar: **Fecha** | :fontawesome-solid-microphone: **Charla** | :fontawesome-solid-user: **Ponente** | :fontawesome-solid-map-marker-alt: **Lugar** | :fontawesome-solid-link: **Detalles** |
|:---|:---|:---|:---|:---|
-| **14 Noviembre 2023** | GitOps: Automatizando el despliegue de aplicaciones | Carlos Reyes | Wizeline México | [Ver detalles](202311-noviembre/) |
-| **14 Noviembre 2023** | Historia de Python: De Guido van Rossum a la actualidad | Gustavo Vera | Wizeline México | [Ver detalles](202311-noviembre/) |
-| **10 Octubre 2023** | Jupyter a Web: De notebooks a aplicaciones web | Gustavo Vera | Wizeline México | [Ver detalles](202310-octubre/) |
-| **12 Septiembre 2023** | Metaprogramación en Python | David Sol | Wizeline México | [Ver detalles](202309-septiembre/) |
-| **12 Septiembre 2023** | AWS AI: Servicios de IA en la nube | Gustavo Vera | Wizeline México | [Ver detalles](202309-septiembre/) |
+| **14 Noviembre 2023** | GitOps: Automatizando el despliegue de aplicaciones | Carlos Reyes | Wizeline México | [Ver detalles](202311-noviembre) |
+| **14 Noviembre 2023** | Historia de Python: De Guido van Rossum a la actualidad | Gustavo Vera | Wizeline México | [Ver detalles](202311-noviembre) |
+| **10 Octubre 2023** | Jupyter a Web: De notebooks a aplicaciones web | Gustavo Vera | Wizeline México | [Ver detalles](202310-octubre) |
+| **12 Septiembre 2023** | Metaprogramación en Python | David Sol | Wizeline México | [Ver detalles](202309-septiembre) |
+| **12 Septiembre 2023** | AWS AI: Servicios de IA en la nube | Gustavo Vera | Wizeline México | [Ver detalles](202309-septiembre) |
---
-##
Estadísticas 2023
+## :fontawesome-solid-star: Estadísticas 2023
@@ -56,4 +56,4 @@
---
-¿Te gustaría aparecer aquí? Conoce a nuestros [ponentes y voluntarios reconocidos](../../comunidad/como-contribuir/).
+¿Te gustaría aparecer aquí? Conoce a nuestros [ponentes y voluntarios reconocidos](../../comunidad/como-contribuir).
diff --git a/docs/meetups/2024/202401-enero.md b/docs/meetups/2024/202401-enero.md
index a98bf6e..4ce6e62 100644
--- a/docs/meetups/2024/202401-enero.md
+++ b/docs/meetups/2024/202401-enero.md
@@ -2,7 +2,7 @@
title: "Ambientes virtuales con venv, pyenv y poetry"
---
-# Meetup #PythonCDMX
- Enero 2024
+# Meetup #PythonCDMX :fontawesome-brands-python: - Enero 2024
Ambientes virtuales con venv, pyenv y poetry
diff --git a/docs/meetups/2024/202402-febrero.md b/docs/meetups/2024/202402-febrero.md
index c9ef89a..19c35da 100644
--- a/docs/meetups/2024/202402-febrero.md
+++ b/docs/meetups/2024/202402-febrero.md
@@ -2,7 +2,7 @@
title: "Del Código al Clic: Transforma Ideas en Interfaces"
---
-# Meetup #PythonCDMX
- Febrero 2024
+# Meetup #PythonCDMX :fontawesome-brands-python: - Febrero 2024
Del Código al Clic: Transforma Ideas en Interfaces
diff --git a/docs/meetups/2024/202403-marzo.md b/docs/meetups/2024/202403-marzo.md
index 06c30dd..c8020ae 100644
--- a/docs/meetups/2024/202403-marzo.md
+++ b/docs/meetups/2024/202403-marzo.md
@@ -2,7 +2,7 @@
title: "Desarrollo de API REST con Flask"
---
-# Meetup #PythonCDMX
- Marzo 2024
+# Meetup #PythonCDMX :fontawesome-brands-python: - Marzo 2024
Desarrollo de API REST con Flask
diff --git a/docs/meetups/2024/202404-abril.md b/docs/meetups/2024/202404-abril.md
index 919f5a7..c5588e5 100644
--- a/docs/meetups/2024/202404-abril.md
+++ b/docs/meetups/2024/202404-abril.md
@@ -2,7 +2,7 @@
title: "Desarrollo en Python usando Contenedores"
---
-# Meetup #PythonCDMX
- Abril 2024
+# Meetup #PythonCDMX :fontawesome-brands-python: - Abril 2024
Desarrollo en Python usando Contenedores
diff --git a/docs/meetups/2024/202405-mayo.md b/docs/meetups/2024/202405-mayo.md
index b638d7c..a2c7178 100644
--- a/docs/meetups/2024/202405-mayo.md
+++ b/docs/meetups/2024/202405-mayo.md
@@ -2,7 +2,7 @@
title: "Pydantic: Validaciones de datos con Type Hints"
---
-# Meetup #PythonCDMX
- Mayo 2024
+# Meetup #PythonCDMX :fontawesome-brands-python: - Mayo 2024
Pydantic: Validaciones de datos con Type Hints
diff --git a/docs/meetups/2024/202406-junio.md b/docs/meetups/2024/202406-junio.md
index 8043bcd..4e22471 100644
--- a/docs/meetups/2024/202406-junio.md
+++ b/docs/meetups/2024/202406-junio.md
@@ -2,7 +2,7 @@
title: "Matemáticas y Python: Ciencia Detrás de la Regresión Lineal"
---
-# Meetup #PythonCDMX
- Junio 2024
+# Meetup #PythonCDMX :fontawesome-brands-python: - Junio 2024
Matemáticas y Python: Ciencia Detrás de la Regresión Lineal
diff --git a/docs/meetups/2024/202407-julio.md b/docs/meetups/2024/202407-julio.md
index e775d8a..a179a0d 100644
--- a/docs/meetups/2024/202407-julio.md
+++ b/docs/meetups/2024/202407-julio.md
@@ -2,7 +2,7 @@
title: "¡Doble Charla! Python sin GIL / Esquemas ETL"
---
-# Meetup #PythonCDMX
- Julio 2024
+# Meetup #PythonCDMX :fontawesome-brands-python: - Julio 2024
¡Doble Charla! Python sin GIL / Esquemas ETL
diff --git a/docs/meetups/2024/202408-agosto.md b/docs/meetups/2024/202408-agosto.md
index e2b7224..973185d 100644
--- a/docs/meetups/2024/202408-agosto.md
+++ b/docs/meetups/2024/202408-agosto.md
@@ -2,7 +2,7 @@
title: "Protocolos en Python / Convertirse en Contribuidor Open Source"
---
-# Meetup #PythonCDMX
- Agosto 2024
+# Meetup #PythonCDMX :fontawesome-brands-python: - Agosto 2024
Protocolos en Python / Convertirse en Contribuidor Open Source
diff --git a/docs/meetups/2024/202409-septiembre.md b/docs/meetups/2024/202409-septiembre.md
index 8c284b5..0014e67 100644
--- a/docs/meetups/2024/202409-septiembre.md
+++ b/docs/meetups/2024/202409-septiembre.md
@@ -2,7 +2,7 @@
title: "Representaciones Fonéticas / Rich & Textual"
---
-# Meetup #PythonCDMX
- Septiembre 2024
+# Meetup #PythonCDMX :fontawesome-brands-python: - Septiembre 2024
Representaciones Fonéticas / Rich & Textual
diff --git a/docs/meetups/2024/202410-octubre.md b/docs/meetups/2024/202410-octubre.md
index 54c526d..d75347c 100644
--- a/docs/meetups/2024/202410-octubre.md
+++ b/docs/meetups/2024/202410-octubre.md
@@ -2,7 +2,7 @@
title: "Una ida y una vuelta: Cómo iniciar en el opensource"
---
-# Meetup #PythonCDMX
- Octubre 2024
+# Meetup #PythonCDMX :fontawesome-brands-python: - Octubre 2024
Una ida y una vuelta: Cómo iniciar en el opensource
diff --git a/docs/meetups/2024/202411-noviembre.md b/docs/meetups/2024/202411-noviembre.md
index 384306b..0863d54 100644
--- a/docs/meetups/2024/202411-noviembre.md
+++ b/docs/meetups/2024/202411-noviembre.md
@@ -2,7 +2,7 @@
title: "Evita Anti-patrones en Python / ¿Qué y por qué ChatGPT?"
---
-# Meetup #PythonCDMX
- Noviembre 2024
+# Meetup #PythonCDMX :fontawesome-brands-python: - Noviembre 2024
Evita Anti-patrones en Python / ¿Qué y por qué ChatGPT?
diff --git a/docs/meetups/2024/index.md b/docs/meetups/2024/index.md
index 39b65bf..686e31b 100644
--- a/docs/meetups/2024/index.md
+++ b/docs/meetups/2024/index.md
@@ -2,7 +2,7 @@
-# Meetups 2024
+# Meetups 2024 :fontawesome-solid-calendar-alt:
Conectando desarrolladores Python en la Ciudad de México
@@ -10,27 +10,27 @@
---
-|
**Fecha** |
**Charla** |
**Ponente** |
**Lugar** |
**Detalles** |
+| :fontawesome-solid-calendar: **Fecha** | :fontawesome-solid-microphone: **Charla** | :fontawesome-solid-user: **Ponente** | :fontawesome-solid-map-marker-alt: **Lugar** | :fontawesome-solid-link: **Detalles** |
|:---|:---|:---|:---|:---|
-| **12 Noviembre 2024** | Mejora tu código: Evita anti-patrones en Python | Alejandro Lopez | Wizeline México | [Ver detalles](202411-noviembre/) |
-| **12 Noviembre 2024** | Exactamente qué y (sobre todo) por qué ChatGPT | Hugo Ramírez | Wizeline México | [Ver detalles](202411-noviembre/) |
-| **08 Octubre 2024** | Contribuir a Open Source | Alex Callejas | Wizeline México | [Ver detalles](202410-octubre/) |
-| **10 Septiembre 2024** | Protocolos en Python | Diego Barriga | Wizeline México | [Ver detalles](202409-septiembre/) |
-| **10 Septiembre 2024** | Guía Open Source | David Sol | Wizeline México | [Ver detalles](202409-septiembre/) |
-| **13 Agosto 2024** | ETLs con Python | Gustavo Vera | Wizeline México | [Ver detalles](202408-agosto/) |
-| **13 Agosto 2024** | GIL: Global Interpreter Lock | Fer Perales | Wizeline México | [Ver detalles](202408-agosto/) |
-| **09 Julio 2024** | Regresión Lineal | Konstantin Spirin | Wizeline México | [Ver detalles](202407-julio/) |
-| **09 Julio 2024** | Fonética con Python | Hugo Ramirez | Wizeline México | [Ver detalles](202407-julio/) |
-| **11 Junio 2024** | Regresión Lineal | Geovanni Zepeda Martínez | Wizeline México | [Ver detalles](202406-junio/) |
-| **14 Mayo 2024** | Pydantic | Charly Román | Wizeline México | [Ver detalles](202405-mayo/) |
-| **09 Abril 2024** | Contenedores | David Sol | Wizeline México | [Ver detalles](202404-abril/) |
-| **12 Marzo 2024** | Flask APIs | Alejandro López | Wizeline México | [Ver detalles](202403-marzo/) |
-| **13 Febrero 2024** | Entornos Virtuales | Gustavo Vera | Wizeline México | [Ver detalles](202402-febrero/) |
-| **09 Enero 2024** | PyPI | David Sol | Wizeline México | [Ver detalles](202401-enero/) |
+| **12 Noviembre 2024** | Mejora tu código: Evita anti-patrones en Python | Alejandro Lopez | Wizeline México | [Ver detalles](202411-noviembre) |
+| **12 Noviembre 2024** | Exactamente qué y (sobre todo) por qué ChatGPT | Hugo Ramírez | Wizeline México | [Ver detalles](202411-noviembre) |
+| **08 Octubre 2024** | Contribuir a Open Source | Alex Callejas | Wizeline México | [Ver detalles](202410-octubre) |
+| **10 Septiembre 2024** | Protocolos en Python | Diego Barriga | Wizeline México | [Ver detalles](202409-septiembre) |
+| **10 Septiembre 2024** | Guía Open Source | David Sol | Wizeline México | [Ver detalles](202409-septiembre) |
+| **13 Agosto 2024** | ETLs con Python | Gustavo Vera | Wizeline México | [Ver detalles](202408-agosto) |
+| **13 Agosto 2024** | GIL: Global Interpreter Lock | Fer Perales | Wizeline México | [Ver detalles](202408-agosto) |
+| **09 Julio 2024** | Regresión Lineal | Konstantin Spirin | Wizeline México | [Ver detalles](202407-julio) |
+| **09 Julio 2024** | Fonética con Python | Hugo Ramirez | Wizeline México | [Ver detalles](202407-julio) |
+| **11 Junio 2024** | Regresión Lineal | Geovanni Zepeda Martínez | Wizeline México | [Ver detalles](202406-junio) |
+| **14 Mayo 2024** | Pydantic | Charly Román | Wizeline México | [Ver detalles](202405-mayo) |
+| **09 Abril 2024** | Contenedores | David Sol | Wizeline México | [Ver detalles](202404-abril) |
+| **12 Marzo 2024** | Flask APIs | Alejandro López | Wizeline México | [Ver detalles](202403-marzo) |
+| **13 Febrero 2024** | Entornos Virtuales | Gustavo Vera | Wizeline México | [Ver detalles](202402-febrero) |
+| **09 Enero 2024** | PyPI | David Sol | Wizeline México | [Ver detalles](202401-enero) |
---
-##
Estadísticas 2024
+## :fontawesome-solid-star: Estadísticas 2024
@@ -66,4 +66,4 @@
---
-¿Te gustaría aparecer aquí? Conoce a nuestros [ponentes y voluntarios reconocidos](../../comunidad/como-contribuir/).
+¿Te gustaría aparecer aquí? Conoce a nuestros [ponentes y voluntarios reconocidos](../../comunidad/como-contribuir).
diff --git a/docs/meetups/2025/202501-enero.md b/docs/meetups/2025/202501-enero.md
index 451eca6..c5f5527 100644
--- a/docs/meetups/2025/202501-enero.md
+++ b/docs/meetups/2025/202501-enero.md
@@ -2,7 +2,7 @@
title: "Crea extensiones para LibreOffice / PCI DSS en Python"
---
-# Meetup #PythonCDMX
- Enero 2025
+# Meetup #PythonCDMX :fontawesome-brands-python: - Enero 2025
Crea extensiones para LibreOffice / PCI DSS en Python
diff --git a/docs/meetups/2025/202502-febrero.md b/docs/meetups/2025/202502-febrero.md
index d7c7147..7c90c53 100644
--- a/docs/meetups/2025/202502-febrero.md
+++ b/docs/meetups/2025/202502-febrero.md
@@ -2,7 +2,7 @@
title: "Embeddings / Advent of Code"
---
-# Meetup #PythonCDMX
- Febrero 2025
+# Meetup #PythonCDMX :fontawesome-brands-python: - Febrero 2025
Embeddings / Advent of Code
diff --git a/docs/meetups/2025/202503-marzo.md b/docs/meetups/2025/202503-marzo.md
index 1a8386c..16cb009 100644
--- a/docs/meetups/2025/202503-marzo.md
+++ b/docs/meetups/2025/202503-marzo.md
@@ -2,7 +2,7 @@
title: "Agentes de IA / PySide6"
---
-# Meetup #PythonCDMX
- Marzo 2025
+# Meetup #PythonCDMX :fontawesome-brands-python: - Marzo 2025
Agentes de IA / PySide6
diff --git a/docs/meetups/2025/202504-abril.md b/docs/meetups/2025/202504-abril.md
index 609b77f..20ad736 100644
--- a/docs/meetups/2025/202504-abril.md
+++ b/docs/meetups/2025/202504-abril.md
@@ -2,7 +2,7 @@
title: "Kubernetes y IA"
---
-# Meetup #PythonCDMX
- Abril 2025
+# Meetup #PythonCDMX :fontawesome-brands-python: - Abril 2025
Kubernetes y IA
diff --git a/docs/meetups/2025/202504-unam.md b/docs/meetups/2025/202504-unam.md
index 75e418d..59a30df 100644
--- a/docs/meetups/2025/202504-unam.md
+++ b/docs/meetups/2025/202504-unam.md
@@ -2,7 +2,7 @@
title: "¡Extra! Sudo Ciencias en la UNAM"
---
-# Meetup #PythonCDMX
- Abril 2025
+# Meetup #PythonCDMX :fontawesome-brands-python: - Abril 2025
¡Extra! Sudo Ciencias en la UNAM
diff --git a/docs/meetups/2025/202505-mayo.md b/docs/meetups/2025/202505-mayo.md
index 6bd07d1..6da946e 100644
--- a/docs/meetups/2025/202505-mayo.md
+++ b/docs/meetups/2025/202505-mayo.md
@@ -2,7 +2,7 @@
title: "Publicando un paquete en PyPI"
---
-# Meetup #PythonCDMX
- Mayo 2025
+# Meetup #PythonCDMX :fontawesome-brands-python: - Mayo 2025
Publicando un paquete en PyPI
diff --git a/docs/meetups/2025/202506-junio.md b/docs/meetups/2025/202506-junio.md
index 26d76e8..c364365 100644
--- a/docs/meetups/2025/202506-junio.md
+++ b/docs/meetups/2025/202506-junio.md
@@ -2,7 +2,7 @@
title: "Usando Python y software libre"
---
-# Meetup #PythonCDMX
- Junio 2025
+# Meetup #PythonCDMX :fontawesome-brands-python: - Junio 2025
Usando Python y software libre
diff --git a/docs/meetups/2025/202507-julio.md b/docs/meetups/2025/202507-julio.md
index 32c001c..f07f0a9 100644
--- a/docs/meetups/2025/202507-julio.md
+++ b/docs/meetups/2025/202507-julio.md
@@ -2,7 +2,7 @@
title: "Cómo preparar una ambiente de desarrollo con Python desde zero"
---
-# Meetup #PythonCDMX
- Julio 2025
+# Meetup #PythonCDMX :fontawesome-brands-python: - Julio 2025
Cómo preparar una ambiente de desarrollo con Python desde zero
diff --git a/docs/meetups/2025/202508-agosto.md b/docs/meetups/2025/202508-agosto.md
index 4bc8477..76ccc6d 100644
--- a/docs/meetups/2025/202508-agosto.md
+++ b/docs/meetups/2025/202508-agosto.md
@@ -2,7 +2,7 @@
title: "Escalando tus aplicaciones Python con Ray"
---
-# Meetup #PythonCDMX
- Agosto 2025
+# Meetup #PythonCDMX :fontawesome-brands-python: - Agosto 2025
Escalando tus aplicaciones Python con Ray
diff --git a/docs/meetups/2025/index.md b/docs/meetups/2025/index.md
index f3b5ee1..7cbd548 100644
--- a/docs/meetups/2025/index.md
+++ b/docs/meetups/2025/index.md
@@ -2,7 +2,7 @@
-# Meetups 2025
+# Meetups 2025 :fontawesome-solid-calendar-alt:
Conectando desarrolladores Python en la Ciudad de México
@@ -10,25 +10,25 @@
---
-|
**Fecha** |
**Charla** |
**Ponente** |
**Lugar** |
**Detalles** |
+| :fontawesome-solid-calendar: **Fecha** | :fontawesome-solid-microphone: **Charla** | :fontawesome-solid-user: **Ponente** | :fontawesome-solid-map-marker-alt: **Lugar** | :fontawesome-solid-link: **Detalles** |
|:---|:---|:---|:---|:---|
-| **12 Agosto 2025** | Cómo preparar una ambiente de desarrollo con Python desde zero | Juan Guillermo Gómez | Jardin Chapultepec | [Ver detalles](202508-agosto/) |
-| **08 Julio 2025** | Cómo preparar una ambiente de desarrollo con Python desde zero | David Sol | Clara | [Ver detalles](202507-julio/) |
-| **10 Junio 2025** | Usando Python y software libre para crear nuevas herramientas: Traductor de voz español-inglés | Carlos Cesar Caballero | Wizeline México | [Ver detalles](202506-junio/) |
-| **13 Mayo 2025** | Construyendo un paquete en Python y publicándolo en PyPI | Javier Novoa | Wizeline México | [Ver detalles](202505-mayo/) |
-| **25 Abril 2025** | portafolio.py: Como hacer un portafolio web sin saber diseño web | Daniel Paredes | UNAM Facultad de Ciencias | [Ver detalles](202504-unam/) |
-| **25 Abril 2025** | Programar en tiempos del Vibe-Coding | Charly Roman | UNAM Facultad de Ciencias | [Ver detalles](202504-unam/) |
-| **08 Abril 2025** | El para que cosa de Quien. Kubernetes y AI | Carlos Reyes | Wizeline México | [Ver detalles](202504-abril/) |
-| **11 Marzo 2025** | Mi Primer Agente de Inteligencia Artificial con Python | Erik Rivera | Wizeline México | [Ver detalles](202503-marzo/) |
-| **11 Maro 2025** | Interfases gráficas con Pyside6 | David Sol | Wizeline México | [Ver detalles](202503-marzo/) |
-| **11 Febrero 2025** | Lecciones del Advent of Code 2024 | Manuel Rábade | Wizeline México | [Ver detalles](202502-febrero/) |
-| **11 Febrero 2025** | Embeddings: El lenguaje como las máquinas entienden el lenguaje humano | Juan Guillermo Gómez | Wizeline México | [Ver detalles](202502-febrero/) |
-| **14 Enero 2025** | Crea extensiones para LibreOffice con Python | elMau (Mauricio B.) | Wizeline México | [Ver detalles](202501-enero/) |
-| **14 Enero 2025** | Seguridad y cumplimiento de Python: Garantizar el cumplimiento de PCI DSS | Mauro Parra | Wizeline México | [Ver detalles](202501-enero/) |
+| **12 Agosto 2025** | Cómo preparar una ambiente de desarrollo con Python desde zero | Juan Guillermo Gómez | Jardin Chapultepec | [Ver detalles](202508-agosto) |
+| **08 Julio 2025** | Cómo preparar una ambiente de desarrollo con Python desde zero | David Sol | Clara | [Ver detalles](202507-julio) |
+| **10 Junio 2025** | Usando Python y software libre para crear nuevas herramientas: Traductor de voz español-inglés | Carlos Cesar Caballero | Wizeline México | [Ver detalles](202506-junio) |
+| **13 Mayo 2025** | Construyendo un paquete en Python y publicándolo en PyPI | Javier Novoa | Wizeline México | [Ver detalles](202505-mayo) |
+| **25 Abril 2025** | portafolio.py: Como hacer un portafolio web sin saber diseño web | Daniel Paredes | UNAM Facultad de Ciencias | [Ver detalles](202504-unam) |
+| **25 Abril 2025** | Programar en tiempos del Vibe-Coding | Charly Roman | UNAM Facultad de Ciencias | [Ver detalles](202504-unam) |
+| **08 Abril 2025** | El para que cosa de Quien. Kubernetes y AI | Carlos Reyes | Wizeline México | [Ver detalles](202504-abril) |
+| **11 Marzo 2025** | Mi Primer Agente de Inteligencia Artificial con Python | Erik Rivera | Wizeline México | [Ver detalles](202503-marzo) |
+| **11 Maro 2025** | Interfases gráficas con Pyside6 | David Sol | Wizeline México | [Ver detalles](202503-marzo) |
+| **11 Febrero 2025** | Lecciones del Advent of Code 2024 | Manuel Rábade | Wizeline México | [Ver detalles](202502-febrero) |
+| **11 Febrero 2025** | Embeddings: El lenguaje como las máquinas entienden el lenguaje humano | Juan Guillermo Gómez | Wizeline México | [Ver detalles](202502-febrero) |
+| **14 Enero 2025** | Crea extensiones para LibreOffice con Python | elMau (Mauricio B.) | Wizeline México | [Ver detalles](202501-enero) |
+| **14 Enero 2025** | Seguridad y cumplimiento de Python: Garantizar el cumplimiento de PCI DSS | Mauro Parra | Wizeline México | [Ver detalles](202501-enero) |
---
-##
Estadísticas 2025
+## :fontawesome-solid-star: Estadísticas 2025
@@ -65,4 +65,4 @@
---
-¿Te gustaría aparecer aquí? Conoce a nuestros [ponentes y voluntarios reconocidos](../../comunidad/como-contribuir/).
+¿Te gustaría aparecer aquí? Conoce a nuestros [ponentes y voluntarios reconocidos](../../comunidad/como-contribuir).
diff --git a/docs/meetups/index.md b/docs/meetups/index.md
index 2b11f26..c0e841d 100644
--- a/docs/meetups/index.md
+++ b/docs/meetups/index.md
@@ -10,7 +10,7 @@
---
-##
Años Disponibles
+## :fontawesome-solid-calendar: Años Disponibles
@@ -39,7 +39,7 @@
---
-##
Estadísticas Generales
+## :fontawesome-solid-star: Estadísticas Generales
diff --git a/mkdocs.yml b/mkdocs.yml
index 39a0fe9..117abe8 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -60,10 +60,6 @@ theme:
- search.suggest
- toc.follow
- # Icons
- icon:
- repo: fontawesome/brands/github
-
# Plugins
plugins:
- search:
diff --git a/scripts/check_links.py b/scripts/check_links.py
index 07787c7..045aa9e 100644
--- a/scripts/check_links.py
+++ b/scripts/check_links.py
@@ -165,6 +165,8 @@ def main():
# Find all markdown files
for md_file in docs_dir.rglob("*.md"):
+ if "README.md" in md_file.name:
+ continue
try:
with open(md_file, "r", encoding="utf-8") as f:
content = f.read()