Skip to content

Commit aa15458

Browse files
committed
Add navbar hover
1 parent 79fa40f commit aa15458

10 files changed

Lines changed: 118 additions & 29 deletions

File tree

pages/insights/20251104_release.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,3 @@ title: Introducing CodeClash
22
date: 2025-11-04
33
description: Benchmarking Goal Oriented Software Engineering
44
authors: John Yang, Kilian Lieret
5-
time: TUESDAY, NOVEMBER 4, 2025
6-
7-
---
8-

pages/insights/20251106_elo.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
title: Elo Explained
22
date: 2025-11-06
33
description: How do we rank models' performance in CodeClash?
4-
authors: Kilian Lieret, John Yang
5-
time: THURSDAY, NOVEMBER 6, 2025
6-
7-
---
4+
authors: Kilian Lieret
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
title: Humans & AI [Ep. 1] - Gigachad Strikes
2+
date: 2025-11-08
3+
description: Where does AI rank among human programmers on RobotRumble?
4+
authors: John Yang

static/css/core.css

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
* Design tokens and CSS variables
77
*/
88
:root {
9+
/* Colors */
10+
--gray: #6b7280;
11+
912
/* Layout */
1013
--container-width: 768px;
1114

@@ -49,4 +52,4 @@
4952
justify-content: center;
5053
margin-bottom: 1em;
5154
padding: 2rem;
52-
}
55+
}

static/css/layout.css

Lines changed: 67 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ body {
1010
margin: 0 auto;
1111
}
1212

13-
/* Top Navigation Bar - Layout Only */
13+
/* Top Navigation Bar */
1414
.nav-container {
1515
display: flex;
1616
align-items: center;
@@ -30,6 +30,21 @@ body {
3030
gap: 1rem;
3131
}
3232

33+
.nav-links li {
34+
border-bottom: 2px solid transparent;
35+
transition: opacity 0.3s, border-bottom-color 0.3s;
36+
}
37+
38+
.nav-links li:hover {
39+
opacity: 0.7;
40+
border-bottom-color: currentColor;
41+
}
42+
43+
.nav-links a {
44+
text-decoration: none;
45+
color: inherit;
46+
}
47+
3348
.nav-right {
3449
display: flex;
3550
align-items: center;
@@ -46,7 +61,7 @@ body {
4661
cursor: pointer;
4762
}
4863

49-
/* Leaderboard Table - Layout Only */
64+
/* Leaderboard Table */
5065
.leaderboard-table {
5166
width: 100%;
5267
border-collapse: collapse;
@@ -78,7 +93,38 @@ body {
7893
width: 8rem;
7994
}
8095

81-
/* Arenas grid - layout only */
96+
/* Insights */
97+
.insight-card {
98+
text-decoration: none;
99+
padding-bottom: 1.5em;
100+
color: inherit;
101+
}
102+
103+
.insight-card * {
104+
text-decoration: none;
105+
color: inherit;
106+
}
107+
108+
.insight-card p {
109+
margin: 0.25em 0;
110+
}
111+
112+
.insight-title {
113+
font-weight: var(--weight-semibold);
114+
display: inline;
115+
background: linear-gradient(currentColor 0 0) 0 100% / 0 1px no-repeat;
116+
transition: background-size 0.3s;
117+
}
118+
119+
.insight-card:hover .insight-title {
120+
background-size: 100% 1px;
121+
}
122+
123+
.subtext {
124+
color: var(--gray);
125+
}
126+
127+
/* Arenas grid */
82128
.arenas-container {
83129
padding: 1rem;
84130
}
@@ -105,6 +151,23 @@ body {
105151
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
106152
}
107153

154+
.arena-link {
155+
text-decoration: none;
156+
color: inherit;
157+
}
158+
159+
.arena-title {
160+
background: linear-gradient(currentColor 0 0) 0 100% / 0 1px no-repeat;
161+
transition: background-size 0.3s;
162+
margin: 0 auto;
163+
font-weight: var(--weight-semibold);
164+
font-size: var(--text-md);
165+
}
166+
167+
.arena-link:hover .arena-title {
168+
background-size: 100% 1px;
169+
}
170+
108171
.arena-card img {
109172
height: 50px; /* fixed height */
110173
width: auto; /* keep original aspect ratio */
@@ -122,12 +185,10 @@ body {
122185
.arenas-grid { grid-template-columns: 1fr; }
123186
}
124187

125-
/* Team grid - layout only */
188+
/* Team grid */
126189
.team-grid {
127190
display: grid;
128191
grid-template-columns: repeat(4, 1fr);
129-
/* gap: 1rem; */
130-
/* padding: 1rem; */
131192
}
132193

133194
.team-card {
Lines changed: 25 additions & 0 deletions
Loading

templates/_topnav.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
</div>
88
<div class="nav-right">
99
<ul class="nav-links">
10-
<li><a href="/arenas/">Arenas</a></li>
11-
<li><a href="">Docs</a></li>
12-
<li><a href="/insights/">Insights</a></li>
13-
<li><a href="/team/">Team</a></li>
10+
<a href="/arenas/"><li>Arenas</li></a>
11+
<a href=""><li>Docs</li></a>
12+
<a href="/insights/"><li>Insights</li></a>
13+
<a href="/team/"><li>Team</li></a>
1414
</ul>
1515
</div>
1616
</div>

templates/arena.html

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,11 @@ <h2 style="margin: 0 auto;">
1515
<br>
1616

1717
<div style="text-align: center">
18-
Added {{ page['date-added'] }} &bull; {{ page.players }} Players &bull;
18+
<span class="subtext">Introduced</span> {{ page['date-added'] }}
19+
&bull;
20+
{{ page.players }} <span class="subtext">Players</span>
21+
&bull;
22+
<span class="subtext">Written in</span>
1923
{% for lang in page.language.split(', ') %}
2024
<img
2125
src="/static/images/languages/{{ lang.lower() }}.svg"

templates/arenas.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ <h1>Code Arenas</h1>
88
<div class="arenas-container">
99
<div class="arenas-grid">
1010
{%- for page in pages | sort(attribute='title') %}
11-
<a href="{{ url_for("page", path=page.path) }}">
11+
<a href="{{ url_for("page", path=page.path) }}" class="arena-link">
1212
<div class="arena-card">
1313
<img src="{{ page.logo }}" alt="{{ page.title }}">
14-
<b>{{ page.title }}</b>
15-
<p style="margin: 0.5em auto;width:90%;">{{ page.description }}</p>
14+
<p class="arena-title">{{ page.title }}</p>
15+
<p style="margin: 0.35em 0 0.65em 0;width:90%;">{{ page.description }}</p>
1616
</div>
1717
</a>
1818
{%- endfor %}

templates/insights.html

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,12 @@ <h1>Insights</h1>
66
</div>
77

88
{% for page in pages | sort(attribute='date', reverse=True) %}
9-
<div style="padding-bottom:1.5em;">
9+
<div class="insight-card">
1010
<a href="{{ url_for("page", path=page.path) }}">
11-
<b>{{ page.title }}</b>
12-
</a><br>
13-
<span class="subtext">
14-
{{ page.date }} &bull; {{ page.description }}
15-
</span>
11+
<p class="insight-title">{{ page.title }}</p>
12+
<p><span class="subtext">{{ page.date }}</span> &bull; {{ page.description }}</p>
13+
<p>by {{ page.authors }}</p>
14+
</a>
1615
</div>
1716
{% else %}
1817
No posts yet!

0 commit comments

Comments
 (0)