Skip to content

Commit a5aec42

Browse files
robertDurstclaude
andcommitted
polish status page copy and surface links inside cyan blocks
- merge SLO source link into intro, add monitored sites line - exclude status embed from fadeUp animation so it stays centered - underline links inside cyan blocks so they're distinguishable from prose Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent f1e34f9 commit a5aec42

2 files changed

Lines changed: 201 additions & 51 deletions

File tree

docs/status.html.pm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
◊(define-meta title "Status")
44

5-
h2{System Status}
5+
cyan{Live SLOs for our projects, defined in ◊link["https://caffeine-lang.run/"]{Caffeine} (◊link["https://github.com/Brickell-Research/slos"]{source}) and rendered by Datadog.}
66

7-
cyan{We dogfood link["https://caffeine-lang.run/"]{Caffeine} on our own infrastructure. The dashboard below is rendered from SLO definitions written in Caffeine and shipped to Datadog.}
7+
small{Monitored:link["https://brickellresearch.org/"]{brickellresearch.org} · link["https://caffeine-lang.run/"]{caffeine-lang.run} · ◊link["https://dawnpass.brickellresearch.org/"]{dawnpass.brickellresearch.org}}
88

9-
<iframe src="https://p.datadoghq.com/sb/embed/5132f4c8-409d-11ee-9683-da7ad0900002-679fca999eae93e17c4c020056700d2e" title="Dashboard Name" width="800" height="800"></iframe>
9+
◊datadog-embed["https://p.datadoghq.com/sb/embed/5132f4c8-409d-11ee-9683-da7ad0900002-679fca999eae93e17c4c020056700d2e"]

docs/styles.css

Lines changed: 198 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
* { margin: 0; padding: 0; box-sizing: border-box; }
1+
* {
2+
margin: 0;
3+
padding: 0;
4+
box-sizing: border-box;
5+
}
26

