diff --git a/package.json b/package.json index 973c391..811e494 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "2026.es.pycon.org", - "version": "1.8.0", + "version": "1.9.0", "description": "", "main": "index.js", "scripts": { diff --git a/public/speakers/diego.jpg b/public/speakers/diego.jpg new file mode 100644 index 0000000..d97c784 Binary files /dev/null and b/public/speakers/diego.jpg differ diff --git a/src/components/home/SectionEarlyBird.astro b/src/components/home/SectionEarlyBird.astro index d94c458..bd926c0 100644 --- a/src/components/home/SectionEarlyBird.astro +++ b/src/components/home/SectionEarlyBird.astro @@ -21,20 +21,18 @@ const menuT = menuTexts[lang as keyof typeof menuTexts]
-

- {t['earlybird.title']} + {t['tickets.title']}

-

- {t['earlybird.description']} + {t['tickets.description']}

diff --git a/src/components/home/SectionSpeakers.astro b/src/components/home/SectionSpeakers.astro index 61374be..ceddf1a 100644 --- a/src/components/home/SectionSpeakers.astro +++ b/src/components/home/SectionSpeakers.astro @@ -17,15 +17,22 @@ const { lang } = Astro.props const t = texts[lang as keyof typeof texts] const sortedSpeakers = speakers.map((s) => s.frontmatter).sort((a, b) => a.order - b.order) + +const count = sortedSpeakers.length +const gridByCount: Record = { + 1: 'grid-cols-1 max-w-md mx-auto', + 2: 'grid-cols-1 sm:grid-cols-2 max-w-3xl mx-auto', +} +const gridClasses = gridByCount[count] ?? 'grid-cols-1 sm:grid-cols-2 lg:grid-cols-3' --- { sortedSpeakers.length > 0 && ( -
+
-
    +
      {sortedSpeakers.map((speaker) => (
    • diff --git a/src/components/home/SectionSponsors.astro b/src/components/home/SectionSponsors.astro index 7151e1a..d9be309 100644 --- a/src/components/home/SectionSponsors.astro +++ b/src/components/home/SectionSponsors.astro @@ -33,7 +33,7 @@ const tierDefs: Array<{ key: TSponsorTier; size: number; color: string }> = [ ] --- -
      +
      diff --git a/src/components/index.astro b/src/components/index.astro index 79d7b6c..2322379 100644 --- a/src/components/index.astro +++ b/src/components/index.astro @@ -2,7 +2,7 @@ import Layout from '@/layouts/Layout.astro' import SectionMain from './home/SectionMain.astro' import SectionSpeakers from './home/SectionSpeakers.astro' -import SectionEarlyBird from './home/SectionEarlyBird.astro' +// import SectionEarlyBird from './home/SectionEarlyBird.astro' import SectionSponsors from './home/SectionSponsors.astro' interface Props { @@ -16,7 +16,7 @@ const { lang } = Astro.props
      - +
      diff --git a/src/data/speakers/ada-lovelace.md.template b/src/data/speakers/ada-lovelace.md.template deleted file mode 100644 index 7f5fe8c..0000000 --- a/src/data/speakers/ada-lovelace.md.template +++ /dev/null @@ -1,13 +0,0 @@ ---- -name: 'Ada Lovelace' -order: 1 -photo: '/speakers/ada-lovelace.webp' -links: - - type: 'github' - url: 'https://github.com/ada-lovelace' - - type: 'linkedin' - url: 'https://linkedin.com/in/ada-lovelace' - - type: 'website' - url: 'https://ada-lovelace.dev' -description: Pionera de la computación y primera programadora de la historia. Trabajó con Charles Babbage en la Máquina Analítica y escribió lo que se considera el primer algoritmo destinado a ser procesado por una máquina. Su visión de las computadoras como herramientas capaces de manipular símbolos, música y texto anticipó por más de un siglo los usos modernos de la informática. ---- diff --git a/src/data/speakers/diego.md b/src/data/speakers/diego.md new file mode 100644 index 0000000..0a84bdc --- /dev/null +++ b/src/data/speakers/diego.md @@ -0,0 +1,21 @@ +--- +name: 'Diego Russo' +order: 1 +photo: '/speakers/diego.jpg' +links: + - type: 'github' + url: 'https://github.com/diegorusso' + - type: 'linkedin' + url: 'https://www.linkedin.com/in/diegor/' + - type: 'bluesky' + url: 'https://bsky.app/profile/diegor.it' + - type: 'twitter' + url: 'https://x.com/diegor' + - type: 'instagram' + url: 'https://www.instagram.com/diegor.it' +description: | + Diego Russo es core developer de CPython e ingeniero jefe de software en el equipo de Runtimes de Arm, con sede en Cambridge (Reino Unido). + Lleva utilizando Python desde 2006 y contribuyendo a CPython desde 2023, centrándose en el rendimiento del intérprete, el trabajo relacionado con JIT, la infraestructura de integración continua y en garantizar que CPython y su ecosistema funcionen de forma fiable y eficiente en las plataformas Arm. + Su trabajo se sitúa en la intersección entre el tiempo de ejecución, la ingeniería de rendimiento y la colaboración de código abierto a gran escala. + Diego es también organizador de EuroPython y dirige el Arm Python Guild, una comunidad interna de más de 1.400 desarrolladores de Python que trabajan en toda la empresa. +--- diff --git a/src/i18n/home.ts b/src/i18n/home.ts index 8b27c95..d3e1222 100644 --- a/src/i18n/home.ts +++ b/src/i18n/home.ts @@ -20,9 +20,9 @@ export const texts = { '¡Ya está abierta la llamada a propuestas! Mándanos tu charla o taller antes del 17 de mayo a las 23:59h (hora peninsular). Si te estás preguntando si puedes hacer esto, la respuesta es que sí. Si tienes un tema que te interesa, ¡nos interesa!', 'cfp.help': 'Si necesitas ayuda con tu propuesta, no dudes en escribirnos a charlas@2026.es.pycon.org', 'cfp.button': 'Envía tu propuesta', - 'earlybird.title': '¡Entradas Early Bird disponibles!', - 'earlybird.description': - 'La venta de entradas con descuento Early Bird ya ha comenzado. ¡No te pierdas esta oportunidad única de aprender, conectar y crecer en la comunidad Python!', + 'tickets.title': '¡Entradas disponibles!', + 'tickets.description': + 'La venta de entradas generales ya ha comenzado. ¡No te pierdas esta oportunidad única de aprender, conectar y crecer en la comunidad Python!', 'earlybird.button': 'Comprar entradas', 'speakers.title': 'Oradores plenarios', 'speakers.description': @@ -56,9 +56,9 @@ export const texts = { 'cfp.help': "If you need help with your proposal, don't hesitate to contact us at charlas@2026.es.pycon.org.", 'cfp.button': 'Submit your proposal', - 'earlybird.title': 'Early Bird tickets are now available!', - 'earlybird.description': - 'Early Bird discounted tickets are now on sale. Do not miss this unique opportunity to learn, connect, and grow in the Python community!', + 'tickets.title': 'Tickets are now available!', + 'tickets.description': + 'General tickets are now on sale. Do not miss this unique opportunity to learn, connect, and grow in the Python community!', 'earlybird.button': 'Buy tickets', 'speakers.title': 'Plenary Speakers', 'speakers.description': @@ -92,9 +92,9 @@ export const texts = { 'cfp.help': 'Si necessites ajuda amb la teva proposta, no dubtis en escriure a charlas@2026.es.pycon.org.', 'cfp.button': 'Envia la teva proposta', - 'earlybird.title': 'Entrades Early Bird disponibles!', - 'earlybird.description': - "La venda d'entrades amb descompte Early Bird ja ha començat. No et perdis aquesta oportunitat única d'aprendre, connectar i créixer en la comunitat Python!", + 'tickets.title': 'Entrades disponibles!', + 'tickets.description': + "La venda d'entrades generals ja ha començat. No et perdis aquesta oportunitat única d'aprendre, connectar i créixer en la comunitat Python!", 'earlybird.button': 'Comprar entrades', 'speakers.title': 'Ponents plenaris', 'speakers.description':