Skip to content

Commit a0494d7

Browse files
authored
Merge pull request #150 from weeklydevchat/feature/add-link-to-luma
Redesigned the Join page
2 parents 8c9302a + a4988f4 commit a0494d7

6 files changed

Lines changed: 267 additions & 187 deletions

File tree

docs/join.md

Lines changed: 64 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,73 @@
1-
# How to join the weekly dev chat:
1+
---
2+
title: Join
3+
hide:
4+
- toc
5+
---
6+
# How to join the Weekly Dev Chat
27

3-
#### The short version
8+
<div class="wdc-page" markdown>
9+
<p class="lead">We meet online deterministically every Tuesday at 12pm Mountain Time. The in real life events date and time are nondeterministic.</p>
410

5-
1. Install [Zoom](https://zoom.us/).
6-
2. Find the meeting link on the [#meetup-weekly-dev-chat](https://devedmonton.slack.com/archives/C01LZQ6550V) channel on Dev Edmonton [Slack](https://devedmonton.com/#about-our-slack).
7-
3. Alternatively find the link on Weekly Dev Chat event on the Edmonton Unlimited's Meetup [group](https://www.meetup.com/startupedmonton/).
11+
<section class="cta">
12+
<div class="eyebrow"><span class="dot"></span>Preferred way to join</div>
13+
<div class="cta-inner">
14+
<div>
15+
<h3>Luma Calendar</h3>
16+
<p>Follow the WDC Luma calendar to get notified of upcoming events. Register for an event to get the Zoom link for virtual events or address for the IRL event.</p>
17+
</div>
18+
<div class="cta-actions">
19+
<a class="btn primary" href="https://luma.com/weeklydevchat">Luma Calendar</a>
20+
</div>
21+
</div>
22+
</section>
823

9-
#### The longer version
24+
<h2>Alternatives</h2>
1025

11-
The Weekly Dev Chat uses [Zoom](https://zoom.us/). If you don't want to install Zoom you can use it directly in your [browser](https://support.zoom.us/hc/en-us/articles/201362593-Join-My-Meeting-via-Browser) instead.
26+
Don't like Luma or you are already on Meetup or the Dev Edmonton Slack? Then use one of the options below.
1227

13-
The recommended way for getting the link for the Zoom meeting is by joining the Dev Edmonton [Slack](https://devedmonton.com/#about-our-slack). The link will be posted every week in the #meetup-weekly-dev-chat channel. The #meetup-weekly-dev-chat channel is where you can post an initial topic suggestion. It is also used to continue the discussion once the chat is over.
28+
<section class="tiles">
29+
<div class="tile">
30+
<h3>Edmonton Unlimited on Meetup</h3>
31+
<p>Join the group, find the Weekly Dev Chat event, and the link appears once you register. Good if Meetup is already how you keep track of events. <a href="https://www.meetup.com/startupedmonton/">Join the Meetup group</a></p>
32+
</div>
33+
<div class="tile">
34+
<h3>Dev Edmonton Slack</h3>
35+
<p>The link is posted every Tuesday in <code>#meetup-weekly-dev-chat</code>. It is also where topics get suggested and where the conversation keeps going afterwards. Free, and you don't have to live in Edmonton. <a href="https://devedmonton.com/#about-our-slack">Join the Slack</a></p>
36+
</div>
37+
</section>
1438

15-
You can join the Dev Edmonton Slack even if you don't live in Edmonton and it's free to join. Details on how to join the Dev Edmonton Slack and the organization can be found on their [website](https://devedmonton.com/).
39+
<h2>What the virtual chat is like</h2>
1640

17-
A second option is to join the Edmonton Unlimited Meetup [group](https://www.meetup.com/startupedmonton/). Once you join the group look for the Weekly Dev Chat event and the Zoom link will be shown when you register for the event.
41+
<section class="tiles">
42+
<div class="tile">
43+
<h3>Nothing to prepare</h3>
44+
<p>A starter topic gets posted each week, but the conversation drifts wherever it wants to. You don't have to prepare anything.</p>
45+
</div>
46+
<div class="tile">
47+
<h3>Cameras off is fine</h3>
48+
<p>Cameras and mics are both optional. Listening quietly is a completely normal way to attend, and plenty of people do.</p>
49+
</div>
50+
<div class="tile">
51+
<h3>Any experience level</h3>
52+
<p>Students, career switchers, and people twenty years in all end up in the same call.</p>
53+
</div>
54+
</section>
1855

19-
#### In-Real-Life (IRL) Events
56+
<h2>In real life (IRL) events</h2>
57+
<section class="tiles">
58+
<div>
59+
<p>We host IRL events in Edmonton, Alberta, Canada. They are announced on the same <a href="https://luma.com/weeklydevchat">Luma calendar</a> as the virtual events.</p>
60+
<p>The IRL events include pair coding, capture the flag (CTF), watch parties, show and tell, hardware swaps, and workshops &mdash; anything goes as long as it's interactive and has audience participation.</p>
61+
</div>
62+
</section>
2063

21-
We occasionally host in-person meetups in Edmonton. To stay up to date on IRL events, subscribe to our [Luma calendar](https://luma.com/weeklydevchat).
64+
<h2>FAQ</h2>
65+
66+
<div class="qa">
67+
<div><p class="q">Do I have to be in Edmonton?</p><p class="a">No. The Tuesday chat is virtual and open to anyone, anywhere. Only the occasional IRL events are Edmonton-based.</p></div>
68+
<div><p class="q">Do I need to come every week?</p><p class="a">No. Show up when it works for you &mdash; a lot of people drop in every few weeks.</p></div>
69+
<div><p class="q">Is it recorded?</p><p class="a">No. Nothing is recorded or published, so people can speak freely.</p></div>
70+
<div><p class="q">What if I'm late?</p><p class="a">Join anyway. People come and go throughout the hour.</p></div>
71+
<div><p class="q">Can I suggest a topic?</p><p class="a">Yes. Post it in <code>#meetup-weekly-dev-chat</code> on Dev Edmonton Slack, or just raise it during the chat.</p></div>
72+
</div>
73+
</div>

docs/sponsors/index.md

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,31 @@ hide:
44
---
55
# Sponsors
66

7-
<div class="wdc-sponsors-page" markdown>
7+
<div class="wdc-page wdc-sponsors-page" markdown>
88
<p class="lead">The Weekly Dev Chat is powered by community members like you!</p>
9-
<section class="support">
10-
<div class="support-card">
9+
<section class="tiles">
10+
<div class="tile">
1111
<h3>Show Up</h3>
1212
<p>Attending events is the best way to support the Weekly Dev Chat. Bring your curiosity and be willing to share your knowledge and learn from others.</p>
1313
</div>
14-
<div class="support-card">
14+
<div class="tile">
1515
<h3>Spread the Word</h3>
1616
<p>Invite others who follow our values to an event. Everyone and anyone is welcome as long as they are kind, supportive, and respectful of others.</p>
1717
</div>
18-
<div class="support-card">
18+
<div class="tile">
1919
<h3>Sponsor</h3>
2020
<p>Help keep the lights on and get things done with contributions of money, time, skills, or other resources. Every little bit helps.</p>
2121
</div>
2222
</section>
2323

24-
<section class="become-sponsor">
24+
<section class="cta">
2525
<div class="eyebrow"><span class="dot"></span> Want on this page?</div>
26-
<div class="become-inner">
26+
<div class="cta-inner">
2727
<div>
2828
<h3>Thank you to our Current and Past Sponsors!</h3>
2929
<p>Email us if you have any questions or would like to make non-financial contributions.</p>
3030
</div>
31-
<div class="become-ctas">
31+
<div class="cta-actions">
3232
<a class="btn primary" href="https://buy.stripe.com/dRmaEY4HJ2xUgcG8PdfIs01">Sponsor</a>
3333
<a class="btn primary" href="mailto:chris@weeklydevchat.com">Email</a>
3434
</div>
@@ -48,27 +48,26 @@ hide:
4848
{% set s = sponsors.sponsors[id] %}
4949
{% set card_links = s.links if s.links else ([{'label': s.link_label or 'Website', 'url': s.link}] if s.link else []) %}
5050
<div class="sponsor-card" role="button" tabindex="0">
51-
<div class="card-face card-front">
51+
<div class="card-front">
5252
<div class="card-logo">
5353
{% if s.image %}<img src="../assets/sponsors/{{ s.image }}" alt="{{ s.name }}">{% else %}<div class="card-logo-placeholder">{{ (s.name or 'Anonymous')[0] }}</div>{% endif %}
5454
</div>
5555
<div class="card-footer">
5656
<span class="card-tier">{{ s.name or 'Sponsor' }}</span>
5757
</div>
5858
</div>
59-
<div class="card-face card-back">
60-
<div class="card-back-inner">
61-
{% if s.tier %}<div class="card-back-tier">{{ s.tier }}</div>{% endif %}
62-
<h4 class="card-back-name">{{ s.name }}</h4>
63-
{% if s.description %}<p class="card-back-desc">{{ s.description }}</p>{% endif %}
64-
{% if card_links %}
65-
<div class="card-back-links">
66-
{% for l in card_links %}
67-
<a href="{{ l.url }}" target="_blank" rel="noopener">{{ l.label }} <span class="arrow">↗</span></a>
68-
{% endfor %}
69-
</div>
70-
{% endif %}
71-
</div>
59+
<!-- Not rendered (see .card-back) — the modal script reads these. -->
60+
<div class="card-back">
61+
{% if s.tier %}<div class="card-back-tier">{{ s.tier }}</div>{% endif %}
62+
<h4 class="card-back-name">{{ s.name }}</h4>
63+
{% if s.description %}<p class="card-back-desc">{{ s.description }}</p>{% endif %}
64+
{% if card_links %}
65+
<div class="card-back-links">
66+
{% for l in card_links %}
67+
<a href="{{ l.url }}" target="_blank" rel="noopener">{{ l.label }} ↗</a>
68+
{% endfor %}
69+
</div>
70+
{% endif %}
7271
</div>
7372
</div>
7473
{% endfor %}

docs/stylesheets/extra.css

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
letter-spacing: -0.02em;
55
line-height: 1.1;
66
color: var(--md-primary-fg-color, #009688);
7-
border-bottom: none;
8-
padding-bottom: 0;
97
}
108

119
.logo-article-img {

docs/stylesheets/page.css

Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
/* Shared page vocabulary — tokens plus the components used by more than one
2+
page (join, sponsors). Scoped to .wdc-page so it can't leak onto the
3+
host/past-host pages. Add .wdc-page to a page's wrapper div to opt in. */
4+
.wdc-page {
5+
--paper: #fafafa;
6+
--line: #e0e0e0;
7+
--ink: #1a1a1a;
8+
--ink-2: #5a5a5a;
9+
--ink-3: #8a8a8a;
10+
--teal: var(--md-primary-fg-color, #009688);
11+
--teal-dark: #00766c;
12+
--blue: var(--md-accent-fg-color, #448aff);
13+
--radius: 14px;
14+
--mono: ui-monospace, "SF Mono", Menlo, monospace;
15+
}
16+
17+
.wdc-page .lead {
18+
font-size: clamp(22px, 2.5vw, 28px);
19+
font-weight: 300;
20+
line-height: 1.5;
21+
color: var(--ink);
22+
margin: 4px 0 12px;
23+
max-width: 60ch;
24+
}
25+
26+
/* Row of tiles. auto-fit collapses the empty tracks, so the column count
27+
follows the tile count on its own — a section with two tiles, or one
28+
paragraph of prose, needs no modifier class. Stacking below 900px still
29+
needs the breakpoint: the content column is wide enough there that the
30+
minmax floor alone would keep three tiles side by side. */
31+
.wdc-page .tiles {
32+
display: grid;
33+
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
34+
gap: 16px;
35+
padding: 20px 0;
36+
margin: 16px 0 20px;
37+
border-bottom: 1px solid var(--line);
38+
}
39+
.wdc-page .tile {
40+
padding: 22px;
41+
border-radius: var(--radius);
42+
background: var(--paper);
43+
border: 1px solid var(--line);
44+
transition: transform 0.2s, box-shadow 0.2s;
45+
}
46+
.wdc-page .tile:hover {
47+
transform: translateY(-2px);
48+
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04), 0 2px 6px rgba(0, 0, 0, 0.05);
49+
}
50+
.wdc-page .tile h3 {
51+
font-weight: 400;
52+
font-size: 22px;
53+
margin: 10px 0 8px;
54+
}
55+
.wdc-page .tile p {
56+
margin: 0;
57+
color: var(--ink-2);
58+
font-size: 15px;
59+
}
60+
.wdc-page .tile a {
61+
font-weight: 500;
62+
}
63+
64+
/* Full-width teal call-to-action banner */
65+
.wdc-page .cta {
66+
margin: 20px 0;
67+
padding: 40px;
68+
border-radius: var(--radius);
69+
background: linear-gradient(135deg, var(--teal-dark), var(--teal));
70+
color: #fff;
71+
position: relative;
72+
overflow: hidden;
73+
}
74+
.wdc-page .cta::before {
75+
content: "";
76+
position: absolute;
77+
inset: 0;
78+
background: radial-gradient(circle at 80% 20%, rgba(68, 138, 255, 0.3), transparent 50%);
79+
pointer-events: none;
80+
}
81+
.wdc-page .cta-inner {
82+
display: grid;
83+
grid-template-columns: 1.4fr auto;
84+
gap: 32px;
85+
align-items: center;
86+
position: relative;
87+
}
88+
.wdc-page .cta h3 {
89+
font-weight: 300;
90+
font-size: 36px;
91+
margin: 14px 0 10px;
92+
line-height: 1.15;
93+
color: #fff;
94+
}
95+
.wdc-page .cta p {
96+
margin: 0;
97+
color: rgba(255, 255, 255, 0.9);
98+
max-width: 48ch;
99+
}
100+
.wdc-page .cta-actions {
101+
display: flex;
102+
flex-direction: column;
103+
gap: 10px;
104+
}
105+
.wdc-page .eyebrow {
106+
display: inline-flex;
107+
align-items: center;
108+
gap: 8px;
109+
font-family: var(--mono);
110+
font-size: 12px;
111+
letter-spacing: 0.06em;
112+
text-transform: uppercase;
113+
padding: 6px 10px;
114+
background: rgba(255, 255, 255, 0.15);
115+
border-radius: 999px;
116+
}
117+
.wdc-page .dot {
118+
width: 7px;
119+
height: 7px;
120+
border-radius: 50%;
121+
background: var(--blue);
122+
border: 1px solid #fff;
123+
box-shadow: 0 0 0 3px rgba(68, 138, 255, 0.3);
124+
}
125+
126+
.wdc-page .btn {
127+
display: inline-flex;
128+
align-items: center;
129+
justify-content: center;
130+
padding: 12px 48px;
131+
border-radius: 12px;
132+
border: 2px solid rgba(255, 255, 255, 0.9);
133+
font-weight: 500;
134+
font-size: 17px;
135+
text-decoration: none;
136+
white-space: nowrap;
137+
transition: background 0.15s, border-color 0.15s;
138+
}
139+
.wdc-page .btn.primary { background: var(--blue); color: #fff; }
140+
.wdc-page .btn.primary:hover { background: #2979ff; border-color: #fff; }
141+
142+
/* Question/answer list */
143+
.wdc-page .qa {
144+
display: grid;
145+
gap: 18px;
146+
margin: 20px 0 8px;
147+
}
148+
.wdc-page .qa > div {
149+
padding-bottom: 18px;
150+
border-bottom: 1px solid var(--line);
151+
}
152+
.wdc-page .qa > div:last-child {
153+
border-bottom: none;
154+
padding-bottom: 0;
155+
}
156+
.wdc-page .qa .q {
157+
margin: 0 0 4px;
158+
font-weight: 500;
159+
color: var(--ink);
160+
}
161+
.wdc-page .qa .a {
162+
margin: 0;
163+
color: var(--ink-2);
164+
}
165+
166+
@media (max-width: 900px) {
167+
.wdc-page .tiles { grid-template-columns: 1fr; }
168+
.wdc-page .cta { padding: 28px; }
169+
.wdc-page .cta h3 { font-size: 28px; }
170+
.wdc-page .cta-inner { grid-template-columns: 1fr; }
171+
.wdc-page .cta-actions { flex-direction: row; }
172+
}

0 commit comments

Comments
 (0)