37
body {
48
background-color: #000000;
@@ -10,24 +14,58 @@ body {
1014
padding: 2rem;
1115
}
1216

13-
a { color: #00CED1; text-decoration: none; }
14-
a:hover { text-decoration: underline; }
15-
a:focus-visible { outline: 2px solid #00CED1; outline-offset: 2px; border-radius: 2px; }
17+
a {
18+
color: #00CED1;
19+
text-decoration: none;
20+
}
21+
22+
a:hover {
23+
text-decoration: underline;
24+
}
1625

17-
::selection { background: #FF1493; color: #000000; }
26+
a:focus-visible {
27+
outline: 2px solid #00CED1;
28+
outline-offset: 2px;
29+
border-radius: 2px;
30+
}
1831

19-
h1, h2, h3, h4, h5, h6 {
32+
::selection {
33+
background: #FF1493;
34+
color: #000000;
35+
}
36+
37+
h1,
38+
h2,
39+
h3,
40+
h4,
41+
h5,
42+
h6 {
2043
color: #FF1493;
2144
font-family: 'JetBrains Mono', monospace;
2245
}
2346

24-
h1 { font-size: 2em; margin-bottom: 0; }
25-
h1 a { color: #FF1493; }
26-
h1 a:hover { text-decoration: none; }
47+
h1 {
48+
font-size: 2em;
49+
margin-bottom: 0;
50+
}
2751

28-
h2 { font-size: 1.4em; margin-top: 1.8rem; margin-bottom: 0.6em; }
52+
h1 a {
53+
color: #FF1493;
54+
}
2955

30-
header { margin-bottom: 1.2rem; }
56+
h1 a:hover {
57+
text-decoration: none;
58+
}
59+
60+
h2 {
61+
font-size: 1.4em;
62+
margin-top: 1.8rem;
63+
margin-bottom: 0.6em;
64+
}
65+
66+
header {
67+
margin-bottom: 1.2rem;
68+
}
3169

3270
.logo {
3371
float: right;
@@ -43,15 +81,46 @@ header { margin-bottom: 1.2rem; }
4381
}
4482

4583

46-
main p { margin-bottom: 1em; }
84+
main p {
85+
margin-bottom: 1em;
86+
}
87+
88+
.cyan {
89+
color: #00CED1;
90+
}
91+
92+
.cyan a {
93+
text-decoration: underline;
94+
text-decoration-color: rgba(0, 206, 209, 0.4);
95+
text-underline-offset: 3px;
96+
}
97+
98+
.cyan a:hover {
99+
text-decoration-color: #00CED1;
100+
}
101+
102+
.pink {
103+
color: #FF1493;
104+
}
47105

48-
.cyan { color: #00CED1; }
49-
.pink { color: #FF1493; }
50-
.small { font-size: 0.8em; color: #757f8a; }
51-
.blurb { font-size: 0.88em; color: #8892a0; }
106+
.small {
107+
font-size: 0.8em;
108+
color: #757f8a;
109+
}
52110

53-
ul { margin-left: 1.5em; margin-bottom: 1em; }
54-
li { margin-bottom: 0.8em; }
111+
.blurb {
112+
font-size: 0.88em;
113+
color: #8892a0;
114+
}
115+
116+
ul {
117+
margin-left: 1.5em;
118+
margin-bottom: 1em;
119+
}
120+
121+
li {
122+
margin-bottom: 0.8em;
123+
}
55124

56125
.project {
57126
background: #0a0a14;
@@ -69,19 +138,31 @@ li { margin-bottom: 0.8em; }
69138
border-radius: 8px;
70139
}
71140

72-
.project h3 { margin-bottom: 0.5rem; }
73-
.project h3 a { color: #E0FFFF; }
74-
.project h3 a:hover { color: #00CED1; }
141+
.project h3 {
142+
margin-bottom: 0.5rem;
143+
}
144+
145+
.project h3 a {
146+
color: #E0FFFF;
147+
}
75148

76-
.project-desc { margin-bottom: 0.8rem; }
149+
.project h3 a:hover {
150+
color: #00CED1;
151+
}
152+
153+
.project-desc {
154+
margin-bottom: 0.8rem;
155+
}
77156

78157
.project-status {
79158
font-size: 0.9em;
80159
color: #8892a0;
81160
margin-bottom: 0;
82161
}
83162

84-
.project-status em { color: #00CED1; }
163+
.project-status em {
164+
color: #00CED1;
165+
}
85166

86167

87168
.status-embed {
@@ -99,12 +180,14 @@ li { margin-bottom: 0.8em; }
99180
.status-embed iframe {
100181
display: block;
101182
width: 100%;
102-
height: 800px;
183+
height: 600px;
103184
border: 0;
104185
}
105186

106187
@media (max-width: 600px) {
107-
.status-embed iframe { height: 600px; }
188+
.status-embed iframe {
189+
height: 600px;
190+
}
108191
}
109192

110193
.manifesto-comment {
@@ -127,29 +210,78 @@ li { margin-bottom: 0.8em; }
127210

128211
/* Subtle entrance animation */
129212
@keyframes fadeUp {
130-
from { opacity: 0; transform: translateY(6px); }
131-
to { opacity: 1; transform: translateY(0); }
213+
from {
214+
opacity: 0;
215+
transform: translateY(6px);
216+
}
217+
218+
to {
219+
opacity: 1;
220+
transform: translateY(0);
221+
}
132222
}
133223

134-
header, main > div > *, footer {
224+
header,
225+
main>div>*:not(.status-embed),
226+
footer {
135227
animation: fadeUp 0.4s ease both;
136228
}
137229

138-
header { animation-delay: 0s; }
139-
main > div > *:nth-child(1) { animation-delay: 0.04s; }
140-
main > div > *:nth-child(2) { animation-delay: 0.08s; }
141-
main > div > *:nth-child(3) { animation-delay: 0.12s; }
142-
main > div > *:nth-child(4) { animation-delay: 0.16s; }
143-
main > div > *:nth-child(5) { animation-delay: 0.2s; }
144-
main > div > *:nth-child(6) { animation-delay: 0.24s; }
145-
main > div > *:nth-child(7) { animation-delay: 0.28s; }
146-
main > div > *:nth-child(8) { animation-delay: 0.32s; }
147-
main > div > *:nth-child(9) { animation-delay: 0.36s; }
148-
main > div > *:nth-child(10) { animation-delay: 0.4s; }
149-
footer { animation-delay: 0.45s; }
230+
header {
231+
animation-delay: 0s;
232+
}
233+
234+
main>div>*:nth-child(1) {
235+
animation-delay: 0.04s;
236+
}
237+
238+
main>div>*:nth-child(2) {
239+
animation-delay: 0.08s;
240+
}
241+
242+
main>div>*:nth-child(3) {
243+
animation-delay: 0.12s;
244+
}
245+
246+
main>div>*:nth-child(4) {
247+
animation-delay: 0.16s;
248+
}
249+
250+
main>div>*:nth-child(5) {
251+
animation-delay: 0.2s;
252+
}
253+
254+
main>div>*:nth-child(6) {
255+
animation-delay: 0.24s;
256+
}
257+
258+
main>div>*:nth-child(7) {
259+
animation-delay: 0.28s;
260+
}
261+
262+
main>div>*:nth-child(8) {
263+
animation-delay: 0.32s;
264+
}
265+
266+
main>div>*:nth-child(9) {
267+
animation-delay: 0.36s;
268+
}
269+
270+
main>div>*:nth-child(10) {
271+
animation-delay: 0.4s;
272+
}
273+
274+
footer {
275+
animation-delay: 0.45s;
276+
}
150277

151278
@media (prefers-reduced-motion: reduce) {
152-
header, main > div > *, footer { animation: none; }
279+
280+
header,
281+
main>div>*,
282+
footer {
283+
animation: none;
284+
}
153285
}
154286

155287
footer {
@@ -164,10 +296,28 @@ footer {
164296

165297
/* Mobile responsive */
166298
@media (max-width: 600px) {
167-
body { padding: 1.2rem; }
168-
h1 { font-size: 1.5em; }
169-
.logo { width: 80px; }
170-
.tagline { font-size: 1.1em; }
171-
.project { padding: 1rem; }
172-
.project-logo { width: 40px; height: 40px; }
173-
}
299+
body {
300+
padding: 1.2rem;
301+
}
302+
303+
h1 {
304+
font-size: 1.5em;
305+
}
306+
307+
.logo {
308+
width: 80px;
309+
}
310+
311+
.tagline {
312+
font-size: 1.1em;
313+
}
314+
315+
.project {
316+
padding: 1rem;
317+
}
318+
319+
.project-logo {
320+
width: 40px;
321+
height: 40px;
322+
}
323+
}

0 commit comments

Comments
 (0)