Este repositorio contiene el sitio público de PyCon Panamá, la conferencia de la comunidad Python Panamá. Es un sitio estático: cada edición se conserva en su propia carpeta y Netlify publica la raíz del repositorio.
Producción: pycon.pa · Edición activa: 2026 · Contacto: pythonpanama4@gmail.com
- Inicio rápido
- Estructura y alcance
- Cambiar el sitio
- Validar antes de proponer cambios
- Despliegue
- Contribuir
- Documentación y contacto
La edición activa no requiere Node.js, dependencias ni proceso de compilación; basta con Python 3 para servir los archivos localmente.
git clone https://github.com/pythonpanama/pycon_panama_web.git
cd pycon_panama_web
python3 -m http.server 8000Abre http://localhost:8000/2026/.
Sirve desde la raíz del repositorio, no desde 2026/: así las rutas absolutas, el favicon y las URLs de cada edición se comportan como en producción. Para detener el servidor, usa Ctrl+C.
| Ruta | Uso | ¿Se edita normalmente? |
|---|---|---|
2026/ |
Edición pública activa: HTML, CSS y JavaScript sin framework. | Sí |
2027/ |
Export generado de una edición futura. | No, salvo regeneración deliberada |
2025/ y 2024/ |
Ediciones archivadas. | No, excepto correcciones puntuales |
2026_dev/ |
Prototipo independiente en Reflex; no se despliega desde aquí. | Solo si se trabaja en el prototipo |
local_server/ |
Proxy opcional, limitado a 127.0.0.1, para pruebas locales con Supabase. Usa una clave privilegiada. |
Solo para desarrollo local; jamás se publica |
netlify.toml |
Publicación, redirección de / a /2026/ y cabeceras HTTP. |
Con revisión cuidadosa |
Otros archivos de la raíz cumplen funciones de publicación: 404.html, robots.txt, sitemap.xml, favicon.ico y fix_paths.sh.
docs/ y docs-internas/ son documentación local no publicada. Están ignoradas intencionalmente, no deben añadirse al control de versiones ni enlazarse desde el sitio. La información pública se mantiene en las páginas de la edición correspondiente.
El repositorio no contiene submódulos: trabaja siempre en esta raíz. Así se evita editar una copia anidada y desactualizada del sitio.
- Crea una rama desde
mainy delimita el cambio a una edición o propósito claro. - Para contenido de 2026, modifica los archivos de
2026/. Conserva la estructura semántica y los estilos compartidos en2026/css/. - Si cambias navegación, aplícala en todas las páginas públicas de
2026/:index.html,about.html,agenda.html,codigo_conducta.html,faq.html,registro.htmlyspeaker.html. - Si agregas una página pública, parte de una existente para mantener
lang,viewport, favicon, hojas de estilo,canonical, metadatos Open Graph y el enlace al Código de Conducta. Añade además la URL asitemap.xmly la navegación donde corresponda. - Mantén las fechas, sede, precios, CFP y beneficios como “por anunciar” hasta contar con confirmación pública. No publiques notas operativas, datos personales ni decisiones pendientes.
El prototipo de 2026_dev/ tiene su propio ciclo de desarrollo y dependencias:
cd 2026_dev
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
reflex runConsulta su README antes de modificarlo. Un cambio en el prototipo no cambia por sí mismo el sitio estático publicado.
La edición estática no requiere compilación. El validador incluido comprueba enlaces locales, fragmentos, metadatos sociales, URLs canónicas, el sitemap y marcadores de conflicto. Antes de abrir un Pull Request, ejecuta:
# 1. Comprueba la integridad del sitio público.
python3 scripts/validate_site.py
# 2. Evita errores de espacios y líneas finales.
git diff --check
# 3. Confirma que el servidor responde para la edición publicada.
python3 -m http.server 8000
# En otra terminal:
curl -I http://localhost:8000/2026/Después, revisa en el navegador la página afectada en escritorio y móvil: navegación, enlaces, imágenes, contraste, foco de teclado y diseño con zoom. Si cambias contenido o rutas, verifica también sitemap.xml, el canonical y las tarjetas sociales (og:*).
Antes de enviar cambios, revisa el alcance exacto:
git status --short
git diff --check
git diff -- 2026/ netlify.toml sitemap.xml robots.txtNetlify publica la raíz del repositorio (publish = ".") según netlify.toml. La configuración redirige / a /2026/ y define cabeceras de seguridad para el sitio.
El flujo esperado es:
- Abrir un Pull Request con una descripción breve, la página o edición afectada y cómo se validó.
- Revisar el preview de Netlify si está disponible para el repositorio.
- Integrar en
maintras la revisión correspondiente; Netlify realiza la publicación configurada. - Confirmar en producción la ruta modificada y, si aplica, la redirección raíz.
No modifiques netlify.toml para publicar documentación interna ni para cambiar la edición activa sin una decisión explícita del equipo organizador.
Las contribuciones son bienvenidas, especialmente correcciones de contenido, accesibilidad, enlaces y mantenimiento del sitio.
- Usa una rama con un nombre descriptivo y commits pequeños que expliquen el cambio.
- No mezcles una mejora de la edición activa con cambios generados, archivos locales o correcciones de una edición archivada.
- Respeta el Código de Conducta en toda interacción del proyecto.
- No hay una licencia general declarada en la raíz del repositorio. Consulta al equipo antes de reutilizar contenido o recursos fuera de este proyecto.
- Edición 2026: sitio actualmente publicado.
- Prototipo Reflex 2026: aplicación experimental, fuera del despliegue estático.
- Python Panamá · Instagram · Facebook · LinkedIn · Meetup
Para consultas sobre PyCon Panamá, escribe a pythonpanama4@gmail.com.