Skip to content

Commit ea0c550

Browse files
Publish 2025 site.
1 parent e5e4bd3 commit ea0c550

File tree

15 files changed

+899
-38
lines changed

15 files changed

+899
-38
lines changed

src/components/Agenda2025.astro

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
---
2+
import TalkCard from "./TalkCard2025.astro";
3+
4+
import { getCollection } from "astro:content";
5+
6+
const allAgendaItems = await getCollection("agenda");
7+
let workshops = [];
8+
let day1Talks = [];
9+
let day2Talks = [];
10+
for (const item of allAgendaItems) {
11+
const rendered = await item.render();
12+
13+
const talk = {
14+
content: rendered.Content,
15+
type: item.data.type,
16+
title: item.data.title,
17+
name: item.data.name,
18+
time: item.data.time,
19+
image: item.data.image,
20+
summary: item.data.summary,
21+
};
22+
switch (item.data.date) {
23+
case "2024-11-12":
24+
workshops.push(talk);
25+
break;
26+
case "2024-11-13":
27+
day1Talks.push(talk);
28+
break;
29+
case "2024-11-14":
30+
day2Talks.push(talk);
31+
break;
32+
}
33+
}
34+
35+
workshops = workshops.sort((a, b) => a.time.localeCompare(b.time));
36+
day1Talks = day1Talks.sort((a, b) => a.time.localeCompare(b.time));
37+
day2Talks = day2Talks.sort((a, b) => a.time.localeCompare(b.time));
38+
---
39+
40+
<div class="agenda-grid">
41+
<h2>Agenda</h2>
42+
<div class="agenda-day">
43+
<h3>2025-11-11 - Workshop</h3>
44+
<div class="talks">
45+
<TalkCard
46+
title="Workshop Day"
47+
description="Full day of hands-on workshops"
48+
time="09:00 - 17:00"
49+
speaker="TBA"
50+
/>
51+
</div>
52+
</div>
53+
54+
<div class="agenda-day">
55+
<h3>2025-11-12 - Conference Day 1</h3>
56+
<div class="talks">
57+
<TalkCard
58+
title="Welcome"
59+
description="Opening of the conference"
60+
time="09:00 - 09:30"
61+
speaker="TBA"
62+
/>
63+
<TalkCard
64+
title="Morning Talks"
65+
description="Series of talks from our speakers"
66+
time="09:30 - 12:30"
67+
speaker="TBA"
68+
/>
69+
<TalkCard
70+
title="Lunch Break"
71+
description="Lunch and networking"
72+
time="12:30 - 13:30"
73+
speaker="TBA"
74+
/>
75+
<TalkCard
76+
title="Afternoon Talks"
77+
description="More talks from our speakers"
78+
time="13:30 - 17:00"
79+
speaker="TBA"
80+
/>
81+
<TalkCard
82+
title="Drinks & Networking"
83+
description="Social event and networking"
84+
time="17:00 - 19:00"
85+
speaker="TBA"
86+
/>
87+
</div>
88+
</div>
89+
90+
<div class="agenda-day">
91+
<h3>2025-11-13 - Conference Day 2</h3>
92+
<div class="talks">
93+
<TalkCard
94+
title="Welcome"
95+
description="Opening of day 2"
96+
time="09:00 - 09:30"
97+
speaker="TBA"
98+
/>
99+
<TalkCard
100+
title="Morning Talks"
101+
description="Series of talks from our speakers"
102+
time="09:30 - 12:30"
103+
speaker="TBA"
104+
/>
105+
<TalkCard
106+
title="Lunch Break"
107+
description="Lunch and networking"
108+
time="12:30 - 13:30"
109+
speaker="TBA"
110+
/>
111+
<TalkCard
112+
title="Afternoon Talks"
113+
description="More talks from our speakers"
114+
time="13:30 - 17:00"
115+
speaker="TBA"
116+
/>
117+
<TalkCard
118+
title="Closing Party"
119+
description="Final celebration and networking"
120+
time="17:00 - 20:00"
121+
speaker="TBA"
122+
/>
123+
</div>
124+
</div>
125+
</div>

src/components/CallForPapers.astro

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import stage from "../data/images/location/stage.jpeg";
1717
</div>
1818

1919
<p class="description">
20-
We encourage each and everyone of you to <strong><a href="https://www.papercall.io/do-ios-2024" target="_blank">submit a talk</a></strong> for our
20+
We encourage each and everyone of you to <strong><a href="https://www.papercall.io/do-ios-2025" target="_blank">submit a talk</a></strong> for our
2121
conference. First-time speaker? Great! Niche topic, that you're extremely passionate
2222
about? Lovely!
2323
</p>
@@ -26,7 +26,7 @@ import stage from "../data/images/location/stage.jpeg";
2626
<div>
2727
<h3>🤔 How?</h3>
2828
<form
29-
action="https://www.papercall.io/do-ios-2024"
29+
action="https://www.papercall.io/do-ios-2025"
3030
method="get"
3131
target="_blank"
3232
>

