Skip to content

Commit 45e70b3

Browse files
john-farinaakhilgkrishnanAmandaPerino
authored
Rails World 2024 - Agenda (#312)
* implement starting agenda * Fully working agenda * unused code * touchups * small touchups + 3 days * typos * add missing dates * Update agenda (#6) * Updated the Agenda * Empty line added * Refactored the page * Minor refactoring * Redirection fix * Removed unwanted codes * Updated the Agenda * Empty line added * Refactored the page * Minor refactoring * Agenda redirection issue fixed * fix merge conflict * 2 new sponsors + logo update * agenda tab size * tab space 2 for other html files * Update 1-opening-session.md * Update opening-keynote-dhh.md * Update and rename closing-keynote-eileen.md to closing-keynote.md * Update and rename opening-keynote.md to opening-keynote-eileen.md * Update 1-opening-session.md * Update chris-power.md * Update chris-power.md * Update chris-power.md * Update 1-early-registration.md * Update closing-party.md * Update 1-opening-session.md * Update donal-mcbreen.md * Update jamis-buck.md * Update kevin-mcconnell.md * Update greg-molnar.md * Update jenny-shen.md * Update justin-searls.md * Update rafael-franca.md * Update emmanuel-hayford.md * Update closing-keynote.md --------- Co-authored-by: Akhil G Krishnan <[email protected]> Co-authored-by: Amanda Perino <[email protected]>
1 parent f68b01a commit 45e70b3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+794
-309
lines changed

_data/world/2024/sponsors.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ gold:
2222
- name: Crunchy Data
2323
logo: /assets/world/2024/images/sponsors/RW-logo-crunchydata.svg
2424
url: https://www.crunchydata.com/
25+
- name: Framework
26+
logo: /assets/world/2024/images/sponsors/RW-logo-framework.png
27+
url: https://frame.work/
2528
- name: Sentry
2629
logo: /assets/world/2024/images/sponsors/RW-logo-sentry.svg
2730
url: https://sentry.io/
@@ -31,9 +34,15 @@ gold:
3134
- name: Fullscript
3235
logo: /assets/world/2024/images/sponsors/RW-logo-fullscript.png
3336
url: https://fullscript.com/
37+
- name: Telos Labs
38+
logo: /assets/world/2024/images/sponsors/RW-logo-teloslabs.svg
39+
url: https://hi.teloslabs.co/
3440
- name: Cedarcode
3541
logo: /assets/world/2024/images/sponsors/RW-logo-cedarcode.svg
3642
url: https://www.cedarcode.com/
43+
- name: Coder
44+
logo: /assets/world/2024/images/sponsors/RW-logo-coder.svg
45+
url: https://coder.com/
3746
- name: ODDS
3847
logo: /assets/world/2024/images/sponsors/RW-logo-odds.svg
3948
url: https://odds.team/

_includes/world/2024/agenda-page.html

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
{% assign pageDay = include.day %}
2+
3+
{% if pageDay == 0 %}
4+
{% assign dayZeroActive = 'active' %}
5+
{% else %}
6+
{% assign dayZeroActive = 'inactive' %}
7+
{% endif %}
8+
9+
{% if pageDay == 1 %}
10+
{% assign dayOneActive = 'active' %}
11+
{% else %}
12+
{% assign dayOneActive = 'inactive' %}
13+
{% endif %}
14+
15+
{% if pageDay == 2 %}
16+
{% assign dayTwoActive = 'active' %}
17+
{% else %}
18+
{% assign dayTwoActive = 'inactive' %}
19+
{% endif %}
20+
21+
{% assign sessions = include.sessions %}
22+
23+
<div class="dayContainer">
24+
<div class="titleContainer">
25+
<h2>Agenda</h2>
26+
<p>Rails World featured two full days of keynotes, talks, workshops, sessions, and more. All sessions on the two
27+
main stages were recorded and will be shared soon.</p>
28+
</div>
29+
<div class="mainContainer">
30+
<div class="dayTabs">
31+
<div class="tabContainer zero {{ dayZeroActive }}" role="button" tabindex="0" title="Day One"
32+
aria-label="View day one's agenda" onclick="openWindow('/world/2024/agenda/day-0')"
33+
onkeydown="handleEnterOrSpaceWindowOpen(event, '/world/2024/agenda/day-0')">
34+
<p class="dayText">Wednesday</p>
35+
<p class="dateText">Sept 25</p>
36+
</div>
37+
<div class="tabContainer one {{ dayOneActive }}" role="button" tabindex="0" title="Day One"
38+
aria-label="View day two's agenda" onclick="openWindow('/world/2024/agenda/day-1')"
39+
onkeydown="handleEnterOrSpaceWindowOpen(event, '/world/2024/agenda/day-1')">
40+
<p class="dayText">Thursday</p>
41+
<p class="dateText">Sept 26</p>
42+
</div>
43+
<div class="tabContainer two {{ dayTwoActive }}" role="button" tabindex="0" title="Day Two"
44+
aria-label="View day three's agenda" onclick="openWindow('/world/2024/agenda/day-2')"
45+
onkeydown="handleEnterOrSpaceWindowOpen(event, '/world/2024/agenda/day-2')">
46+
<p class="dayText">Friday</p>
47+
<p class="dateText">Sept 27</p>
48+
</div>
49+
</div>
50+
<div class="agendaContainer">
51+
{% for session in include.sessions %}
52+
{% assign session_path = session.path | replace: '_world_sessions/2024', '' | replace: '.md', '' %}
53+
<div class="sessionRow" role="button" tabindex="0" title="{{ session.title }}"
54+
aria-label="Go to {{ session.title }} session page" onclick="openWindow('/world/2024{{ session_path }}')"
55+
onkeydown="handleEnterOrSpaceWindowOpen(event, '/world/2024/{{ session_path }}')">
56+
<div class="left">
57+
<p class="timeText">{{ session.time }}</p>
58+
<div class="separator"></div>
59+
</div>
60+
<div class="right">
61+
{% assign speakerId = session.speaker | split: '/' | last %}
62+
{% assign speakerObjs = site.world_speakers | where_exp:"speaker", "speaker.path contains speakerId" |
63+
where_exp: 'item', 'item.path contains "2024"' %}
64+
{% assign primarySpeaker = speakerObjs | first %}
65+
{% assign secondSpeakerId = session.second_speaker | split: '/' | last %}
66+
{% assign secondSpeakerObjs = site.world_speakers | where_exp:"speaker", "speaker.path contains
67+
secondSpeakerId" | where_exp: 'item', 'item.path contains "2024"' %}
68+
{% assign secondarySpeaker = secondSpeakerObjs | first %}
69+
70+
<p class="title">{{ session.title }}</p>
71+
<div class="speakersContainer">
72+
{% if primarySpeaker %}
73+
<p class="speakerName">{{ primarySpeaker.first_name }} {{ primarySpeaker.last_name }}, {{
74+
primarySpeaker.role }}{% if primarySpeaker.company %}, {{ primarySpeaker.company }}{% endif %}</p>
75+
{% endif %}
76+
{% if secondarySpeaker %}
77+
<p class="speakerName">, & {{ secondarySpeaker.first_name }} {{ secondarySpeaker.last_name }}, {{
78+
secondarySpeaker.role }}{% if secondarySpeaker.company %}, {{ secondarySpeaker.company }}{% endif %}</p>
79+
{% endif %}
80+
</div>
81+
</div>
82+
</div>
83+
{% endfor %}
84+
</div>
85+
</div>
86+
</div>
87+
88+
<script>
89+
function openWindow(url, openTab = false) {
90+
const openType = openTab ? '_blank' : '_self';
91+
92+
if (openTab) {
93+
window.open(url, openType);
94+
} else {
95+
window.location.href = url;
96+
}
97+
}
98+
99+
function handleEnterOrSpaceWindowOpen(e, url) {
100+
if (e.key === " " || e.key === "Enter" || e.key === "Spacebar") {
101+
openWindow(url);
102+
}
103+
}
104+
</script>

_includes/world/2024/header.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<div class="center">
1111
<a href="/world/2024/faq" class="link">FAQ</a>
1212
<a href="/world/2024/speakers" class="link">Speakers</a>
13+
<a href="/world/2024/agenda" class="link">Agenda</a>
1314
</div>
1415

1516
<div class="sideContainer right">
@@ -32,6 +33,7 @@
3233
<div class="sideContainer right">
3334
<a href="/world/2024/faq" class="link">FAQ</a>
3435
<a href="/world/2024/speakers" class="link">Speakers</a>
36+
<a href="/world/2024/agenda" class="link">Agenda</a>
3537
</div>
3638
</nav>
3739
</header>
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
{% assign sessionUrl = include.session.path | split: '/' | last | remove_first: '.md' %}
2+
{% assign session = include.session %}
3+
4+
{% if session.time != blank and session.session_date != blank and session.location != blank %}
5+
{% assign hasInfo = true %}
6+
{% else %}
7+
{% assign hasInfo = false %}
8+
{% endif %}
9+
10+
{% if hasInfo %}
11+
{% assign className = "sessionCard" %}
12+
{% else %}
13+
{% assign className = "sessionCard noInfo" %}
14+
{% endif %}
15+
16+
{% assign url_segments = include.session.url | split: '/' %}
17+
{% assign day_segment = "" %}
18+
19+
{% for segment in url_segments %}
20+
{% if segment contains "day-" %}
21+
{% assign day_segment = segment %}
22+
{% endif %}
23+
{% endfor %}
24+
25+
{% assign clean_path = session.path | replace: '_world_sessions/2024', '' | replace: '.md', '' %}
26+
<div class="{{ className }}" href="" role="button" tabindex="0" title="{{ session.title }}"
27+
aria-label="Go to {{ session.title }} session page" onclick="openWindow(
28+
'/world/2024{{ clean_path }}'
29+
)
30+
" onkeydown="
31+
handleEnterOrSpaceWindowOpen(
32+
event,
33+
'/world/2024/{{ clean_path }}'
34+
)
35+
">
36+
<p class="sessionName">{{ session.title }}</p>
37+
{% if session.time %}
38+
<div class="sessionTimeContainer">
39+
{% include world/2024/icons/clock.html %}
40+
41+
<p>{{ session.time }}</p>
42+
</div>
43+
{% endif %}
44+
{% if day_segment != "" %}
45+
<div class="sessionDateContainer">
46+
{% include world/2024/icons/calendar.html %}
47+
48+
{% if day_segment == "day-0" %}
49+
<p>September 25th</p>
50+
{% elsif day_segment == "day-1" %}
51+
<p>September 26th</p>
52+
{% elsif day_segment == "day-2" %}
53+
<p>September 27th</p>
54+
{% endif %}
55+
</div>
56+
{% endif %}
57+
{% if session.location %}
58+
<div class="sessionLocationContainer">
59+
{% include world/2024/icons/location.html %}
60+
61+
<p>{{ session.location }}</p>
62+
</div>
63+
{% endif %}
64+
</div>

_includes/world/2024/tito-widget.html

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
<div class="titto-container">
2-
<h3 class="ticketTitle">Tickets</h3>
32
<div class="iframeContainer">
4-
<div id="tito-widget"></div>
5-
<!-- Bring back after no more sale -->
6-
<!-- <div class="soldOutContainer">
7-
<p>
8-
Sold out. If tickets are returned or released we will release another batch later this year.
9-
</p>
10-
</div> -->
3+
<!-- <div id="tito-widget"></div> -->
4+
<div class="soldOutContainer">
5+
6+
</div>
117
</div>
128
</div>
139
<script>

_layouts/world/2024/agenda.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
layout: world/2024/default
3+
---
4+
5+
{{ content }}

0 commit comments

Comments
 (0)