diff --git a/content/blog/schedule-available.md b/content/blog/schedule-available.md new file mode 100644 index 0000000..af696cb --- /dev/null +++ b/content/blog/schedule-available.md @@ -0,0 +1,67 @@ +--- +title: "Schedule for PyCon Ireland 2026" +date: 2026-10-20 +description: "The sessions, speakers, and workshops for PyCon Ireland 2026 are now available. Buy a ticket and join us in Dublin on 21 November." +draft: false +--- + +We are delighted to announce the [schedule](/grid/) for PyCon Ireland 2026, +to be held at [Chartered Accountants House](/venue/) in Dublin on Saturday 21 November. +You can choose from +more than thirty talks across three tracks, +at least four workshops, +and two panels, +as well as keynotes and lightning talks, +given by dozens of [speakers](/speakers/). + +We'll have lots of [sessions](/schedule/) on **AI** and Machine Learning, including +- agentic AI, coding agents, multi-agent workflows, and agent evaluation +- Bayesian modeling +- benchmarking ML models +- data architecture for AI +- forecasting +- managing parallel pipelines +- MCP servers and knowledge graphs +- ML monitoring +- mutation testing +- neural networks +- reliable machine learning +- searching with agents +- teaching robots +- tensor regression +- workflows + +But it's not just AI. +There will also be [sessions](/schedule/) on +- asynchronous I/O +- learning in public +- natural language processing +- Python packaging +- quantum programming +- route optimisation +- scientific computing +- secure coding +- software archaeology +- supply chain security +- testing +- vector search +- web scraping + +We had more than 170 submissions that needed to be evaluated and arranged. +We thank everyone who took the time to make a submission. +We had difficult choices to make when drawing up the schedule. + +## Tickets + +If you've been waiting for the schedule to appear before buying your ticket, wait no more! +Tickets are [being sold now](/#tickets). +The *General* ticket costs €59, +the *Student* ticket is only €35, +and the *Corporate* ticket is €159. +With these all-inclusive tickets, +as well as access to all the sessions and networking with the speakers and other attendees, +you get a light breakfast, +a sandwich lunch, and morning and afternoon refreshment breaks. + +We do expect to make some **further additions** to the [schedule](/grid/), +so check regularly for updates. diff --git a/content/grid/_index.md b/content/grid/_index.md new file mode 100644 index 0000000..0d69a1d --- /dev/null +++ b/content/grid/_index.md @@ -0,0 +1,4 @@ +--- +title: "Schedule Grid" +description: "View the full PyCon Ireland 2026 schedule: keynotes, talks, workshops, and lightning sessions across multiple tracks. Chartered Accountants House, Dublin on 21 November." +--- diff --git a/content/schedule/_index.md b/content/schedule/_index.md index 5a5aaa4..73bb92a 100644 --- a/content/schedule/_index.md +++ b/content/schedule/_index.md @@ -1,11 +1,4 @@ --- title: "Schedule" -description: "Browse the full PyCon Ireland 2026 schedule: keynotes, talks, workshops, and lightning sessions across multiple tracks. Venue and date to be confirmed." -build: - render: never - list: never -cascade: - build: - render: never - list: never +description: "Browse the full PyCon Ireland 2026 schedule: keynotes, talks, workshops, and lightning sessions across multiple tracks. Chartered Accountants House, Dublin on 21 November." --- diff --git a/content/speakers/_index.md b/content/speakers/_index.md index 724a4fd..508484a 100644 --- a/content/speakers/_index.md +++ b/content/speakers/_index.md @@ -1,11 +1,4 @@ --- title: "Speakers" description: "Meet the speakers at PyCon Ireland 2026. Industry experts, open-source contributors, and community leaders sharing their Python knowledge." -build: - render: never - list: never -cascade: - build: - render: never - list: never --- diff --git a/data/site.yml b/data/site.yml index 84d0946..405f627 100644 --- a/data/site.yml +++ b/data/site.yml @@ -7,8 +7,10 @@ about: description: "A full day of inspiring talks from Python experts across industry, academia, and open source. Learn about the latest trends, tools, and techniques." - title: "Workshops" icon: "code" - disabled: true - description: "Hands-on workshops for all skill levels. Dive deep into topics from web development to machine learning with experienced instructors." + image: "/img/about/laptop-classroom.jpg" + image_webp: "/img/about/laptop-classroom.webp" + image_alt: "Man sitting at laptop in classroom" + description: "Hands-on workshops for all skill levels. Dive deep into topics from quantum programming to artificial intelligence with experienced instructors." - title: "Networking" icon: "users" image: "/img/about/networking.jpg" diff --git a/hugo.toml b/hugo.toml index 11f7418..a4451b4 100644 --- a/hugo.toml +++ b/hugo.toml @@ -116,14 +116,37 @@ enableGitInfo = true name = "Tickets" url = "/#tickets" weight = 10 + [[menus.main]] - name = "Call for Proposals" - url = "/cfp/" + identifier = "conference" + name = "Conference" weight = 20 + [[menus.main]] + name = "Schedule Grid" + url = "/grid/" + parent = "conference" + weight = 1 + [[menus.main]] + name = "Schedule List" + url = "/schedule/" + parent = "conference" + weight = 2 + [[menus.main]] + name = "Speakers" + url = "/speakers/" + parent = "conference" + weight = 3 + + # [[menus.main]] + # name = "Call for Proposals" + # url = "/cfp/" + # weight = 30 + # [[menus.main]] # name = "Sponsors" # url = "/sponsors/" # weight = 40 + [[menus.main]] identifier = "venue" name = "Venue" @@ -140,6 +163,7 @@ enableGitInfo = true url = "/dublin/" parent = "venue" weight = 2 + [[menus.main]] identifier = "community" name = "Community" @@ -156,6 +180,7 @@ enableGitInfo = true url = "https://python.ie" parent = "community" weight = 2 + [[menus.main]] name = "Blog" url = "/blog/" diff --git a/layouts/grid/list.html b/layouts/grid/list.html new file mode 100644 index 0000000..5c73d51 --- /dev/null +++ b/layouts/grid/list.html @@ -0,0 +1,8 @@ +{{ define "main" }} +{{/* Structured Data for Schedule */}} +{{ partial "structured-data-schedule.html" . }} + +
+ +
+{{ end }} diff --git a/layouts/partials/hero.html b/layouts/partials/hero.html index 1ebc570..31c1da1 100644 --- a/layouts/partials/hero.html +++ b/layouts/partials/hero.html @@ -65,9 +65,9 @@ Learn More {{ else if eq .Site.Params.cfpStatus "finished" }} - + - CFP Finished + Schedule Learn More diff --git a/layouts/schedule/list.html b/layouts/schedule/list.html index 60b8345..426feed 100644 --- a/layouts/schedule/list.html +++ b/layouts/schedule/list.html @@ -2,93 +2,7 @@ {{/* Structured Data for Schedule */}} {{ partial "structured-data-schedule.html" . }} -
- {{/* Header */}} -
-
-