src/components/Hosts2025.astro

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
---
2+
import data from "../data/data-2025.json";
3+
import XButton from "./XButton.astro";
4+
---
5+
6+
<section>
7+
<h2>Hosts</h2>
8+
9+
<p>
10+
Currently, one host will guide you through the day. He will introduce the speakers,
11+
ask questions and make sure you have a great time.
12+
</p>
13+
14+
<div class="host-grid">
15+
{
16+
data.hosts.map((host) => (
17+
<div class="host-element">
18+
<img src={host.image} alt={host.name} />
19+
<h3>{host.name}</h3>
20+
{host.xHandle && <XButton handle={host.xHandle} />}
21+
</div>
22+
))
23+
}
24+
</div>
25+
</section>
26+
27+
<style>
28+
p {
29+
font-size: 18px;
30+
line-height: 28px;
31+
}
32+
33+
h2 {
34+
font-size: 36px;
35+
line-height: 48px;
36+
letter-spacing: -1px;
37+
font-weight: 800;
38+
margin: 0;
39+
}
40+
41+
.host-grid {
42+
display: grid;
43+
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
44+
gap: 4rem;
45+
margin: 2rem 0;
46+
}
47+
48+
.host-element {
49+
display: flex;
50+
flex-direction: column;
51+
align-items: center;
52+
}
53+
54+
.host-element h3 {
55+
font-size: 18px;
56+
line-height: 24px;
57+
letter-spacing: -1px;
58+
font-weight: 800;
59+
margin: 0;
60+
background: var(--my-blue);
61+
color: white;
62+
padding: 0.5rem 1rem;
63+
margin-top: -1rem;
64+
margin-bottom: 1rem;
65+
border-radius: 0.5rem;
66+
}
67+
68+
.host-element img {
69+
border-radius: 50%;
70+
max-width: 100%;
71+
aspect-ratio: 1;
72+
border: 8px solid var(--my-blue);
73+
}
74+
75+
@media only screen and (max-width: 600px) {
76+
.host-grid {
77+
padding: 1rem;
78+
}
79+
}
80+
</style>

src/components/Location.astro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import map from '../data/images/location/nemo-location.png';
55

66
<section>
77
<h2>Conference Location</h2>
8-
<p>Do iOS 2024 will be in the <b>Nemo Science Museum, Oosterdok 2, 1011 VX Amsterdam</b>.</p>
8+
<p>Do iOS 2025 will be in the <b>Nemo Science Museum, Oosterdok 2, 1011 VX Amsterdam</b>.</p>
99
<p>Amsterdam, one of many capital cities in Europe. Known for its canals and unique architecture.</p>
1010
<a
1111
href='http://maps.apple.com/?address=Oosterdok+2+Amsterdam&q=NEMO+Science+Museum'

src/components/Speakers2025.astro

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
---
2+
import data from "../data/data-2025.json";
3+
import XButton from "./XButton.astro";
4+
---
5+
6+
<section id="speakers">
7+
<h2>Conference Speakers</h2>
8+
<div class="speaker-grid">
9+
{
10+
data.speakers.map((speaker) => (
11+
<div class="speaker-element">
12+
<img src={speaker.image} alt={speaker.name} />
13+
<h3>{speaker.name}</h3>
14+
{speaker.xHandle && <XButton handle={speaker.xHandle} />}
15+
</div>
16+
))
17+
}
18+
</div>
19+
</section>
20+
21+
<style>
22+
h2 {
23+
font-size: 36px;
24+
line-height: 48px;
25+
letter-spacing: -1px;
26+
font-weight: 800;
27+
margin: 0;
28+
}
29+
30+
.speaker-grid {
31+
display: grid;
32+
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
33+
gap: 2rem;
34+
margin: 2rem 0;
35+
}
36+
37+
.speaker-element {
38+
display: flex;
39+
flex-direction: column;
40+
align-items: center;
41+
}
42+
43+
.speaker-element h3 {
44+
font-size: 18px;
45+
line-height: 24px;
46+
letter-spacing: -1px;
47+
font-weight: 800;
48+
margin: 0;
49+
background: var(--my-blue);
50+
color: white;
51+
padding: 0.5rem 1rem;
52+
margin-top: -1rem;
53+
margin-bottom: 1rem;
54+
border-radius: 0.5rem;
55+
}
56+
57+
.speaker-element img {
58+
border-radius: 50%;
59+
max-width: 100%;
60+
aspect-ratio: 1;
61+
border: 4px solid var(--my-blue);
62+
}
63+
64+
@media only screen and (max-width: 600px) {
65+
.speaker-grid {
66+
padding: 1rem;
67+
}
68+
}
69+
</style>

0 commit comments

Comments
 (0)