Skip to content

Commit 2a5ce62

Browse files
authored
Merge pull request #21 from Mazizova/blog-launch-oursql-universe
Publish the first blog post and add author-card support
2 parents 888e1c6 + c1b9014 commit 2a5ce62

9 files changed

Lines changed: 369 additions & 6 deletions

File tree

‎RESOURCES.md‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,19 @@ date: 2026-05-27
142142
source: "Publication Name"
143143
```
144144

145+
**`content/resources/member-directory/`** (leaf bundle with photo) — subcategories: Members · Sponsors · Partners · Adopters · People · Awards. Every entry needs a `url` override so its address stays under `/resources/member-directory/<subcategory-slug>/`, not the flat content path:
146+
```yaml
147+
---
148+
title: "Full Name"
149+
url: "/resources/member-directory/people/full-name/" # subcategory-slug matches the subcategories value, lowercased
150+
description: "One line — role, company."
151+
role: "Job title, Company · other affiliation" # optional, shown on the profile and any author card
152+
subcategories: ["People"]
153+
images:
154+
- photo.jpg
155+
---
156+
```
157+
145158
> Slashes ("/") aren't safe inside a facet value — Hugo treats them as URL path separators and breaks the filter link. Use "&" or "," instead (e.g. "Slack, Discord & IRC", not "Slack / Discord / IRC").
146159

147160
---

‎assets/scss/_blog.scss‎

Lines changed: 134 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
}
2121

2222
.post-card {
23+
position: relative;
2324
background: $dark-card;
2425
border: 1px solid $dark-border;
2526
border-radius: 12px;
@@ -29,6 +30,12 @@
2930
flex-direction: column;
3031
transition: border-color 0.2s ease, transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
3132

33+
.post-card-link-overlay {
34+
position: absolute;
35+
inset: 0;
36+
z-index: 1;
37+
}
38+
3239
&:hover {
3340
border-color: rgba($accent, 0.35);
3441
background: lighten($dark-card, 3%);
@@ -38,6 +45,25 @@
3845
.post-card-title {
3946
color: $accent;
4047
}
48+
49+
.post-card-image {
50+
transform: scale(1.03);
51+
}
52+
}
53+
54+
.post-card-image-wrap {
55+
display: block;
56+
overflow: hidden;
57+
border-bottom: 1px solid $dark-border;
58+
background: $dark-surface;
59+
}
60+
61+
.post-card-image {
62+
display: block;
63+
width: 100%;
64+
aspect-ratio: 16 / 9;
65+
object-fit: cover;
66+
transition: transform 0.3s ease;
4167
}
4268

4369
.post-card-body {
@@ -85,6 +111,16 @@
85111

86112
.post-author {
87113
color: $muted;
114+
115+
&.post-author--link {
116+
position: relative;
117+
z-index: 2;
118+
text-decoration: none;
119+
120+
&:hover {
121+
color: $accent;
122+
}
123+
}
88124
}
89125

90126
.dot {
@@ -138,14 +174,28 @@
138174
.post-meta {
139175
display: flex;
140176
align-items: center;
141-
gap: 1rem;
177+
gap: 0.625rem;
142178
font-size: 0.875rem;
143179
color: $muted;
144180
flex-wrap: wrap;
145181

146182
.post-author {
147183
color: $off-white;
148184
font-weight: 500;
185+
text-decoration: none;
186+
187+
&[href]:hover {
188+
color: $accent;
189+
}
190+
}
191+
192+
.dot {
193+
width: 3px;
194+
height: 3px;
195+
border-radius: 50%;
196+
background: $dark-border;
197+
flex-shrink: 0;
198+
display: inline-block;
149199
}
150200
}
151201
}
@@ -199,6 +249,79 @@
199249
}
200250
}
201251

252+
.author-card {
253+
display: flex;
254+
align-items: flex-start;
255+
gap: 1.25rem;
256+
margin-top: 3rem;
257+
padding: 1.75rem;
258+
background: $dark-card;
259+
border: 1px solid $dark-border;
260+
border-radius: 14px;
261+
text-decoration: none;
262+
transition: border-color 0.2s ease, transform 0.2s ease;
263+
264+
&:hover {
265+
border-color: rgba($accent, 0.35);
266+
transform: translateY(-2px);
267+
268+
.author-card-link {
269+
color: $accent;
270+
}
271+
}
272+
}
273+
274+
.author-card-photo {
275+
width: 72px;
276+
height: 72px;
277+
border-radius: 50%;
278+
object-fit: cover;
279+
border: 1px solid $dark-border;
280+
flex-shrink: 0;
281+
}
282+
283+
.author-card-body {
284+
display: flex;
285+
flex-direction: column;
286+
min-width: 0;
287+
}
288+
289+
.author-card-label {
290+
font-size: 0.6875rem;
291+
font-weight: 700;
292+
letter-spacing: 0.08em;
293+
text-transform: uppercase;
294+
color: $muted;
295+
margin-bottom: 0.375rem;
296+
}
297+
298+
.author-card-name {
299+
font-size: 1.0625rem;
300+
font-weight: 700;
301+
color: $off-white;
302+
}
303+
304+
.author-card-role {
305+
font-size: 0.8125rem;
306+
color: $muted;
307+
margin-top: 0.15rem;
308+
}
309+
310+
.author-card-desc {
311+
font-size: 0.875rem;
312+
color: $muted;
313+
line-height: 1.6;
314+
margin: 0.625rem 0 0;
315+
}
316+
317+
.author-card-link {
318+
font-size: 0.8125rem;
319+
font-weight: 500;
320+
color: $accent;
321+
margin-top: 0.875rem;
322+
transition: color 0.2s ease;
323+
}
324+
202325
.post-footer {
203326
margin-top: 3rem;
204327
padding-top: 2rem;
@@ -233,4 +356,14 @@
233356
grid-column: 1;
234357
}
235358
}
359+
360+
.author-card {
361+
padding: 1.25rem;
362+
gap: 1rem;
363+
}
364+
365+
.author-card-photo {
366+
width: 56px;
367+
height: 56px;
368+
}
236369
}

‎assets/scss/_light-theme.scss‎

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -551,4 +551,88 @@
551551

552552
.footer-bottom p { color: #94a3b8; }
553553
}
554+
555+
// Blog
556+
.blog-header {
557+
border-bottom-color: #dde3ed;
558+
p { color: #64748b; }
559+
}
560+
561+
.post-card {
562+
background: #ffffff;
563+
border-color: #dde3ed;
564+
565+
&:hover {
566+
border-color: rgba(0, 200, 255, 0.35);
567+
background: #f8f9fc;
568+
569+
.post-card-title { color: #0272a5; }
570+
}
571+
572+
.post-card-title { color: #0f172a; }
573+
.post-card-excerpt { color: #64748b; }
574+
.post-card-image-wrap {
575+
background: #f1f5f9;
576+
border-bottom-color: #dde3ed;
577+
}
578+
.post-card-meta {
579+
color: #94a3b8;
580+
border-top-color: #dde3ed;
581+
582+
.post-author { color: #334155; }
583+
.dot { background: #dde3ed; }
584+
}
585+
}
586+
587+
.post-layout {
588+
.post-header {
589+
border-bottom-color: #dde3ed;
590+
591+
.post-tags .tag {
592+
background: rgba(0, 200, 255, 0.06);
593+
border-color: rgba(0, 200, 255, 0.2);
594+
}
595+
596+
.post-meta {
597+
color: #64748b;
598+
599+
.post-author {
600+
color: #0f172a;
601+
&[href]:hover { color: #0272a5; }
602+
}
603+
604+
.dot { background: #dde3ed; }
605+
}
606+
}
607+
608+
.post-content {
609+
h2, h3 { color: #0f172a; }
610+
h2 { border-bottom-color: #dde3ed; }
611+
li { color: #334155; }
612+
hr { border-top-color: #dde3ed; }
613+
.post-hero-image { border-color: #dde3ed; }
614+
}
615+
616+
.post-footer .back-link {
617+
color: #64748b;
618+
&:hover { color: #0272a5; }
619+
}
620+
}
621+
622+
.author-card {
623+
background: #ffffff;
624+
border-color: #dde3ed;
625+
626+
&:hover {
627+
border-color: rgba(0, 200, 255, 0.35);
628+
.author-card-link { color: #0272a5; }
629+
}
630+
}
631+
632+
.author-card-photo { border-color: #dde3ed; }
633+
.author-card-label { color: #94a3b8; }
634+
.author-card-name { color: #0f172a; }
635+
.author-card-role,
636+
.author-card-desc { color: #64748b; }
637+
.author-card-link { color: #0272a5; }
554638
}
1.22 MB
Loading
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
title: "Introducing the OurSQL Foundation"
3+
description: "Why we created a vendor-neutral home for the MySQL ecosystem — and what we're doing first, from mapping the OurSQL Universe to our first conference booth."
4+
date: 2026-09-02
5+
tags:
6+
- Announcement
7+
author: "Vadim Tkachenko"
8+
author_page: "/resources/member-directory/vadim-tkachenko"
9+
image: "blog1.png"
10+
hero_image: false
11+
---
12+
13+
Earlier this year, we held two MySQL Summits where we discussed concerns that the MySQL ecosystem has stalled and that MySQL is no longer the automatic first choice for new projects.
14+
15+
Despite these concerns, we recognize that MySQL remains widely deployed in production and is still an excellent database for building a business.
16+
17+
We believe this slow growth stems from the lack of a neutral party to represent the diverse players in the MySQL ecosystem. MySQL is controlled by Oracle Corporation, which pursues its own commercial interests and does not necessarily account for the needs of other vendors.
18+
19+
That is why we created the OurSQL Foundation: to represent the interests of the broader MySQL ecosystem.
20+
21+
## What the Foundation is
22+
23+
**Independent.** Not owned, controlled, or governed by any single vendor.
24+
25+
**Vendor-neutral.** Open to everyone working on or with MySQL: users, providers, consultants, distributions.
26+
27+
**Non-profit.** Organized as a 501(c)(6) trade association representing the broad MySQL community.
28+
29+
**Community-led.** Governed by a founding board drawn from across the ecosystem.
30+
31+
## Our mission
32+
33+
The Foundation exists to serve individuals and organizations engaged in or supporting the *development, deployment, and sustainability of open source, MySQL-compatible database technologies in a vendor-neutral ecosystem.*
34+
35+
## We view MySQL like Linux
36+
37+
Just as Linux thrives through a diverse community of distributions and vendors, so too can MySQL. Whether it is Oracle MySQL, Percona, PlanetScale and Vitess, PingCAP and TiDB, VillageSQL, MariaDB, AliSQL, AWS RDS for MySQL, or Google Cloud SQL, we view all of these as vital contributors to the success of MySQL. If your software or service helps MySQL users succeed, you are a part of the MySQL ecosystem.
38+
39+
## Our first step
40+
41+
Our initial focus is to map the ecosystem and increase the visibility of smaller projects. To start, we are building a comprehensive map of the MySQL landscape, which we call the "[OurSQL Universe](/resources/)."
42+
43+
Please help us in this effort and [suggest resources](/resources/contribute/) that might be missing. You can also join our [Slack](https://join.slack.com/t/oursqlfoundation/shared_invite/zt-480k6h62a-t0HalCPwvXUC_lpd4aNylA).
44+
45+
We will also participate in [Percona Live Amsterdam](https://perconalive.com/2026-amsterdam/) on September 9–11 with our first pilot: MySQL Ecosystem Spotlight, where the Foundation shares its booth with smaller projects.
46+
47+
At our first conference booth, we could simply introduce the Foundation. Instead, we want to use this space to highlight smaller MySQL ecosystem projects and give them a chance to meet the conference audience, show demos, answer questions, and explain what they are building.
48+
49+
This is the kind of role we want the Foundation to play: not to replace existing vendors, projects, or communities, but to create more visibility, more connections, and more shared space for the ecosystem as a whole.
50+
51+
If you are building something around MySQL, we want to hear from you. If you know a project, tool, service, event, book, or community that should be easier to find, please suggest it. Let's make that ecosystem visible.
52+
53+
— Vadim Tkachenko, *OurSQL Foundation, President*
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
title: "Vadim Tkachenko"
3+
url: "/resources/member-directory/people/vadim-tkachenko/"
4+
description: "Technology Fellow and Co-Founder of Percona, and President of the OurSQL Foundation."
5+
role: "President, OurSQL Foundation · Technology Fellow & Co-Founder, Percona"
6+
subcategories:
7+
- People
8+
roles:
9+
- Author
10+
- Consultant
11+
recognition:
12+
- OurSQL Contributor
13+
images:
14+
- photo.jpeg
15+
---
16+
17+
Vadim Tkachenko is Technology Fellow and Co-Founder of Percona, a company he co-founded in 2006 to support open source database users. He has spent his career working on database performance, scalability, benchmarking, and technology research across MySQL and other open source database systems. At Percona, he has led research and performance evaluation efforts focused on databases, storage engines, filesystems, and infrastructure design.
18+
19+
Vadim is also widely recognized in the MySQL community as a long-time technical leader and co-author of *High Performance MySQL*. He serves as President of the OurSQL Foundation.
20+
21+
**Connect:** [LinkedIn](https://www.linkedin.com/in/vadimtk/) · [X](https://x.com/VadimTk)
42.1 KB
Loading

0 commit comments

Comments
 (0)