Skip to content

Commit 62151e0

Browse files
committed
Stylistic changes to events page n home page
1 parent 30770d0 commit 62151e0

5 files changed

Lines changed: 113 additions & 39 deletions

File tree

‎public/images/events/KTS.jpg‎

222 KB
Loading

‎src/data/events.json‎

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
"date": "2026-09-24",
3434
"displayDate": "24 September, 2026",
3535
"displayTime": "9:00 PM–11:00 PM",
36-
"location": "SSB 134 (Tentative)",
36+
"location": "SSB 134",
3737
"description": "A beginner-friendly introduction to neural networks that began with linear and polynomial regression to frame models as learned functions. The session then developed the core building blocks of a neural network like loss functions, weights, biases, and activation functions and showed how forward propagation produces predictions while gradient descent and backpropagation improve the model during training.",
3838
"academicYear": "26-27",
3939
"image": "/images/events/introduction-neural-networks-26-27.jpg",
@@ -85,7 +85,7 @@
8585
"description": "An informal session led by Adithya Rajagopalan on intelligent search algorithms. Starting with breadth-first search and Dijkstra’s algorithm, the session advanced to A*, AO*, optimization techniques, real-world applications, and hands-on demonstrations.",
8686
"academicYear": "26-27",
8787
"image": "/images/events/informals-search-quest-26-27.jpg",
88-
"resourceUrl": null,
88+
"resourceUrl": "https://docs.google.com/presentation/d/1VcTOCiMtqVmoCfil8qKz3RMdSuRCWG0v/edit?usp=share_link&ouid=105107466758785879661&rtpof=true&sd=true",
8989
"status": "published",
9090
"legacyAnchor": null
9191
},
@@ -182,8 +182,18 @@
182182
"location": null,
183183
"description": "A core learning initiative by the AI Club, aimed at strengthening the technical foundation of its members, the Knowledge Transfer Sessions (KTS) were a series of ten summer sessions covering core Machine Learning fundamentals, followed by an introduction to Deep Learning. The program emphasized collaboration, conceptual clarity, and hands-on learning across the ML–DL spectrum.",
184184
"academicYear": "26-27",
185-
"image": null,
186-
"resourceUrl": "https://drive.google.com/drive/folders/1LgMTiBPpOvBZ1KPj5_IF2tA0IksnGnJ-?usp=share_link",
185+
"image": "/images/events/KTS.jpg",
186+
"resourceUrl": null,
187+
"resourceLinks": [
188+
{
189+
"label": "KTS Resources",
190+
"url": "https://drive.google.com/drive/folders/1LgMTiBPpOvBZ1KPj5_IF2tA0IksnGnJ-?usp=share_link"
191+
},
192+
{
193+
"label": "Translating Tensors",
194+
"url": "https://drive.google.com/file/d/1e17JxcSM3K_ST2e25m3tfDKmUTY4e_ui/view?usp=share_link"
195+
}
196+
],
187197
"status": "published",
188198
"legacyAnchor": null
189199
},

‎src/pages/index.astro‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,6 @@ const recentBlogs = newestPublished(blogs).slice(0, 3);
1818
<section class="hero shell">
1919
<h1>{site.name}</h1>
2020
<p class="hero-copy">{site.introduction}</p>
21-
<a class="scroll-cue" href="#events" aria-label={site.labels.events}>
22-
<Arrow />
23-
</a>
2421
</section>
2522
<section class="section shell" id="events">
2623
<div class="section-head">

‎src/styles/global.css‎

