···3232const skillColor = "#F5A8B7";
3333---
34343535-<BaseLayout pageTitle={pageTitle}>
3535+<BaseLayout pageTitle={pageTitle} description={description}>
3636 <Partition>
3737 <p>It's about time I actually write up my own website right?</p>
3838 <br />
···1010const description = "Aria's blog of assorted content";
1111---
12121313-<BaseLayout pageTitle={pageTitle}>
1313+<BaseLayout pageTitle={pageTitle} description={description}>
1414 <Partition>
1515 | <a href="/tags" class="nav-btn">Browse Tags</a> |<br />
1616 <h1 class="text-2xl">All blog posts:</h1>
+2-2
src/pages/extreme-format-test.astro
···55import BaseLayout from "../layouts/BaseLayout.astro";
6677const pageTitle = "Extreme format test";
88-const description = "All of Aria's friends with 88x31 buttons for you to click on!!";
88+const description = "A terrible test of video formats";
99---
10101111-<BaseLayout pageTitle={pageTitle}>
1111+<BaseLayout pageTitle={pageTitle} description={description}>
1212 <Partition>
1313 <h3 class="text-xl font-bold text-center">"All In One"</h3>
1414 <video controls preload="metadata">
+1-1
src/pages/friends.astro
···88const description = "All of Aria's friends with 88x31 buttons for you to click on!!";
99---
10101111-<BaseLayout pageTitle={pageTitle}>
1111+<BaseLayout pageTitle={pageTitle} description={description}>
12121313 <Partition>
1414 <h2>My badge:</h2>
···88const description = "More 88x31 buttons of very random natures";
99---
10101111-<BaseLayout pageTitle={pageTitle}>
1111+<BaseLayout pageTitle={pageTitle} description={description}>
1212 <Partition>
1313 <h1 class="text-2xl">Here are some more 88x31 buttons:</h1>
1414 <br />
···88const description = "All of Aria's friends with 88x31 buttons for you to click on!!";
99---
10101111-<BaseLayout pageTitle={pageTitle}>
1111+<BaseLayout pageTitle={pageTitle} description={description}>
1212 <Partition>
1313 <h1 class="text-2xl">You should not be here!!</h1>
1414 <p>If you can see this page then something has gone a little silly!</p><br />
+20
src/utils/albums.ts
···11+export async function getAlbumImages(albumId: string) {
22+ // 1. List all album files from collections path
33+ let images = import.meta.glob<{ default: ImageMetadata }>(
44+ "/src/content/albums/**/*.{jpeg,jpg,webp,avif,png,jxl}"
55+ );
66+77+ // 2. Filter images by albumId
88+ images = Object.fromEntries(
99+ Object.entries(images).filter(([key]) => key.includes(albumId))
1010+ );
1111+1212+ // 3. Images are promises, so we need to resolve the glob promises
1313+ const resolvedImages = await Promise.all(
1414+ Object.values(images).map((image) => image().then((mod) => mod.default))
1515+ );
1616+1717+ // 4. Shuffle images in random order
1818+ resolvedImages.sort(() => Math.random() - 0.5);
1919+ return resolvedImages;
2020+ }