Skip to content

Commit 30a7220

Browse files
authored
Add venue info! (#5)
* Add venue: StartGate, Maslak * Add StartGate as a sponsor * Enrich Event structured data (JSON-LD) * Exclude SVGs from the lint job * Silence is:inline hint on the goatcounter script * Redesign venue section: prominent Maps CTA, callout, photo captions * Disambiguate venue name as StartGate Istanbul * make venue images scrollable like a carousel on mobile
1 parent 89d9aed commit 30a7220

17 files changed

Lines changed: 202 additions & 13 deletions

biome.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://biomejs.dev/schemas/2.5.1/schema.json",
33
"vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true },
4-
"files": { "ignoreUnknown": false, "includes": ["**"] },
4+
"files": { "ignoreUnknown": false, "includes": ["**", "!**/*.svg"] },
55
"formatter": { "enabled": true, "indentStyle": "space" },
66
"assist": { "actions": { "source": { "organizeImports": "on" } } },
77
"linter": {

public/sponsors/startgate.svg

Lines changed: 95 additions & 0 deletions
Loading
386 KB
Loading
357 KB
Loading
194 KB
Loading
453 KB
Loading
184 KB
Loading
415 KB
Loading

src/components/EventJsonLd.astro

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,41 @@
11
---
2+
import { getCollection } from "astro:content";
23
import { event } from "@data/event";
34
5+
const sponsors = await getCollection("sponsors");
6+
47
const schema = {
58
"@context": "https://schema.org",
69
"@type": "ConferenceEvent",
710
name: event.name,
11+
description: event.description,
812
startDate: event.startDate,
13+
endDate: event.endDate,
14+
eventStatus: "https://schema.org/EventScheduled",
15+
eventAttendanceMode: "https://schema.org/OfflineEventAttendanceMode",
16+
maximumAttendeeCapacity: event.maxAttendees,
917
url: Astro.site?.href,
18+
image: new URL("/social-image.jpg", Astro.site).href,
19+
organizer: {
20+
"@type": "Organization",
21+
name: event.organizer.name,
22+
},
23+
sponsor: sponsors.map((s) => ({
24+
"@type": "Organization",
25+
name: s.data.name,
26+
url: s.data.link,
27+
})),
28+
location: {
29+
"@type": "Place",
30+
name: event.venue.name,
31+
address: {
32+
"@type": "PostalAddress",
33+
streetAddress: event.venue.addressLine,
34+
addressLocality: "Sarıyer",
35+
addressRegion: "İstanbul",
36+
addressCountry: "TR",
37+
},
38+
},
1039
offers: {
1140
"@type": "Offer",
1241
name: "Tickets",
@@ -15,7 +44,7 @@ const schema = {
1544
hasSponsorshipOffer: {
1645
"@type": "Offer",
1746
name: "Sponsor Packages",
18-
url: new URL("#sponsors", Astro.site).href,
47+
url: new URL("/sponsors", Astro.site).href,
1948
},
2049
};
2150
---

src/content/prose/venue.mdx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
import { event } from "@data/event";
1+
**Getting there Ⓜ️**
22

3-
📍 **Venue details will be announced soon.**
4-
5-
We're finalizing the location for {event.name} - check back here for the address and how to get there.
3+
- Metro **M2 (Yenikapı-Hacıosman)** to **İTÜ-Ayazağa**, a 3-minute walk to the venue.
4+
- From **Istanbul Airport (IST)**: take the M11 to Gayrettepe, transfer to the M2 northbound, and get off at İTÜ-Ayazağa.
5+
- 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.
6+
- From **Taksim / Şişhane**: M2 northbound, direct to İTÜ-Ayazağa.
7+
- For live routing, use the Google Maps link above.

0 commit comments

Comments
 (0)