Skip to content

Commit a2182cb

Browse files
committed
Website template added
1 parent d233ebd commit a2182cb

28 files changed

Lines changed: 1631 additions & 0 deletions
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
name: "👋 Get Involved"
2+
description: "Introduce yourself and tell us how you'd like to contribute to OurSQL Foundation."
3+
title: "Get Involved: [Your Name / Organization]"
4+
labels: ["get-involved"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
## Welcome to OurSQL Foundation 👋
10+
11+
Thanks for your interest in getting involved! This form helps us understand who you are and how we can work together. There are no wrong answers — every kind of participation matters.
12+
13+
Fill in as much or as little as you're comfortable sharing. We'll follow up in this issue.
14+
15+
- type: dropdown
16+
id: role
17+
attributes:
18+
label: "Who are you?"
19+
description: "Pick the description that fits best."
20+
options:
21+
- Developer / Software Engineer
22+
- Database Administrator (DBA)
23+
- DevOps / SRE / Platform Engineer
24+
- Architect / Tech Lead
25+
- Engineering Manager / CTO
26+
- Researcher / Academic
27+
- Open Source Maintainer
28+
- Company / Organization representative
29+
- Other
30+
validations:
31+
required: true
32+
33+
- type: checkboxes
34+
id: participation
35+
attributes:
36+
label: "How would you like to participate?"
37+
description: "Check everything that interests you — you can always change your mind later."
38+
options:
39+
- label: "Contributing code or technical work"
40+
- label: "Testing and quality assurance"
41+
- label: "Writing documentation or blog posts"
42+
- label: "Community building and outreach"
43+
- label: "Advocating for open source MySQL licensing"
44+
- label: "Representing my company or organization"
45+
- label: "Sponsoring or funding foundation work"
46+
- label: "Participating in governance discussions"
47+
- label: "Just staying informed for now"
48+
49+
- type: textarea
50+
id: background
51+
attributes:
52+
label: "Tell us a bit about yourself"
53+
description: "What do you work on? What's your history with MySQL-compatible databases?"
54+
placeholder: "I've been running MySQL in production for X years, currently working on..."
55+
validations:
56+
required: false
57+
58+
- type: textarea
59+
id: interest
60+
attributes:
61+
label: "What brought you here?"
62+
description: "What problem or opportunity made you interested in OurSQL Foundation?"
63+
placeholder: "I care about this because..."
64+
validations:
65+
required: false
66+
67+
- type: input
68+
id: organization
69+
attributes:
70+
label: "Organization (optional)"
71+
description: "Company, project, or community you represent or want to mention."
72+
placeholder: "Acme Corp / my-oss-project / independent"
73+
validations:
74+
required: false
75+
76+
- type: input
77+
id: links
78+
attributes:
79+
label: "Links (optional)"
80+
description: "GitHub profile, LinkedIn, personal site — whatever you'd like to share."
81+
placeholder: "https://github.com/yourhandle"
82+
validations:
83+
required: false
84+
85+
- type: markdown
86+
attributes:
87+
value: |
88+
---
89+
By submitting this issue, your name and any information you provide will be publicly visible on GitHub. Only share what you're comfortable making public.
90+
91+
We'll respond in this thread. You can also reach us at [hello@oursql.org](mailto:hello@oursql.org).

‎.github/workflows/deploy.yml‎

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [main]
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: read
10+
pages: write
11+
id-token: write
12+
13+
concurrency:
14+
group: "pages"
15+
cancel-in-progress: false
16+
17+
defaults:
18+
run:
19+
shell: bash
20+
21+
jobs:
22+
build:
23+
runs-on: ubuntu-latest
24+
steps:
25+
- name: Checkout
26+
uses: actions/checkout@v4
27+
28+
- name: Setup Hugo
29+
uses: peaceiris/actions-hugo@v3
30+
with:
31+
hugo-version: "0.154.5"
32+
extended: true
33+
34+
- name: Setup Pages
35+
id: pages
36+
uses: actions/configure-pages@v5
37+
38+
- name: Build
39+
run: hugo --minify --baseURL "${{ steps.pages.outputs.base_url }}/"
40+
41+
- name: Upload artifact
42+
uses: actions/upload-pages-artifact@v3
43+
with:
44+
path: ./public
45+
46+
deploy:
47+
environment:
48+
name: github-pages
49+
url: ${{ steps.deployment.outputs.page_url }}
50+
runs-on: ubuntu-latest
51+
needs: build
52+
steps:
53+
- name: Deploy to GitHub Pages
54+
id: deployment
55+
uses: actions/deploy-pages@v4

‎.gitignore‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
.claude
2+
public/
3+
resources/
4+
.hugo_build.lock
5+
.DS_Store

‎archetypes/default.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
+++
2+
date = '{{ .Date }}'
3+
draft = true
4+
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
5+
+++

‎assets/scss/_blog.scss‎

Lines changed: 236 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,236 @@
1+
.blog-header {
2+
padding: 140px 2rem 60px;
3+
text-align: center;
4+
border-bottom: 1px solid $dark-border;
5+
6+
p {
7+
color: $muted;
8+
max-width: 500px;
9+
margin: 0 auto;
10+
}
11+
}
12+
13+
.blog-grid {
14+
display: grid;
15+
grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
16+
gap: 1.5rem;
17+
padding: 4rem 2rem;
18+
max-width: $container-max;
19+
margin: 0 auto;
20+
}
21+
22+
.post-card {
23+
background: $dark-card;
24+
border: 1px solid $dark-border;
25+
border-radius: 12px;
26+
overflow: hidden;
27+
text-decoration: none;
28+
display: flex;
29+
flex-direction: column;
30+
transition: border-color 0.2s ease, transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
31+
32+
&:hover {
33+
border-color: rgba($accent, 0.35);
34+
background: lighten($dark-card, 3%);
35+
transform: translateY(-3px);
36+
box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba($accent, 0.08);
37+
38+
.post-card-title {
39+
color: $accent;
40+
}
41+
}
42+
43+
.post-card-body {
44+
padding: 1.75rem;
45+
flex: 1;
46+
display: flex;
47+
flex-direction: column;
48+
}
49+
50+
.post-card-tag {
51+
font-size: 0.7rem;
52+
font-weight: 600;
53+
letter-spacing: 0.1em;
54+
text-transform: uppercase;
55+
color: $accent;
56+
margin-bottom: 0.75rem;
57+
display: block;
58+
}
59+
60+
.post-card-title {
61+
font-size: 1.125rem;
62+
font-weight: 700;
63+
color: $white;
64+
margin-bottom: 0.75rem;
65+
line-height: 1.35;
66+
transition: color 0.2s ease;
67+
}
68+
69+
.post-card-excerpt {
70+
font-size: 0.9rem;
71+
color: $muted;
72+
line-height: 1.65;
73+
flex: 1;
74+
margin-bottom: 1.5rem;
75+
}
76+
77+
.post-card-meta {
78+
display: flex;
79+
align-items: center;
80+
gap: 0.75rem;
81+
font-size: 0.8125rem;
82+
color: darken($muted, 10%);
83+
padding-top: 1.25rem;
84+
border-top: 1px solid $dark-border;
85+
86+
.post-author {
87+
color: $muted;
88+
}
89+
90+
.dot {
91+
width: 3px;
92+
height: 3px;
93+
border-radius: 50%;
94+
background: $dark-border;
95+
flex-shrink: 0;
96+
}
97+
}
98+
}
99+
100+
// Single post
101+
.post-layout {
102+
display: grid;
103+
grid-template-columns: 1fr #{"min(700px, 100%)"} 1fr;
104+
padding: 120px 0 80px;
105+
106+
& > * {
107+
grid-column: 2;
108+
}
109+
110+
.post-header {
111+
margin-bottom: 3rem;
112+
padding-bottom: 2rem;
113+
border-bottom: 1px solid $dark-border;
114+
115+
.post-tags {
116+
display: flex;
117+
gap: 0.5rem;
118+
flex-wrap: wrap;
119+
margin-bottom: 1.25rem;
120+
121+
.tag {
122+
font-size: 0.7rem;
123+
font-weight: 600;
124+
letter-spacing: 0.08em;
125+
text-transform: uppercase;
126+
color: $accent;
127+
background: $accent-glow;
128+
border: 1px solid rgba($accent, 0.2);
129+
padding: 0.25rem 0.625rem;
130+
border-radius: 100px;
131+
}
132+
}
133+
134+
h1 {
135+
margin-bottom: 1.25rem;
136+
}
137+
138+
.post-meta {
139+
display: flex;
140+
align-items: center;
141+
gap: 1rem;
142+
font-size: 0.875rem;
143+
color: $muted;
144+
flex-wrap: wrap;
145+
146+
.post-author {
147+
color: $off-white;
148+
font-weight: 500;
149+
}
150+
}
151+
}
152+
153+
.post-content {
154+
h2 {
155+
font-size: 1.625rem;
156+
margin: 2.5rem 0 1rem;
157+
padding-bottom: 0.5rem;
158+
border-bottom: 1px solid $dark-border;
159+
}
160+
161+
h3 {
162+
font-size: 1.25rem;
163+
margin: 2rem 0 0.75rem;
164+
color: $off-white;
165+
}
166+
167+
ul, ol {
168+
padding-left: 1.5rem;
169+
margin-bottom: 1.25rem;
170+
171+
li {
172+
margin-bottom: 0.4rem;
173+
color: $off-white;
174+
}
175+
}
176+
177+
a {
178+
text-decoration: underline;
179+
text-decoration-color: rgba($accent, 0.4);
180+
text-underline-offset: 2px;
181+
182+
&:hover {
183+
text-decoration-color: $accent;
184+
}
185+
}
186+
187+
hr {
188+
border: none;
189+
border-top: 1px solid $dark-border;
190+
margin: 2.5rem 0;
191+
}
192+
193+
.post-hero-image {
194+
width: 100%;
195+
border-radius: 10px;
196+
margin-bottom: 2.5rem;
197+
border: 1px solid $dark-border;
198+
display: block;
199+
}
200+
}
201+
202+
.post-footer {
203+
margin-top: 3rem;
204+
padding-top: 2rem;
205+
border-top: 1px solid $dark-border;
206+
207+
.back-link {
208+
color: $muted;
209+
font-size: 0.9rem;
210+
display: inline-flex;
211+
align-items: center;
212+
gap: 0.4rem;
213+
text-decoration: none;
214+
215+
&:hover {
216+
color: $accent;
217+
}
218+
}
219+
}
220+
}
221+
222+
@media (max-width: $break-md) {
223+
.blog-grid {
224+
grid-template-columns: 1fr;
225+
padding: 2rem 1rem;
226+
}
227+
228+
.post-layout {
229+
grid-template-columns: 1fr;
230+
padding: 100px 1.25rem 60px;
231+
232+
& > * {
233+
grid-column: 1;
234+
}
235+
}
236+
}

0 commit comments

Comments
 (0)