diff --git a/biome.json b/biome.json index 136b858..225c1ae 100644 --- a/biome.json +++ b/biome.json @@ -1,7 +1,7 @@ { "$schema": "https://biomejs.dev/schemas/2.5.1/schema.json", "vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true }, - "files": { "ignoreUnknown": false, "includes": ["**"] }, + "files": { "ignoreUnknown": false, "includes": ["**", "!**/*.svg"] }, "formatter": { "enabled": true, "indentStyle": "space" }, "assist": { "actions": { "source": { "organizeImports": "on" } } }, "linter": { diff --git a/public/sponsors/startgate.svg b/public/sponsors/startgate.svg new file mode 100644 index 0000000..fdc6dd2 --- /dev/null +++ b/public/sponsors/startgate.svg @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + Where dreams come true! + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/venue/startgate-amfi-lobby.jpeg b/src/assets/venue/startgate-amfi-lobby.jpeg new file mode 100644 index 0000000..41910b8 Binary files /dev/null and b/src/assets/venue/startgate-amfi-lobby.jpeg differ diff --git a/src/assets/venue/startgate-amfi-tiers.jpeg b/src/assets/venue/startgate-amfi-tiers.jpeg new file mode 100644 index 0000000..b0a095c Binary files /dev/null and b/src/assets/venue/startgate-amfi-tiers.jpeg differ diff --git a/src/assets/venue/startgate-amfi-wide.jpeg b/src/assets/venue/startgate-amfi-wide.jpeg new file mode 100644 index 0000000..5c774ce Binary files /dev/null and b/src/assets/venue/startgate-amfi-wide.jpeg differ diff --git a/src/assets/venue/startgate-front.jpeg b/src/assets/venue/startgate-front.jpeg new file mode 100644 index 0000000..20924fc Binary files /dev/null and b/src/assets/venue/startgate-front.jpeg differ diff --git a/src/assets/venue/startgate-terrace-night.jpeg b/src/assets/venue/startgate-terrace-night.jpeg new file mode 100644 index 0000000..1a46f78 Binary files /dev/null and b/src/assets/venue/startgate-terrace-night.jpeg differ diff --git a/src/assets/venue/startgate-terrace-view.jpeg b/src/assets/venue/startgate-terrace-view.jpeg new file mode 100644 index 0000000..56acef8 Binary files /dev/null and b/src/assets/venue/startgate-terrace-view.jpeg differ diff --git a/src/components/EventJsonLd.astro b/src/components/EventJsonLd.astro index 69488ad..4c0e8b1 100644 --- a/src/components/EventJsonLd.astro +++ b/src/components/EventJsonLd.astro @@ -1,12 +1,41 @@ --- +import { getCollection } from "astro:content"; import { event } from "@data/event"; +const sponsors = await getCollection("sponsors"); + const schema = { "@context": "https://schema.org", "@type": "ConferenceEvent", name: event.name, + description: event.description, startDate: event.startDate, + endDate: event.endDate, + eventStatus: "https://schema.org/EventScheduled", + eventAttendanceMode: "https://schema.org/OfflineEventAttendanceMode", + maximumAttendeeCapacity: event.maxAttendees, url: Astro.site?.href, + image: new URL("/social-image.jpg", Astro.site).href, + organizer: { + "@type": "Organization", + name: event.organizer.name, + }, + sponsor: sponsors.map((s) => ({ + "@type": "Organization", + name: s.data.name, + url: s.data.link, + })), + location: { + "@type": "Place", + name: event.venue.name, + address: { + "@type": "PostalAddress", + streetAddress: event.venue.addressLine, + addressLocality: "Sarıyer", + addressRegion: "İstanbul", + addressCountry: "TR", + }, + }, offers: { "@type": "Offer", name: "Tickets", @@ -15,7 +44,7 @@ const schema = { hasSponsorshipOffer: { "@type": "Offer", name: "Sponsor Packages", - url: new URL("#sponsors", Astro.site).href, + url: new URL("/sponsors", Astro.site).href, }, }; --- diff --git a/src/content/prose/venue.mdx b/src/content/prose/venue.mdx index e84f2fa..a9ba3a1 100644 --- a/src/content/prose/venue.mdx +++ b/src/content/prose/venue.mdx @@ -1,5 +1,7 @@ -import { event } from "@data/event"; +**Getting there Ⓜ️** -📍 **Venue details will be announced soon.** - -We're finalizing the location for {event.name} - check back here for the address and how to get there. +- Metro **M2 (Yenikapı-Hacıosman)** to **İTÜ-Ayazağa**, a 3-minute walk to the venue. +- From **Istanbul Airport (IST)**: take the M11 to Gayrettepe, transfer to the M2 northbound, and get off at İTÜ-Ayazağa. +- From **Sabiha Gökçen (SAW)**: take the M4 to Ayrılık Çeşmesi, the Marmaray to Yenikapı, then the M2 northbound to İTÜ-Ayazağa. +- From **Taksim / Şişhane**: M2 northbound, direct to İTÜ-Ayazağa. +- For live routing, use the Google Maps link above. diff --git a/src/content/sponsors.yaml b/src/content/sponsors.yaml index 50a9589..7544452 100644 --- a/src/content/sponsors.yaml +++ b/src/content/sponsors.yaml @@ -2,3 +2,7 @@ name: EuroPython Society image: /sponsors/eps-text.png link: https://www.europython-society.org/ +- id: startgate + name: StartGate + image: /sponsors/startgate.svg + link: https://www.startgate.com/ diff --git a/src/data/event.ts b/src/data/event.ts index a1a5887..6831c82 100644 --- a/src/data/event.ts +++ b/src/data/event.ts @@ -9,11 +9,24 @@ export const event = { city: "Istanbul", description: "Python Pizza Istanbul - a one-day Python micro-conference on Saturday, 14 November 2026", - subHeading: "Venue announcement coming soon 👀", + subHeading: "StartGate, Maslak, Istanbul", whenDisplay: "Saturday, 14 November 2026", - startDate: "2026-11-14", + startDate: "2026-11-14T11:00:00+03:00", + endDate: "2026-11-14T18:00:00+03:00", contactEmail: "organizers@pythonturkiye.org", ticketsUrl: "#", + maxAttendees: 150, + organizer: { + name: "Python Türkiye", + }, + venue: { + name: "StartGate Istanbul", + addressLine: "Maslak Mah. Eski Büyükdere Cad. No:21", + district: "Sarıyer / İstanbul", + url: "https://www.startgate.com/", + mapsUrl: + "https://maps.google.com/?q=StartGate+Maslak+Eski+Büyükdere+Caddesi+21", + }, cfp: { url: cfpUrl, deadlineDisplay: "Tuesday, 25 August 2026, 23:59 AoE", diff --git a/src/data/navigation.ts b/src/data/navigation.ts index bed02b2..fb7b6da 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: "/#venue", label: "Venue 🏰" }, { href: "/#sponsors", label: "Sponsors 💛" }, // { href: "/#schedule", label: "Program 📅" }, // { href: "/compact-agenda/", label: "Compact agenda 🔗" }, { href: "/#organizers", label: "Organizers 👩🏻" }, - // { href: "/#venue", label: "Venue 🏰" }, { href: "/#coc", label: "CoC 💂" }, ]; diff --git a/src/layouts/Base.astro b/src/layouts/Base.astro index 6b719cf..857ab77 100644 --- a/src/layouts/Base.astro +++ b/src/layouts/Base.astro @@ -31,6 +31,7 @@ const { title, description, ogImage, noindex = false } = Astro.props; {ogImage && }