diff --git a/astro.config.mjs b/astro.config.mjs index 864c22a..98d5568 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -14,7 +14,6 @@ export default defineConfig({ "/compact": "/compact-schedule", "/program": "/#schedule", "/organizers": "/#organizers", - "/cfp": "/#cfp", "/venue": "/#venue", "/coc": "/#coc", "/terms": "/terms-of-service", diff --git a/src/components/EventJsonLd.astro b/src/components/EventJsonLd.astro index 021e5ea..69488ad 100644 --- a/src/components/EventJsonLd.astro +++ b/src/components/EventJsonLd.astro @@ -5,6 +5,7 @@ const schema = { "@context": "https://schema.org", "@type": "ConferenceEvent", name: event.name, + startDate: event.startDate, url: Astro.site?.href, offers: { "@type": "Offer", diff --git a/src/content/prose/cfp-details.mdx b/src/content/prose/cfp-details.mdx new file mode 100644 index 0000000..8068b09 --- /dev/null +++ b/src/content/prose/cfp-details.mdx @@ -0,0 +1,74 @@ +import { event } from "@data/event"; + +
+ +## Everyone is welcome here + +This is a community-made, volunteer-led event, and we want the stage to look like the community: all levels, all backgrounds, all kinds of Python. + +- Never spoken before? Good - we're actively looking for first-time speakers, and the form even asks so we can make sure there's room for you. +- Not sure you're "technical enough"? A fresh perspective is exactly what makes a talk worth watching. +- Making art, music, or games with Python instead of shipping production code? That counts too - bring it. +- Feel like an imposter? So does most of the room, including some of us organizing this. + +If any of that sounds like you, that's your sign to submit. + +## What we're looking for + +Each talk is **10 minutes long**, with no time set aside for questions. We love practical, experience-driven sessions - the kind where you share what you actually built, broke, or learned. + +## Topics + +Bring whatever you're excited about. The form groups submissions into: + +- Python Core, Internals & Extensions +- Web Development & APIs +- Data Science, ML & Analytics +- Cloud, DevOps & Infrastructure +- Developer Tooling, Testing & Productivity +- Community, Education & Career Growth +- Ethics, Sustainability & Social Impact +- Python for Fun: Games, Art & Creative Coding +- Other Topics + +## Language + +We'll run the event mainly in **English**. As a small experiment for this first edition, we're also opening a limited number of slots for talks in **Turkish** - if that's your preference, give it a shot too. + +## Writing a good 10-minute proposal + +Ten minutes isn't a lot of runway, so the proposals that land best are the ones built around one clear idea rather than a whole topic. A structure that works: + +- **The problem.** What were you actually stuck on, curious about, or trying to fix? Start here, not with the solution - it's what makes people want to know what happens next. +- **Why it matters.** Is this something a lot of Python developers hit, or a strange corner most people never see? Either is a great hook, as long as you tell us why you cared. +- **Your take.** What did you find, build, or figure out? This is the actual content of your talk. +- **What people leave with.** One thing the audience should remember or go try tomorrow. If you can name that thing, your talk has a spine. + +You don't need slides or a finished project to submit - just a clear sense of what you'd say in ten minutes. + +## What you'll need + +- A title (10-75 characters) and an abstract (250-3000 characters) +- Your topic and language of choice +- Co-speaker details, if any - one submission covers your whole team, no need for them to submit separately +- Whether you're okay with your talk being recorded +- Any special AV or accessibility needs + +## About AI-assisted proposals + +Used an LLM to help polish your abstract? Just note it in the additional info field. Fully AI-generated proposals tend to read as generic, so we'd rather see your own voice come through. + +## The honest bits + +This is our first edition, so we're not able to cover **travel, accommodation, or visa costs** this time around. Please keep that in mind before submitting. We're also expecting speakers to attend in person, so the form asks about that too. + +## Before you submit + +Please make sure you're comfortable with our Code of Conduct and Privacy Policy. Your submission is collected via Google Forms and processed via Google Drive, hosted outside Turkey. + +## Questions? + +Write to us at {event.contactEmail} - we can't wait to hear what you're bringing. diff --git a/src/content/prose/cfp.mdx b/src/content/prose/cfp.mdx index 160bd3c..d53911e 100644 --- a/src/content/prose/cfp.mdx +++ b/src/content/prose/cfp.mdx @@ -1 +1,5 @@ -The Call for Proposals isn't open yet. Stay tuned - we'll share how and when to submit a talk here. +import { event } from "@data/event"; + +The CFP is open! Got a Python project, story, or hard-won lesson to share? We want to hear it - all experience levels welcome, first-time speakers especially. + +Talks are 10 minutes, mostly in English, with a few Turkish slots for this first edition. Submissions close **{event.cfp.deadlineDisplay}**. diff --git a/src/data/event.ts b/src/data/event.ts index a8801c0..a1a5887 100644 --- a/src/data/event.ts +++ b/src/data/event.ts @@ -1,17 +1,23 @@ -const ticketsUrl = "#"; - // Single source of truth for this edition's facts. // Update this file (and the other ones in this directory) // to stand up a new edition. + +const cfpUrl = "https://forms.gle/41Zpwh2N2uS4P1RB8"; + export const event = { name: "Python Pizza Istanbul", city: "Istanbul", - description: "Python Pizza Istanbul - date and venue to be announced", - subHeading: "Venue to be announced", - whenDisplay: "November 2026", + description: + "Python Pizza Istanbul - a one-day Python micro-conference on Saturday, 14 November 2026", + subHeading: "Venue announcement coming soon 👀", + whenDisplay: "Saturday, 14 November 2026", + startDate: "2026-11-14", contactEmail: "organizers@pythonturkiye.org", - ticketSeller: "TBA", - ticketsUrl, + ticketsUrl: "#", + cfp: { + url: cfpUrl, + deadlineDisplay: "Tuesday, 25 August 2026, 23:59 AoE", + }, // whatever is most important right now - cta: { label: "Help us find a venue! 📍", href: "/help-us/" }, + cta: { label: "Submit a talk! 🎤", href: cfpUrl }, }; diff --git a/src/data/navigation.ts b/src/data/navigation.ts index 918cb09..bed02b2 100644 --- a/src/data/navigation.ts +++ b/src/data/navigation.ts @@ -1,10 +1,10 @@ export const menuItems = [ { href: "/#about", label: "About 🍕" }, + { href: "/#cfp", label: "CFP 🙋🏻♀️" }, { href: "/#sponsors", label: "Sponsors 💛" }, // { href: "/#schedule", label: "Program 📅" }, // { href: "/compact-agenda/", label: "Compact agenda 🔗" }, { href: "/#organizers", label: "Organizers 👩🏻" }, - { href: "/#cfp", label: "CFP 🙋🏻♀️" }, // { href: "/#venue", label: "Venue 🏰" }, { href: "/#coc", label: "CoC 💂" }, ]; diff --git a/src/pages/cfp.astro b/src/pages/cfp.astro new file mode 100644 index 0000000..9fd9b50 --- /dev/null +++ b/src/pages/cfp.astro @@ -0,0 +1,26 @@ +--- +import Base from "@layouts/Base.astro"; +import Header from "@components/Header.astro"; +import Footer from "@components/Footer.astro"; +import Prose from "@components/Prose.astro"; +import CtaButton from "@components/CtaButton.astro"; +import { event } from "@data/event"; +import Content from "@prose/cfp-details.mdx"; +--- + +