{{ .Title }}

-

{{ .Description }}

-
-
- -
- - {{/* Schedule grid */}} -
-
- {{ range .Site.Data.schedule.days }} -
-

{{ .name }}

- -
- {{ range .slots }} - {{ if eq .type "break" }} - {{/* Break slot */}} -
- {{ .time }} - {{ .title }} - {{ .duration }} min -
- - {{ else if eq .type "session" }} - {{/* Session slot */}} -
-
- {{ .time }} -
- {{ if eq (len .session_ids) 1 }} - {{/* Single track session */}} - {{ $sid := index .session_ids 0 }} - {{ range where $.Site.Data.sessions "id" $sid }} -
-
- {{ if eq .type "keynote" }} - Keynote - {{ else if eq .type "lightning" }} - Lightning - {{ else if eq .type "ceremony" }} - {{ .type }} - {{ end }} -
-

{{ .title }}

- {{ range .speaker_ids }} - {{ $spkId := . }} - {{ range where $.Site.Data.speakers "id" $spkId }} -

{{ .name }}

- {{ end }} - {{ end }} -
- {{ end }} - - {{ else }} - {{/* Multi-track session */}} -
- {{ range .session_ids }} - {{ $sid := . }} - {{ range where $.Site.Data.sessions "id" $sid }} -
- {{ .track }} -