Lines changed: 95 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -268,22 +268,6 @@
268268
color: #e0e0e0;
269269
text-align: left;
270270
}
271-
.scroll-cue {
272-
width: 48px;
273-
height: 48px;
274-
display: grid;
275-
place-items: center;
276-
margin: 28px auto 0;
277-
border: 1px solid var(--border);
278-
border-radius: 50%;
279-
transition: background 180ms;
280-
}
281-
.scroll-cue:hover {
282-
background: #fff1;
283-
}
284-
.scroll-cue svg {
285-
transform: rotate(90deg);
286-
}
287271
.section-head {
288272
display: flex;
289273
align-items: baseline;
@@ -364,12 +348,15 @@
364348
align-self: center;
365349
}
366350
.event-card.compact {
367-
display: flex;
368-
flex-direction: column;
351+
display: grid;
352+
grid-template-columns: minmax(110px, 0.72fr) minmax(0, 1.28fr);
353+
min-height: 300px;
369354
}
370355
.event-card.compact > img {
371-
height: 245px;
372-
object-fit: cover;
356+
width: 100%;
357+
height: 100%;
358+
object-fit: contain;
359+
background: #070707;
373360
}
374361
.event-content {
375362
padding: 32px;
@@ -391,18 +378,58 @@
391378
margin-top: 14px;
392379
}
393380
.compact .event-content {
394-
padding: 26px;
381+
padding: 18px;
395382
flex-grow: 1;
396383
}
397384
.compact .event-content h3 {
398-
font-size: 25px;
385+
margin-bottom: 12px;
386+
font-size: 20px;
399387
}
400388
.compact .event-description {
401-
font-size: 14px;
389+
display: -webkit-box;
390+
overflow: hidden;
391+
margin-bottom: 20px;
392+
color: #aaa;
393+
font-size: 12px;
394+
-webkit-box-orient: vertical;
395+
-webkit-line-clamp: 3;
402396
}
403397
.compact .text-link {
398+
order: 2;
399+
margin-top: auto;
404400
margin-bottom: 0;
405401
}
402+
.compact .event-meta {
403+
order: 1;
404+
justify-content: flex-start;
405+
gap: 8px;
406+
width: auto;
407+
margin: 0 0 24px;
408+
padding: 0;
409+
border: 0;
410+
text-align: left;
411+
}
412+
.compact .event-meta-item {
413+
min-width: 0;
414+
padding: 5px 10px;
415+
border: 1px solid var(--border);
416+
border-radius: 999px;
417+
}
418+
.compact .event-meta dt {
419+
position: absolute;
420+
width: 1px;
421+
height: 1px;
422+
overflow: hidden;
423+
clip: rect(0 0 0 0);
424+
clip-path: inset(50%);
425+
white-space: nowrap;
426+
}
427+
.compact .event-meta dd,
428+
.compact .event-meta-venue dd {
429+
color: #bbb;
430+
font: 11px/1.5 Inter, sans-serif;
431+
letter-spacing: 0;
432+
}
406433
.event-meta {
407434
display: flex;
408435
flex-wrap: wrap;
@@ -602,11 +629,7 @@
602629
min-height: 480px;
603630
}
604631
.event-list .event-description {
605-
display: -webkit-box;
606-
overflow: hidden;
607632
font-size: 14px;
608-
-webkit-box-orient: vertical;
609-
-webkit-line-clamp: 6;
610633
}
611634
.events-recording-note {
612635
margin-bottom: 30px;
@@ -739,29 +762,57 @@
739762
border-color: #ffffff50;
740763
}
741764
.event-resources {
742-
width: fit-content;
765+
position: relative;
766+
width: 100%;
767+
}
768+
.event-resources[open] {
769+
z-index: 20;
743770
}
744771
.event-resources summary {
745772
list-style: none;
746773
}
774+
.event-content > a.button.button-secondary,
775+
.event-resources > summary.button.button-secondary {
776+
width: 100%;
777+
}
747778
.event-resources summary::-webkit-details-marker {
748779
display: none;
749780
}
750781
.resource-chevron {
782+
display: inline-grid;
783+
width: 16px;
784+
height: 16px;
785+
place-items: center;
751786
font-size: 16px;
787+
line-height: 1;
788+
transform-origin: center;
752789
transition: transform 180ms ease;
753790
}
754791
.event-resources[open] .resource-chevron {
755-
transform: rotate(180deg);
792+
transform: rotate(-90deg);
756793
}
757794
.event-resource-menu {
795+
position: absolute;
796+
top: calc(100% + 10px);
797+
left: 0;
798+
z-index: 30;
758799
display: grid;
759-
width: min(100%, 390px);
760-
margin-top: 10px;
800+
width: 100%;
801+
max-height: min(360px, 60vh);
802+
margin-top: 0;
761803
padding: 8px;
804+
overflow-y: auto;
762805
border: 1px solid var(--border);
763806
border-radius: 10px;
764807
background: #101010;
808+
box-shadow: 0 18px 48px #000c;
809+
}
810+
.event-list .event-card:has(.event-resources[open]) {
811+
z-index: 10;
812+
overflow: visible;
813+
}
814+
.event-list .event-card > img {
815+
border-radius: 19px 0 0 19px;
765816
}
766817
.event-resource-menu a {
767818
display: flex;
@@ -1262,6 +1313,7 @@
12621313
grid-template-columns: repeat(2, minmax(0, 1fr));
12631314
}
12641315
.event-grid {
1316+
grid-template-columns: repeat(2, minmax(0, 1fr));
12651317
gap: 16px;
12661318
}
12671319
.compact .event-content {
@@ -1374,6 +1426,7 @@
13741426
.event-list .event-card > img {
13751427
height: auto;
13761428
max-height: 420px;
1429+
border-radius: 19px 19px 0 0;
13771430
}
13781431
.event-list .image-placeholder {
13791432
min-height: 260px;
@@ -1384,11 +1437,21 @@
13841437
.event-card {
13851438
grid-template-columns: 1fr;
13861439
}
1440+
.event-card.compact {
1441+
grid-template-columns: 1fr;
1442+
min-height: 0;
1443+
}
13871444
.event-card > img {
13881445
max-height: none;
13891446
}
13901447
.event-card.compact > img {
1391-
height: 260px;
1448+
height: 190px;
1449+
}
1450+
.compact .event-content {
1451+
padding: 24px;
1452+
}
1453+
.compact .event-content h3 {
1454+
font-size: 28px;
13921455
}
13931456
.event-content {
13941457
padding: 24px;

‎tests/content.test.mjs‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ test("2026–27 events include the complete poster-backed archive", async () =>
7272
assert.equal(currentKts?.date, "2026-06-23");
7373
assert.equal(currentKts?.displayDate, "23 June–15 July, 2026");
7474
assert.equal(currentKts?.description, previousKts?.description);
75+
assert.deepEqual(
76+
currentKts?.resourceLinks?.map((resource) => resource.label),
77+
["KTS Resources", "Translating Tensors"],
78+
);
7579
assert.equal(
7680
events.filter((event) => event.academicYear === "26-27").length,
7781
8,

0 commit comments

Comments
 (0)