Skip to content

Commit 519f3ab

Browse files
feat: update the blog page, add blog post along with blog post styling (#6)
- Update the blog listing page - Update blog post layout. - Add first blog post. The post date has been set to October 29th which is in the future. Jekyll by default doesn't build posts with future dates. To view the blog locally, run ` bundle exec jekyll serve --future` Inline styles are used for now to keep components self-contained. These can be extracted to `assets/css` in a future PR if desired. --------- Co-authored-by: Ian Cook <ianmcook@gmail.com>
1 parent 62d9c9b commit 519f3ab

File tree

4 files changed

+291
-17
lines changed

4 files changed

+291
-17
lines changed

_layouts/blog.html

Lines changed: 136 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,140 @@
22
layout: default
33
---
44

5-
<!-- WIP Structure, change this as needed -->
6-
<div>{{ page.date }}</div>
7-
<div>{{ page.title }}</div>
8-
<div>{{ page.author }}</div>
5+
<article class="blog-post">
6+
<header class="post-header">
7+
<time class="post-date">{{ page.date | date: "%B %d, %Y" }}</time>
8+
<h1 class="post-title">{{ page.title }}</h1>
9+
{% if page.author %}
10+
<p class="post-author">{{ page.author }}</p>
11+
{% endif %}
12+
</header>
13+
14+
<div class="post-content">
15+
{{ content }}
16+
</div>
17+
18+
<footer class="post-footer">
19+
<a href="/blog.html" class="back-link">← Back to Blog</a>
20+
</footer>
21+
</article>
922

10-
{{ content }}
23+
24+
<style>
25+
.blog-post {
26+
max-width: 800px;
27+
margin: 3rem auto;
28+
padding: 0 2rem;
29+
}
30+
31+
.post-header {
32+
margin-bottom: 3rem;
33+
padding: 0 0 2rem 0;
34+
border-bottom: 1px solid #e5e5e5;
35+
background-color: transparent;
36+
}
37+
38+
.post-date {
39+
display: block;
40+
color: var(--text-primary-color);
41+
opacity: 0.7;
42+
font-size: 0.9rem;
43+
font-weight: 500;
44+
text-transform: uppercase;
45+
letter-spacing: 0.5px;
46+
margin-bottom: 1rem;
47+
}
48+
49+
.post-title {
50+
font-size: 2.5rem;
51+
font-weight: 700;
52+
line-height: 1.2;
53+
margin: 0 0 1rem 0;
54+
color: var(--text-primary-color);
55+
}
56+
57+
.post-author {
58+
color: var(--text-primary-color);
59+
opacity: 0.7;
60+
font-size: 1rem;
61+
margin: 0;
62+
}
63+
64+
.post-content {
65+
font-size: 1.125rem;
66+
line-height: 1.8;
67+
color: var(--text-primary-color);
68+
}
69+
70+
.post-content h2 {
71+
font-size: 1.75rem;
72+
margin-top: 2.5rem;
73+
margin-bottom: 1rem;
74+
font-weight: 600;
75+
}
76+
77+
.post-content h3 {
78+
font-size: 1.4rem;
79+
margin-top: 2rem;
80+
margin-bottom: 0.75rem;
81+
font-weight: 600;
82+
}
83+
84+
.post-content p {
85+
margin-bottom: 1.5rem;
86+
}
87+
88+
.post-content a {
89+
color: var(--link-primary-color);
90+
text-decoration: none;
91+
border-bottom: 1px solid rgba(0, 102, 204, 0.2);
92+
transition: border-color 0.2s;
93+
}
94+
95+
.post-content a:hover {
96+
border-bottom-color: var(--link-primary-color);
97+
}
98+
99+
.post-content code {
100+
background: #f5f5f5;
101+
padding: 0.2em 0.4em;
102+
border-radius: 3px;
103+
font-size: 0.9em;
104+
font-family: monospace;
105+
}
106+
107+
.post-footer {
108+
margin-top: 4rem;
109+
padding: 2rem 0 0 0;
110+
border-top: 1px solid #e5e5e5;
111+
background-color: transparent;
112+
}
113+
114+
.back-link {
115+
color: var(--text-primary-color);
116+
opacity: 0.7;
117+
text-decoration: none;
118+
font-size: 0.95rem;
119+
transition: opacity 0.2s;
120+
}
121+
122+
.back-link:hover {
123+
opacity: 1;
124+
}
125+
126+
/* Responsive */
127+
@media (max-width: 600px) {
128+
.blog-post {
129+
padding: 0 1.5rem;
130+
margin: 2rem auto;
131+
}
132+
133+
.post-title {
134+
font-size: 2rem;
135+
}
136+
137+
.post-content {
138+
font-size: 1rem;
139+
}
140+
}
141+
</style>

_posts/2025-10-13-initial-post.md

Lines changed: 0 additions & 7 deletions
This file was deleted.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
layout: blog
3+
title: Announcing the ADBC Driver Foundry
4+
author: ADBC Drivers Contributors
5+
---
6+
7+
ADBC (Arrow Database Connectivity) is at an inflection point. Launched in 2022 as a subproject of Apache Arrow, ADBC is a modern data connectivity standard built to accelerate and simplify data access for analytics applications. Leading companies including Databricks, dbt Labs, Microsoft, and Snowflake are building with ADBC.
8+
9+
Today, the project is a bustling construction site. The foundations—ADBC’s core specifications and libraries—have solidified. The focus has shifted to building the superstructure: the drivers that connect ADBC to a wide array of databases, query engines, and data platforms. But as driver development has scaled up, there has been little scaffolding to support contributors. Driver work has funneled through the same central repository that houses ADBC’s core components, straining the small group of Apache Arrow maintainers who can review and merge contributions. The result has been slow reviews, mounting frustration, and a mismatch between the centralized privilege model of Apache projects and the inherently federated nature of driver development.
10+
11+
To give current and future driver developers the scaffolding they need, today we’re launching the ADBC Driver Foundry, an open source hub for federated driver development hosted at [github.com/adbc-drivers](http://github.com/adbc-drivers). This effort brings together contributors from [Columnar](https://columnar.tech), [Databricks](https://www.databricks.com), [dbt Labs](https://www.getdbt.com), [Improving](https://www.improving.com), [Microsoft](https://www.microsoft.com/), [Snowflake](https://www.snowflake.com/), and the broader [Apache Arrow](https://arrow.apache.org) developer community. The Foundry strikes a balance between autonomy and shared support, providing a scalable structure that empowers contributors while ensuring consistency across the ecosystem.
12+
13+
For driver developers, the Foundry offers per-project repositories with independently managed commit privileges, along with templates and guides for building new drivers. It also provides shared resources for testing, validation, benchmarking, packaging, distribution, and documentation.
14+
15+
For driver users and downstream developers, nothing changes immediately. In the coming months, as drivers begin to be distributed from the Foundry, we’ll update some package names and class names. Stay tuned for more details in future posts.
16+
17+
With strong foundations—and now strong scaffolding—ADBC is ready for its next stage of growth. To learn more or get involved, visit [adbc-drivers.org](https://adbc-drivers.org) or email us at [hello@adbc-drivers.org](mailto:hello@adbc-drivers.org).

blog.html

Lines changed: 138 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,142 @@
33
title: Blog
44
---
55

6-
{% for post in site.posts %}
7-
<div>
8-
<h3><a href="{{ post.url }}">{{ post.title }}</a></h3>
9-
{{ post.excerpt }}
6+
<div class="blog-index">
7+
<div class="posts-list">
8+
{% for post in site.posts %}
9+
<article class="post-preview">
10+
<time class="post-date">{{ post.date | date: "%B %d, %Y" }}</time>
11+
<h2 class="post-title">
12+
<a href="{{ post.url }}">{{ post.title }}</a>
13+
</h2>
14+
{% if post.author %}
15+
<p class="post-author">{{ post.author }}</p>
16+
{% endif %}
17+
<div class="post-excerpt">
18+
{{ post.excerpt }}
19+
</div>
20+
<a href="{{ post.url }}" class="read-more">Read more →</a>
21+
</article>
22+
{% endfor %}
23+
</div>
1024
</div>
11-
{% endfor %}
25+
26+
<style>
27+
.blog-index {
28+
max-width: 800px;
29+
margin: 0 auto;
30+
padding: 3rem 2rem;
31+
}
32+
33+
.blog-header {
34+
margin-bottom: 4rem;
35+
text-align: center;
36+
padding: 0 !important;
37+
background: transparent !important;
38+
}
39+
40+
.blog-header h1 {
41+
font-size: 3rem;
42+
font-weight: 700;
43+
margin: 0 0 0.5rem 0;
44+
color: var(--text-primary-color);
45+
}
46+
47+
.blog-description {
48+
color: var(--text-primary-color);
49+
opacity: 0.7;
50+
font-size: 1.125rem;
51+
margin: 0;
52+
}
53+
54+
.posts-list {
55+
display: flex;
56+
flex-direction: column;
57+
gap: 3rem;
58+
}
59+
60+
.post-preview {
61+
padding-bottom: 3rem;
62+
border-bottom: 1px solid #e5e5e5;
63+
}
64+
65+
.post-preview:last-child {
66+
border-bottom: none;
67+
}
68+
69+
.post-date {
70+
display: block;
71+
color: var(--text-primary-color);
72+
opacity: 0.7;
73+
font-size: 0.875rem;
74+
font-weight: 500;
75+
text-transform: uppercase;
76+
letter-spacing: 0.5px;
77+
margin-bottom: 0.75rem;
78+
}
79+
80+
.post-title {
81+
font-size: 2rem;
82+
font-weight: 700;
83+
margin: 0 0 0.5rem 0;
84+
line-height: 1.3;
85+
}
86+
87+
.post-title a {
88+
color: var(--text-primary-color);
89+
text-decoration: none;
90+
transition: color 0.2s;
91+
}
92+
93+
.post-title a:hover {
94+
color: var(--link-primary-color);
95+
}
96+
97+
.post-author {
98+
color: var(--text-primary-color);
99+
opacity: 0.7;
100+
font-size: 0.95rem;
101+
margin: 0 0 1rem 0;
102+
}
103+
104+
.post-excerpt {
105+
color: var(--text-primary-color);
106+
opacity: 0.8;
107+
font-size: 1.0625rem;
108+
line-height: 1.7;
109+
margin: 1rem 0;
110+
}
111+
112+
.post-excerpt p {
113+
margin: 0;
114+
}
115+
116+
.read-more {
117+
display: inline-block;
118+
color: var(--link-primary-color);
119+
text-decoration: none;
120+
font-weight: 500;
121+
font-size: 0.95rem;
122+
transition: opacity 0.2s;
123+
opacity: 0.8;
124+
}
125+
126+
.read-more:hover {
127+
opacity: 1;
128+
}
129+
130+
/* Responsive */
131+
@media (max-width: 600px) {
132+
.blog-index {
133+
padding: 2rem 1.5rem;
134+
}
135+
136+
.blog-header h1 {
137+
font-size: 2.25rem;
138+
}
139+
140+
.post-title {
141+
font-size: 1.5rem;
142+
}
143+
}
144+
</style>

0 commit comments

Comments
 (0)