{{ .title }}

- {{ range .speaker_ids }} - {{ $spkId := . }} - {{ range where $.Site.Data.speakers "id" $spkId }} -

{{ .name }}

- {{ end }} - {{ end }} -
- {{ end }} - {{ end }} -
- {{ end }} -
-
-
- {{ end }} - {{ end }} -
-
- {{ end }} -
-
-
+
+ +
{{ end }} diff --git a/layouts/speakers/list.html b/layouts/speakers/list.html index 003d1dc..2f1f5e0 100644 --- a/layouts/speakers/list.html +++ b/layouts/speakers/list.html @@ -2,45 +2,7 @@ {{/* Structured Data for Speakers */}} {{ partial "structured-data-speakers.html" . }} -
- {{/* Header */}} -
-
-

{{ .Title }}

-

{{ .Description }}

-
-
- -
- - {{/* Keynotes */}} - {{ $keynotes := where .Site.Data.speakers "keynote" true }} - {{ if $keynotes }} -
-
-

Keynote Speakers

-
- {{ range $keynotes }} - {{ partial "speaker-card.html" (dict "speaker" . "featured" true) }} - {{ end }} -
-
-
- {{ end }} - - {{/* All speakers */}} - {{ $regular := where .Site.Data.speakers "keynote" false }} - {{ if $regular }} -
-
-

Speakers

-
- {{ range $regular }} - {{ partial "speaker-card.html" (dict "speaker" . "featured" false) }} - {{ end }} -
-
-
- {{ end }} -
+
+ +
{{ end }} diff --git a/static/_headers b/static/_headers index b36b274..123e85f 100644 --- a/static/_headers +++ b/static/_headers @@ -3,4 +3,4 @@ X-Content-Type-Options: nosniff Referrer-Policy: strict-origin-when-cross-origin Permissions-Policy: camera=(), microphone=(), geolocation=() - Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' use.typekit.net p.typekit.net js.tito.io; style-src 'self' 'unsafe-inline' fonts.googleapis.com use.typekit.net p.typekit.net js.tito.io; font-src 'self' fonts.gstatic.com use.typekit.net p.typekit.net; img-src 'self' data: https:; connect-src 'self' fonts.googleapis.com fonts.gstatic.com use.typekit.net p.typekit.net images.unsplash.com js.tito.io checkout.tito.io; frame-src https://www.openstreetmap.org https://app.netlify.com js.tito.io checkout.tito.io; frame-ancestors 'none' + Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' use.typekit.net p.typekit.net js.tito.io sessionize.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com use.typekit.net p.typekit.net js.tito.io sessionize.com sessionize.blob.core.windows.net; font-src 'self' fonts.gstatic.com use.typekit.net p.typekit.net; img-src 'self' data: https:; connect-src 'self' fonts.googleapis.com fonts.gstatic.com use.typekit.net p.typekit.net images.unsplash.com js.tito.io checkout.tito.io sessionize.com; frame-src https://www.openstreetmap.org https://app.netlify.com js.tito.io checkout.tito.io; frame-ancestors 'none' diff --git a/static/img/about/laptop-classroom.jpg b/static/img/about/laptop-classroom.jpg new file mode 100644 index 0000000..702ef20 Binary files /dev/null and b/static/img/about/laptop-classroom.jpg differ diff --git a/static/img/about/laptop-classroom.webp b/static/img/about/laptop-classroom.webp new file mode 100644 index 0000000..0bdc603 Binary files /dev/null and b/static/img/about/laptop-classroom.webp differ