Skip to content

Commit 9b20cad

Browse files
committed
refactor project and talk entries in index.html, enhance styles for project cards and talks, and update footer text in template.html
1 parent 4f0683d commit 9b20cad

4 files changed

Lines changed: 100 additions & 14 deletions

File tree

docs/index.html.pm

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,31 +6,26 @@
66

77
◊h2{Projects}
88

9-
◊ul{
10-
◊li{
11-
link["https://caffeine-lang.run/"]{Caffeine}: a programming language for generating reliability artifacts (i.e. executable Terraform for SLOs) from service expectation definitions. Grounded in assume/guarantee contracts and a hint of category theory, Caffeine helps developers and AI agents become system thinkers, asserting reasonable construction at design time and in production. Written in Gleam ❤️.
12-
◊pink{Status:} ◊em{Active Development}
13-
}
14-
}
9+
◊project["https://caffeine-lang.run/" "Caffeine" "Active Development" "https://caffeine-lang.run/images/temp_caffeine_icon.png"]{A programming language for generating reliability artifacts from service expectation definitions. Grounded in assume/guarantee contracts, Caffeine helps developers and AI agents assert reasonable system construction at design time ◊em{and} in production.}
1510

1611
◊h2{Speaking}
1712

1813
◊ul{
1914
◊li{
2015
◊em{Mama Look, I Compiled SLOs!}
21-
October 8, 2025 | Dublin, Ireland 🇮🇪
16+
◊small{October 8, 2025 | Dublin, Ireland 🇮🇪}
2217
◊pink{Event:} ◊link["https://www.usenix.org/conference/srecon25emea/program"]{SRECon EMEA '25 - Lightning Talks}
2318
◊pink{Media:} ◊link["slides/srecon-emea-25.pdf"]{Slides}
2419
}
2520
◊li{
2621
◊em{10,000 Lines Later: When a Tool Became a Compiler}
27-
February 12, 2026 | Salt Lake City, Utah, USA 🇺🇸
22+
◊small{February 12, 2026 | Salt Lake City, Utah, USA 🇺🇸}
2823
◊pink{Event:} ◊link["https://www-old.cs.utah.edu/plt/"]{University of Utah PLT Department Lecture}
2924
◊pink{Media:} ◊link["slides/u-of-u-plt-lecture-26.pdf"]{Slides}
3025
}
3126
◊li{
32-
◊em{10,000 Lines Later: When a Tool Became a Compiler (and I Became a Gleamlin)}
33-
February 21, 2026 | Bristol, UK 🇬🇧
27+
◊em{10,000 Lines Later: When a Tool Became a Compiler (and I Became a Gleamlin)}
28+
◊small{February 21, 2026 | Bristol, UK 🇬🇧}
3429
◊pink{Event:} ◊link["https://gleamgathering.com/"]{Gleam Gathering '26}
3530
◊pink{Media:} ◊link["slides/gleam-gathering-26.pdf"]{Slides}
3631
}

docs/pollen.rkt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,27 @@
2626
(define (li . text)
2727
`(li ,@text))
2828

29+
;; Small/muted text
30+
(define (small . text)
31+
`(span ((class "small")) ,@text))
32+
2933
;; Link helper
3034
(define (link url . text)
3135
`(a ((href ,url)) ,@text))
36+
37+
;; Project card
38+
(define (project url name status img . description)
39+
`(div ((class "project"))
40+
(img ((src ,img) (alt ,name) (class "project-logo")))
41+
(h3 (a ((href ,url)) ,name))
42+
(p ((class "project-desc")) ,@description)
43+
(p ((class "project-status")) (span ((class "pink")) "Status: ") (em ,status) " · Written in " (a ((href "https://gleam.run/")) "Gleam"))))
44+
45+
;; Talk entry
46+
(define (talk event-url event-name date slides-url . title)
47+
`(div ((class "talk"))
48+
(div ((class "talk-header"))
49+
(a ((href ,event-url) (class "talk-venue")) ,event-name)
50+
(span ((class "talk-date")) ,date))
51+
(p ((class "talk-title")) ,@title)
52+
(p ((class "talk-media")) (a ((href ,slides-url)) "Slides \u2197"))))

docs/styles.css

Lines changed: 73 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ body {
77
line-height: 1.6;
88
max-width: 42rem;
99
margin: 0 auto;
10-
padding: 3rem 2rem;
10+
padding: 2rem;
1111
}
1212

1313
a { color: #00CED1; text-decoration: none; }
@@ -22,9 +22,9 @@ h1 { font-size: 2em; margin-bottom: 0; }
2222
h1 a { color: #FF1493; }
2323
h1 a:hover { text-decoration: none; }
2424

25-
h2 { font-size: 1.4em; margin-top: 3rem; margin-bottom: 0.8em; }
25+
h2 { font-size: 1.4em; margin-top: 1.8rem; margin-bottom: 0.6em; }
2626

27-
header { margin-bottom: 2rem; }
27+
header { margin-bottom: 1.2rem; }
2828

2929
.logo {
3030
float: right;
@@ -50,10 +50,80 @@ main p { margin-bottom: 1em; }
5050

5151
.cyan { color: #00CED1; }
5252
.pink { color: #FF1493; }
53+
.small { font-size: 0.8em; color: #6a7580; }
5354

5455
ul { margin-left: 1.5em; margin-bottom: 1em; }
5556
li { margin-bottom: 0.8em; }
5657

58+
.project {
59+
background: #0a0a14;
60+
border: 1px solid #1a1a2e;
61+
border-radius: 8px;
62+
padding: 1.5rem;
63+
margin-bottom: 1.5rem;
64+
}
65+
66+
.project-logo {
67+
float: right;
68+
width: 56px;
69+
height: 56px;
70+
margin: 0 0 0.5rem 1rem;
71+
border-radius: 8px;
72+
}
73+
74+
.project h3 { margin-bottom: 0.5rem; }
75+
.project h3 a { color: #E0FFFF; }
76+
.project h3 a:hover { color: #00CED1; }
77+
78+
.project-desc { margin-bottom: 0.8rem; }
79+
80+
.project-status {
81+
font-size: 0.9em;
82+
color: #8892a0;
83+
margin-bottom: 0;
84+
}
85+
86+
.project-status em { color: #00CED1; }
87+
88+
.talk {
89+
padding: 0.8rem 0;
90+
border-bottom: 1px solid #1a1a2e;
91+
}
92+
93+
.talk:last-of-type { border-bottom: none; }
94+
95+
.talk-header {
96+
display: flex;
97+
justify-content: space-between;
98+
align-items: baseline;
99+
flex-wrap: wrap;
100+
gap: 0.5rem;
101+
margin-bottom: 0.1rem;
102+
}
103+
104+
.talk-venue {
105+
font-family: 'JetBrains Mono', monospace;
106+
font-weight: 600;
107+
font-size: 0.95em;
108+
color: #E0FFFF !important;
109+
}
110+
111+
.talk-venue:hover { color: #00CED1 !important; }
112+
113+
.talk-date {
114+
font-size: 0.85em;
115+
color: #6a7580;
116+
}
117+
118+
.talk-title {
119+
font-style: italic;
120+
margin-bottom: 0.1rem;
121+
}
122+
123+
.talk-media { margin-bottom: 0; }
124+
.talk-media a { font-size: 0.85em; color: #6a7580; }
125+
.talk-media a:hover { color: #00CED1; }
126+
57127
.manifesto-comment {
58128
font-family: 'Monaco', 'Courier New', monospace;
59129
font-size: 0.85em;

docs/template.html.p

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
◊(->html doc)
2323
</main>
2424
<footer>
25-
<p>Proud Gleamlins . Website powered by <a href="https://docs.racket-lang.org/pollen/">Pollen</a></p>
25+
<p>Website powered by <a href="https://docs.racket-lang.org/pollen/">Pollen</a> · Proud Gleamlins</p>
2626
</footer>
2727
</body>
2828
</html>

0 commit comments

Comments
 (0)