Skip to content

Commit 32e9cfd

Browse files
Mazizovaclaude
andcommitted
Add About section: Mission & Vision, Founding Board, Contact Us
- Add real social links (LinkedIn, X, GitHub, Mastodon, Slack) to the site footer and fix a wrong Twitter/GitHub handle in hugo.yaml - Add an "About" dropdown to the main nav (About > Mission & Vision, Founding Board, Contact Us), with a mobile-friendly static variant - Build the Mission & Vision page: hero, mission/vision statements, values grid, founder quote, "Dive Deeper" links, FAQ accordion - Build the Founding Board page: 7 members with real photos, role/org badges (Foundation role kept visually separate from company affiliation), and social links per member - Build the Contact Us page: 4 "get in touch" mailto cards, a Formspree-backed contact form (AJAX submit, inline status), Slack/ newsletter channel cards, and a "Follow us" social row - Add a shared social-icon.html partial (LinkedIn/X/GitHub/Mastodon/ Bluesky/Slack) reused across footer, Founding Board, and Contact Us - Introduce .about-prose (720px) so About-page prose stays readable while card grids keep the site's full container width - Remove a stale, unused .board-grid/.board-member CSS scaffold from _sections.scss that collided with the new Founding Board grid Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1 parent 196ad63 commit 32e9cfd

24 files changed

Lines changed: 1445 additions & 42 deletions

‎assets/scss/_about.scss‎

Lines changed: 646 additions & 0 deletions
Large diffs are not rendered by default.

‎assets/scss/_footer.scss‎

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,30 @@
166166
margin: 0;
167167
}
168168

169+
.footer-social {
170+
display: flex;
171+
align-items: center;
172+
gap: 0.5rem;
173+
174+
a {
175+
display: flex;
176+
align-items: center;
177+
justify-content: center;
178+
width: 34px;
179+
height: 34px;
180+
border-radius: 50%;
181+
color: $muted;
182+
border: 1px solid $dark-border;
183+
transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
184+
185+
&:hover {
186+
color: $off-white;
187+
border-color: rgba($accent, 0.35);
188+
background: $dark-card;
189+
}
190+
}
191+
}
192+
169193
.footer-legal {
170194
display: flex;
171195
gap: 1.5rem;

‎assets/scss/_header.scss‎

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,61 @@
128128
}
129129
}
130130

131+
.nav-item--dropdown {
132+
position: relative;
133+
134+
&.active > .nav-dropdown-trigger {
135+
color: $white;
136+
background: $dark-card;
137+
}
138+
139+
&:hover > .nav-dropdown-menu,
140+
&:focus-within > .nav-dropdown-menu {
141+
display: flex;
142+
}
143+
}
144+
145+
.nav-dropdown-trigger {
146+
font: inherit;
147+
font-size: 0.875rem;
148+
font-weight: 500;
149+
color: $muted;
150+
background: none;
151+
border: none;
152+
padding: 0.5rem 0.875rem;
153+
border-radius: 6px;
154+
cursor: pointer;
155+
transition: color 0.2s ease, background 0.2s ease;
156+
157+
&:hover { color: $white; background: $dark-card; }
158+
}
159+
160+
.nav-dropdown-menu {
161+
display: none;
162+
flex-direction: column;
163+
position: absolute;
164+
top: 100%;
165+
left: 0;
166+
min-width: 200px;
167+
padding: 0.5rem;
168+
margin-top: 0.25rem;
169+
background: $dark-card;
170+
border: 1px solid $dark-border;
171+
border-radius: 10px;
172+
box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
173+
z-index: 10;
174+
175+
a {
176+
padding: 0.5rem 0.75rem;
177+
border-radius: 6px;
178+
font-size: 0.875rem;
179+
font-weight: 500;
180+
color: $muted;
181+
182+
&:hover { color: $white; background: $dark-surface; }
183+
}
184+
}
185+
131186
.nav-toggle {
132187
display: none;
133188
flex-direction: column;
@@ -192,4 +247,32 @@
192247
margin-top: 0.5rem;
193248
}
194249
}
250+
251+
// No hover on touch — the dropdown is always expanded, flat in the stack.
252+
.nav-item--dropdown {
253+
display: flex;
254+
flex-direction: column;
255+
}
256+
257+
.nav-dropdown-trigger {
258+
text-align: left;
259+
padding: 0.75rem 1rem;
260+
font-size: 1rem;
261+
}
262+
263+
.nav-dropdown-menu {
264+
display: flex;
265+
position: static;
266+
box-shadow: none;
267+
border: none;
268+
background: none;
269+
padding: 0 0 0 1rem;
270+
margin: 0;
271+
272+
a {
273+
padding: 0.625rem 1rem;
274+
font-size: 0.9375rem;
275+
color: darken($muted, 5%);
276+
}
277+
}
195278
}

