Skip to content

Commit 712f1bb

Browse files
committed
Move program to data driven page
1 parent 269b354 commit 712f1bb

4 files changed

Lines changed: 150 additions & 56 deletions

File tree

content/program.md

Lines changed: 3 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
title: Program
3+
type: program
34
menus:
45
main:
56
weight: 15
@@ -9,60 +10,6 @@ banner:
910
- "fill 1900x600"
1011
---
1112

12-
{{< rawhtml >}}
13-
<style>
14-
.program-intro { font-size: 1.15em; margin-bottom: 2em; }
15-
.program-day { margin-bottom: 2.5em; }
16-
.program-day h2 { border-bottom: 3px solid #333; padding-bottom: 0.3em; margin-bottom: 0.8em; }
17-
.program-day h2 .day-emoji { margin-right: 0.3em; }
18-
.schedule-item { display: flex; padding: 0.6em 0; border-bottom: 1px solid #eee; }
19-
.schedule-item:last-child { border-bottom: none; }
20-
.schedule-time { min-width: 160px; font-weight: 700; color: #555; }
21-
.schedule-desc { flex: 1; }
22-
.schedule-note { color: #888; font-style: italic; margin-top: 1.5em; }
23-
@media (max-width: 600px) {
24-
.schedule-item { flex-direction: column; }
25-
.schedule-time { min-width: auto; margin-bottom: 0.2em; }
26-
}
27-
</style>
13+
Three days of hacking, pitching, and collaboration — from Monday evening kick-off to Wednesday afternoon awards. Here's what to expect at Hack4Rail 2026.
2814

29-
<p class="program-intro">
30-
Three days of hacking, pitching, and collaboration — from Monday evening kick-off to Wednesday afternoon awards. Here's what to expect at Hack4Rail 2026.
31-
</p>
32-
<p class="schedule-note">Schedule subject to change.</p>
33-
34-
<div class="program-day">
35-
<h2><span class="day-emoji">🚀</span> Monday, 22 June 2026</h2>
36-
<div class="schedule-item"><div class="schedule-time">15:00</div><div class="schedule-desc">Individual Arrival</div></div>
37-
<div class="schedule-item"><div class="schedule-time">17:00 – 17:30</div><div class="schedule-desc">Official Opening of Hack4Rail 2026 &amp; Organisational Inputs</div></div>
38-
<div class="schedule-item"><div class="schedule-time">17:30 – 17:45</div><div class="schedule-desc">Welcoming Words by the OpenRail Association</div></div>
39-
<div class="schedule-item"><div class="schedule-time">17:45 – 18:45</div><div class="schedule-desc">Pitches of the Challenges</div></div>
40-
<div class="schedule-item"><div class="schedule-time">18:45 – 19:15</div><div class="schedule-desc">Marketplace &amp; Challenge Selection</div></div>
41-
<div class="schedule-item"><div class="schedule-time">19:15 – 20:00</div><div class="schedule-desc">Pizza &amp; Team Building</div></div>
42-
<div class="schedule-item"><div class="schedule-time">20:00 –</div><div class="schedule-desc">Let the Hacking Begin… 🔥</div></div>
43-
</div>
44-
45-
<div class="program-day">
46-
<h2><span class="day-emoji">💻</span> Tuesday, 23 June 2026</h2>
47-
<div class="schedule-item"><div class="schedule-time">08:00</div><div class="schedule-desc">Open Doors</div></div>
48-
<div class="schedule-item"><div class="schedule-time">08:30 – 09:30</div><div class="schedule-desc">Yoga in the Park (35 spots)</div></div>
49-
<div class="schedule-item"><div class="schedule-time">12:00 – 14:00</div><div class="schedule-desc">Lunch (individually)</div></div>
50-
<div class="schedule-item"><div class="schedule-time">14:00 – 14:30</div><div class="schedule-desc">Pitch Training</div></div>
51-
<div class="schedule-item"><div class="schedule-time">16:00 – 16:15</div><div class="schedule-desc">Hack4Rail Group Photo 📸</div></div>
52-
<div class="schedule-item"><div class="schedule-time">19:00 – 20:00</div><div class="schedule-desc">Dinner &amp; Networking</div></div>
53-
<div class="schedule-item"><div class="schedule-time">All day</div><div class="schedule-desc">Hacking Time 🛠</div></div>
54-
</div>
55-
56-
<div class="program-day">
57-
<h2><span class="day-emoji">🏆</span> Wednesday, 24 June 2026</h2>
58-
<div class="schedule-item"><div class="schedule-time">08:00</div><div class="schedule-desc">Open Doors</div></div>
59-
<div class="schedule-item"><div class="schedule-time">11:00</div><div class="schedule-desc">Deadline &amp; Submission — Hands Off!</div></div>
60-
<div class="schedule-item"><div class="schedule-time">11:00 – 12:00</div><div class="schedule-desc">Jury Tour (min. one person per team)</div></div>
61-
<div class="schedule-item"><div class="schedule-time">12:00 – 13:00</div><div class="schedule-desc">Lunch (individually)</div></div>
62-
<div class="schedule-item"><div class="schedule-time">13:00 – 14:30</div><div class="schedule-desc">Pitches of the Solutions</div></div>
63-
<div class="schedule-item"><div class="schedule-time">14:30 – 14:45</div><div class="schedule-desc">Quick Break</div></div>
64-
<div class="schedule-item"><div class="schedule-time">14:45 – 15:15</div><div class="schedule-desc">Final Words / Input by ÖBB</div></div>
65-
<div class="schedule-item"><div class="schedule-time">15:15 – 15:30</div><div class="schedule-desc">Announcement of Winning Teams 🎉</div></div>
66-
<div class="schedule-item"><div class="schedule-time">15:30 –</div><div class="schedule-desc">Farewell &amp; Networking</div></div>
67-
</div>
68-
{{< /rawhtml >}}
15+
*Schedule subject to change.*

data/program.yaml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
days:
2+
- title: "Monday, 22 June 2026"
3+
emoji: "🚀"
4+
items:
5+
- time: "15:00"
6+
description: "Individual Arrival"
7+
- time: "17:00 – 17:30"
8+
description: "Official Opening of Hack4Rail 2026 & Organisational Inputs"
9+
- time: "17:30 – 17:45"
10+
description: "Welcoming Words by the OpenRail Association"
11+
- time: "17:45 – 18:45"
12+
description: "Pitches of the Challenges"
13+
- time: "18:45 – 19:15"
14+
description: "Marketplace & Challenge Selection"
15+
- time: "19:15 – 20:00"
16+
description: "Pizza & Team Building"
17+
18+
- title: "Tuesday, 23 June 2026"
19+
emoji: "💻"
20+
items:
21+
- time: "All day"
22+
description: "Hacking Time 🛠"
23+
- time: "08:00"
24+
description: "Open Doors"
25+
- time: "08:30 – 09:30"
26+
description: "Yoga in the Park (35 spots)"
27+
- time: "12:00 – 14:00"
28+
description: "Lunch (individually)"
29+
- time: "14:00 – 14:30"
30+
description: "Pitch Training"
31+
- time: "16:00 – 16:15"
32+
description: "Hack4Rail Group Photo 📸"
33+
- time: "19:00 – 20:00"
34+
description: "Dinner & Networking"
35+
36+
- title: "Wednesday, 24 June 2026"
37+
emoji: "🏆"
38+
items:
39+
- time: "08:00"
40+
description: "Open Doors"
41+
- time: "11:00"
42+
description: "Deadline & Submission — Hands Off!"
43+
- time: "11:00 – 12:00"
44+
description: "Jury Tour (min. one person per team)"
45+
- time: "12:00 – 13:00"
46+
description: "Lunch (individually)"
47+
- time: "13:00 – 14:30"
48+
description: "Pitches of the Solutions"
49+
- time: "14:30 – 14:45"
50+
description: "Quick Break"
51+
- time: "14:45 – 15:15"
52+
description: "Final Words / Input by ÖBB"
53+
- time: "15:15 – 15:30"
54+
description: "Announcement of Winning Teams 🎉"
55+
- time: "15:30 –"
56+
description: "Farewell & Networking"

layouts/program/single.html

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
<!DOCTYPE html>
2+
<html lang="{{ .Site.LanguageCode }}">
3+
4+
<head>
5+
{{- partial "headers.html" . }}
6+
{{- partial "custom_headers.html" . }}
7+
</head>
8+
9+
<body>
10+
11+
<div id="all">
12+
13+
{{- partial "top.html" . }}
14+
15+
{{- partial "nav.html" . }}
16+
17+
{{- partial "staging-warning.html" . }}
18+
19+
{{- partial "banner.html" . }}
20+
21+
<div id="content">
22+
<div class="container">
23+
<div class="row">
24+
<div class="col-md-9" id="blog-post">
25+
26+
<div id="post-content">
27+
{{- .Content }}
28+
</div>
29+
30+
{{- range .Site.Data.program.days }}
31+
<div class="program-day">
32+
<h2>{{ .emoji }} {{ .title }}</h2>
33+
{{- range .items }}
34+
<div class="schedule-item">
35+
<div class="schedule-time">{{ .time }}</div>
36+
<div class="schedule-desc">{{ .description }}</div>
37+
</div>
38+
{{- end }}
39+
</div>
40+
{{- end }}
41+
42+
</div>
43+
44+
<div class="col-md-3">
45+
{{- partial "sidebar.html" . }}
46+
</div>
47+
</div>
48+
</div>
49+
</div>
50+
51+
{{- partial "footer.html" . }}
52+
53+
</div>
54+
55+
{{- partial "scripts.html" . }}
56+
57+
</body>
58+
</html>

themes/hack4rail/assets/scss/custom.scss

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,3 +187,36 @@ details {
187187
text-decoration: underline;
188188
}
189189
}
190+
191+
// Program schedule
192+
.program-day {
193+
margin-bottom: 2.5em;
194+
195+
h2 {
196+
border-bottom: 3px solid #333;
197+
padding-bottom: 0.3em;
198+
}
199+
}
200+
201+
.schedule-item {
202+
display: flex;
203+
padding: 0.6em 0;
204+
border-bottom: 1px solid #eee;
205+
206+
&:last-child { border-bottom: none; }
207+
}
208+
209+
.schedule-time {
210+
min-width: 160px;
211+
font-weight: 700;
212+
color: #555;
213+
}
214+
215+
.schedule-desc {
216+
flex: 1;
217+
}
218+
219+
@media (max-width: 600px) {
220+
.schedule-item { flex-direction: column; }
221+
.schedule-time { min-width: auto; margin-bottom: 0.2em; }
222+
}

0 commit comments

Comments
 (0)