Skip to content

Commit e13ed21

Browse files
Mazizovaclaude
andcommitted
Replace webinar hero banner with speaker photos; add René Cannaò profile
The full-width banner read as too heavy on the webinar detail pages, so it's dropped from the in-page layout and kept only as the OG/social share image. Each speaker now gets a small circular photo next to their name and role instead. Also fixes a bug from the initial Webinars PR: the People profile permalinks actually live under /resources/member-directory/people/ (an explicit `url:` override on every existing profile), but the webinar speaker `profile:` links pointed at the un-prefixed path — Daniel's and Alkin's links were silently 404ing. Fixed both, and added a new People profile for René Cannaò (CEO and creator of ProxySQL, photo from LinkedIn) so he has a profile to link to as well. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1 parent ebe2090 commit e13ed21

10 files changed

Lines changed: 62 additions & 36 deletions

File tree

‎assets/scss/_light-theme.scss‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -694,7 +694,6 @@
694694
.webinar-card-title { color: #0f172a; }
695695
.webinar-card-speakers { color: #64748b; }
696696

697-
.webinar-hero-image-wrap { border-color: #dde3ed; }
698697
.webinar-header h1 { color: #0f172a; }
699698
.webinar-meta-badge {
700699
color: #0272a5;

‎assets/scss/_webinars.scss‎

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -94,21 +94,9 @@
9494
}
9595

9696
// ── Single webinar page ──
97-
.webinar-hero-image-wrap {
98-
margin: 1.5rem 0 2rem;
99-
border-radius: 14px;
100-
overflow: hidden;
101-
border: 1px solid $dark-border;
102-
}
103-
104-
.webinar-hero-image {
105-
display: block;
106-
width: 100%;
107-
height: auto;
108-
}
109-
11097
.webinar-header {
11198
max-width: 720px;
99+
margin-top: 1.5rem;
112100
margin-bottom: 2.5rem;
113101

114102
h1 {
@@ -154,10 +142,26 @@
154142
padding: 0;
155143
display: flex;
156144
flex-wrap: wrap;
157-
gap: 0.375rem 1.5rem;
145+
gap: 1rem 2rem;
158146
}
159147

160148
.webinar-speaker {
149+
display: flex;
150+
align-items: center;
151+
gap: 0.75rem;
152+
}
153+
154+
.webinar-speaker-photo {
155+
display: block;
156+
width: 48px;
157+
height: 48px;
158+
border-radius: 50%;
159+
object-fit: cover;
160+
border: 2px solid rgba($accent, 0.4);
161+
flex-shrink: 0;
162+
}
163+
164+
.webinar-speaker-info {
161165
display: flex;
162166
flex-direction: column;
163167
}

‎content/community/webinars/beyond-the-proxy-proxysql-ecosystem/index.md‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,13 @@ images:
99
speakers:
1010
- name: "René Cannaò"
1111
role: "CEO, ProxySQL"
12+
photo: "speaker-rene.jpg"
13+
profile: "/resources/member-directory/people/rene-cannao/"
1214
linkedin: "https://www.linkedin.com/in/renecannao/"
1315
- name: "Alkin Tezuysal"
1416
role: "Chief Strategy Officer, ProxySQL"
15-
profile: "/resources/member-directory/alkin-tezuysal/"
17+
photo: "speaker-alkin.jpg"
18+
profile: "/resources/member-directory/people/alkin-tezuysal/"
1619
linkedin: "https://www.linkedin.com/in/askdba/"
1720
---
1821

16.2 KB
Loading
8.75 KB
Loading

‎content/community/webinars/mysql-time-travel-row-level-recovery/index.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ images:
99
speakers:
1010
- name: "Daniel Guzmán Burgos"
1111
role: "Creator of dbtrail"
12-
profile: "/resources/member-directory/daniel-guzman-burgos/"
12+
photo: "speaker-daniel.jpg"
13+
profile: "/resources/member-directory/people/daniel-guzman-burgos/"
1314
linkedin: "https://www.linkedin.com/in/danielmauricioguzman/"
1415
---
1516

11.7 KB
Loading
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: "René Cannaò"
3+
url: "/resources/member-directory/people/rene-cannao/"
4+
description: "CEO of ProxySQL and creator of the ProxySQL project."
5+
role: "CEO, ProxySQL"
6+
company: "ProxySQL"
7+
company_url: "/resources/software/proxysql/"
8+
subcategories:
9+
- People
10+
roles:
11+
- Contributor
12+
images:
13+
- photo.jpg
14+
---
15+
16+
René Cannaò is the creator of ProxySQL and CEO of ProxySQL LLC, the company behind the project. He is a database expert specializing in MySQL performance optimization, query routing, and high availability, with years of experience running large-scale MySQL infrastructure before building ProxySQL to solve the connection and traffic-management problems he saw firsthand.
17+
18+
**Connect:** [LinkedIn](https://www.linkedin.com/in/renecannao/)
8.75 KB
Loading

‎layouts/community/webinars/single.html‎

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
{{ define "main" }}
2+
{{/* .Params.images (the banner) is deliberately not rendered on the page —
3+
it's kept only as the OG/social-share image (see head.html), since a
4+
full-width banner reads as too heavy inline. Speaker photos take its
5+
place here instead. */}}
26
{{ $isPast := and (not .Date.IsZero) (.Date.Before now) }}
3-
{{ $imgRes := "" }}
4-
{{ with .Params.images }}
5-
{{ $imgFile := index . 0 }}
6-
{{ $imgRes = $.Resources.Get $imgFile }}
7-
{{ end }}
87

98
{{ $primaryLabel := "" }}
109
{{ $primaryURL := "" }}
@@ -26,13 +25,6 @@
2625
<span>{{ .Title }}</span>
2726
</nav>
2827

29-
{{ with $imgRes }}
30-
{{ $hero := .Fit "1200x627 jpg q85" }}
31-
<div class="webinar-hero-image-wrap">
32-
<img src="{{ $hero.RelPermalink }}" alt="" class="webinar-hero-image" width="{{ $hero.Width }}" height="{{ $hero.Height }}">
33-
</div>
34-
{{ end }}
35-
3628
<header class="webinar-header">
3729
<div class="webinar-meta-row">
3830
<span class="webinar-meta-badge">Webinar</span>
@@ -43,17 +35,26 @@
4335
<h1>{{ .Title }}</h1>
4436

4537
{{ with .Params.speakers }}
38+
{{ $page := $ }}
4639
<ul class="webinar-speakers">
4740
{{ range . }}
4841
<li class="webinar-speaker">
49-
{{ if .profile }}
50-
<a href="{{ .profile }}" class="webinar-speaker-name">{{ .name }}</a>
51-
{{ else if .linkedin }}
52-
<a href="{{ .linkedin }}" class="webinar-speaker-name" target="_blank" rel="noopener">{{ .name }}</a>
53-
{{ else }}
54-
<span class="webinar-speaker-name">{{ .name }}</span>
42+
{{ $photoRes := "" }}
43+
{{ with .photo }}{{ $photoRes = $page.Resources.Get . }}{{ end }}
44+
{{ with $photoRes }}
45+
{{ $avatar := .Fill "96x96 jpg q85" }}
46+
<img src="{{ $avatar.RelPermalink }}" alt="" class="webinar-speaker-photo" width="96" height="96" loading="lazy">
5547
{{ end }}
56-
{{ with .role }}<span class="webinar-speaker-role">{{ . }}</span>{{ end }}
48+
<div class="webinar-speaker-info">
49+
{{ if .profile }}
50+
<a href="{{ .profile }}" class="webinar-speaker-name">{{ .name }}</a>
51+
{{ else if .linkedin }}
52+
<a href="{{ .linkedin }}" class="webinar-speaker-name" target="_blank" rel="noopener">{{ .name }}</a>
53+
{{ else }}
54+
<span class="webinar-speaker-name">{{ .name }}</span>
55+
{{ end }}
56+
{{ with .role }}<span class="webinar-speaker-role">{{ . }}</span>{{ end }}
57+
</div>
5758
</li>
5859
{{ end }}
5960
</ul>

0 commit comments

Comments
 (0)