‎assets/scss/_light-theme.scss‎

Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,18 @@
2222
a { color: #334155; &:hover, &.active { background: #f1f5f9; color: #0f172a; } }
2323
}
2424
.nav-toggle span { background: #334155; }
25+
.nav-dropdown-trigger { color: #334155; }
26+
.nav-dropdown-menu a { color: #64748b; }
27+
}
28+
29+
.nav-item--dropdown.active > .nav-dropdown-trigger { color: #0f172a; background: #f1f5f9; }
30+
.nav-dropdown-trigger { color: #64748b; &:hover { color: #0f172a; background: #f1f5f9; } }
31+
.nav-dropdown-menu {
32+
background: #ffffff;
33+
border-color: #dde3ed;
34+
box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
35+
36+
a { color: #64748b; &:hover { color: #0f172a; background: #f8f9fc; } }
2537
}
2638

2739
// Logo
@@ -257,6 +269,156 @@
257269
&:hover { color: #0f172a; border-color: rgba(0, 200, 255, 0.4); }
258270
}
259271

272+
// About pages (Mission & Vision / Founding Board / Contact Us)
273+
.about-hero h1 { color: #0f172a; }
274+
.about-hero-sub { color: #64748b; }
275+
.about-block-text { color: #334155; }
276+
277+
.about-value-card {
278+
background: #ffffff;
279+
border-color: #dde3ed;
280+
border-left-color: #0ea5e9;
281+
282+
h3 { color: #0f172a; }
283+
}
284+
.about-value-claim { color: #0272a5; }
285+
.about-value-desc { color: #64748b; }
286+
287+
.about-quote {
288+
border-color: #dde3ed;
289+
290+
p { color: #0f172a; }
291+
cite { color: #64748b; }
292+
}
293+
294+
.about-dive-card {
295+
background: #ffffff;
296+
border-color: #dde3ed;
297+
298+
&:hover { border-color: rgba(0, 200, 255, 0.4); background: #f8f9fc; }
299+
300+
&--soon:hover { border-color: #dde3ed; background: #ffffff; }
301+
}
302+
.about-dive-title { color: #0f172a; }
303+
.about-dive-desc { color: #64748b; }
304+
.about-dive-arrow { color: #0272a5; }
305+
.about-dive-soon { color: #94a3b8; }
306+
307+
.about-btn {
308+
&--primary {
309+
background: #0ea5e9;
310+
border-color: #0ea5e9;
311+
color: #ffffff;
312+
&:hover { background: #0284c7; }
313+
}
314+
&--secondary {
315+
color: #0f172a;
316+
border-color: #dde3ed;
317+
&:hover { color: #0272a5; border-color: rgba(0, 200, 255, 0.4); }
318+
}
319+
}
320+
321+
.about-faq-item {
322+
border-bottom-color: #dde3ed;
323+
&:first-child { border-top-color: #dde3ed; }
324+
325+
summary { color: #0f172a; }
326+
.about-faq-chevron { color: #94a3b8; }
327+
p { color: #64748b; }
328+
}
329+
330+
.board-card {
331+
background: none;
332+
border-color: #334155;
333+
}
334+
.board-photo {
335+
background: #f1f5f9;
336+
337+
&--placeholder {
338+
background: rgba(0, 200, 255, 0.08);
339+
color: #0272a5;
340+
}
341+
}
342+
.board-name { color: #0f172a; }
343+
.board-role { color: #64748b; }
344+
.board-org {
345+
color: #0272a5;
346+
background: rgba(0, 200, 255, 0.08);
347+
border-color: rgba(0, 200, 255, 0.3);
348+
}
349+
.board-bio { color: #64748b; }
350+
.board-links {
351+
border-top-color: #dde3ed;
352+
a { color: #64748b; &:hover { color: #0272a5; } }
353+
}
354+
355+
.contact-card {
356+
background: #ffffff;
357+
border-color: #dde3ed;
358+
}
359+
.contact-card-icon {
360+
background: rgba(0, 200, 255, 0.08);
361+
color: #0272a5;
362+
}
363+
.contact-card-title { color: #0f172a; }
364+
.contact-card-desc { color: #64748b; }
365+
.contact-card-email { color: #0272a5; }
366+
367+
.contact-form-card { background: #ffffff; border: 1px solid #dde3ed; }
368+
.contact-form-title { color: #0f172a; }
369+
.contact-form-sub { color: #64748b; }
370+
371+
.contact-field {
372+
label { color: #64748b; }
373+
374+
input, select, textarea {
375+
color: #0f172a;
376+
background-color: #f8f9fc;
377+
border-color: #dde3ed;
378+
379+
&::placeholder { color: #94a3b8; }
380+
&:focus { border-color: rgba(0, 200, 255, 0.5); }
381+
}
382+
383+
select {
384+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
385+
background-repeat: no-repeat;
386+
background-position: right 0.875rem center;
387+
}
388+
}
389+
390+
.contact-consent-text { color: #64748b; }
391+
.contact-form-status { color: #64748b; }
392+
393+
.contact-channel {
394+
background: #ffffff;
395+
border-color: #dde3ed;
396+
397+
svg { color: #0272a5; }
398+
399+
&:hover { border-color: rgba(0, 200, 255, 0.4); background: #f8f9fc; }
400+
401+
&--soon {
402+
svg { color: #94a3b8; }
403+
&:hover { border-color: #dde3ed; background: #ffffff; }
404+
}
405+
}
406+
.contact-channel-title { color: #0f172a; }
407+
.contact-channel-sub { color: #64748b; }
408+
409+
.contact-social-row { border-color: #dde3ed; }
410+
.contact-social-label { color: #0f172a; }
411+
.contact-social-icons a {
412+
color: #64748b;
413+
border-color: #dde3ed;
414+
415+
&:hover {
416+
color: #0f172a;
417+
border-color: rgba(0, 200, 255, 0.4);
418+
background: #f1f5f9;
419+
}
420+
}
421+
260422
// Contribute page
261423
.contribute-method {
262424
background: #ffffff;
@@ -631,6 +793,17 @@
631793
}
632794

633795
.footer-bottom p { color: #94a3b8; }
796+
797+
.footer-social a {
798+
color: #64748b;
799+
border-color: #dde3ed;
800+
801+
&:hover {
802+
color: #0f172a;
803+
border-color: rgba(0, 200, 255, 0.4);
804+
background: #f1f5f9;
805+
}
806+
}
634807
}
635808

636809
// Blog

‎assets/scss/_sections.scss‎

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -128,46 +128,6 @@
128128
}
129129
}
130130

131-
// Founding board grid
132-
.board-grid {
133-
display: grid;
134-
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
135-
gap: 1px;
136-
background: $dark-border;
137-
border: 1px solid $dark-border;
138-
border-radius: 12px;
139-
overflow: hidden;
140-
}
141-
142-
.board-member {
143-
background: $dark-card;
144-
padding: 1.5rem;
145-
transition: background 0.2s ease;
146-
147-
&:hover {
148-
background: lighten($dark-card, 3%);
149-
}
150-
151-
.board-name {
152-
font-size: 1rem;
153-
font-weight: 700;
154-
color: $white;
155-
margin-bottom: 0.25rem;
156-
}
157-
158-
.board-role {
159-
font-size: 0.8125rem;
160-
color: $accent;
161-
font-weight: 500;
162-
margin-bottom: 0.2rem;
163-
}
164-
165-
.board-org {
166-
font-size: 0.8125rem;
167-
color: $muted;
168-
}
169-
}
170-
171131
// Quotes grid
172132
.quotes-grid {
173133
display: grid;

‎assets/scss/main.scss‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ img {
3030
@import "sections";
3131
@import "blog";
3232
@import "resources";
33+
@import "about";
3334
@import "showcase";
3435
@import "footer";
3536
@import "light-theme";

‎content/about/_index.md‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
title: "About"
3+
description: "Who the OurSQL Foundation is, how it's governed, and how to reach us."
4+
---

‎content/about/contact-us.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
title: "Contact Us"
3+
description: "Whether you're a journalist, a potential member, or simply curious about MySQL's next chapter — we'd love to hear from you."
4+
layout: "contact-us"
5+
---
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
title: "Founding Board"
3+
description: "The OurSQL Foundation is led by an independent founding board — individuals from across the MySQL community who came together to build a vendor-neutral home for the ecosystem."
4+
layout: "founding-board"
5+
---
55.1 KB
Loading

0 commit comments

Comments
 (0)