diff --git a/.vscode/settings.json b/.vscode/settings.json
index fbf27c9..1c2bcb7 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -6,5 +6,8 @@
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll": "explicit"
+ },
+ "editor.quickSuggestions": {
+ "strings": "on"
}
}
diff --git a/cli/src/main.ts b/cli/src/main.ts
new file mode 100644
index 0000000..e69de29
diff --git a/src/components/ui/Head.astro b/src/components/ui/Head.astro
deleted file mode 100644
index f9d996a..0000000
--- a/src/components/ui/Head.astro
+++ /dev/null
@@ -1,40 +0,0 @@
----
-import siteConfig from "~/site.config";
-import { descriptionConstructor, titleConstructor } from "~/lib/metadata";
-
-const { title, description } = Astro.props;
----
-
-
-
+
{title}
diff --git a/src/components/util/Head.astro b/src/components/util/Head.astro
new file mode 100644
index 0000000..7dd1db2
--- /dev/null
+++ b/src/components/util/Head.astro
@@ -0,0 +1,41 @@
+---
+import siteConfig from "~/site.config";
+import { getClacks } from "~/lib/fun";
+import { descriptionConstructor, titleConstructor } from "~/lib/metadata";
+
+const { title, description } = Astro.props;
+---
+
+
+
+
+ {titleConstructor(title)}
+
+
+
+ {/* og */}
+
+
+
+
+
+
+
+
+
+ {/* font awesone */}
+
+
+
+
+ {/* analytics */}
+
+ {/* astro generator */}
+
+
+ {/* clacks */}
+
diff --git a/src/content/about.md b/src/content/about.md
new file mode 100644
index 0000000..b0533ef
--- /dev/null
+++ b/src/content/about.md
@@ -0,0 +1 @@
+Hey, my name is Ivy Rose. I
\ No newline at end of file
diff --git a/src/content/bio.md b/src/content/bio.md
index df845bc..193a1a2 100644
--- a/src/content/bio.md
+++ b/src/content/bio.md
@@ -1,6 +1,3 @@
----
----
-
I'm a musician, student, part-time software developer and writer.
I like making weird noises, websites (like this one) with [Astro](https://astro.build), and going outside whenever I'm not doing either of those things.
diff --git a/src/content/blog/welcome.md b/src/content/blog/welcome.md
index 0296991..dec7078 100644
--- a/src/content/blog/welcome.md
+++ b/src/content/blog/welcome.md
@@ -1,6 +1,7 @@
---
title: Welcome
description: Lorem ipsum dolor sit amet irure tempor adipisicing esse minim nisi, aute duis elit. Adipisicing consequat pariatur duis incididunt nisi pariatur proident dolor deserunt et.
+date: 2025-03-19
tags:
- welcome
---
diff --git a/src/layouts/Base.astro b/src/layouts/Base.astro
index 85b7c3f..e8d8328 100644
--- a/src/layouts/Base.astro
+++ b/src/layouts/Base.astro
@@ -1,12 +1,14 @@
---
import "~/styles/global.css";
-import Head from "~/components/ui/Head.astro";
+import Head from "~/components/util/Head.astro";
import { ClientRouter } from "astro:transitions";
import SizeWarning from "~/components/ui/SizeWarning.astro";
+
+const { title, date, description } = Astro.props;
---
-
+
diff --git a/src/layouts/Page.astro b/src/layouts/Page.astro
index 4df5294..d9c3fc1 100644
--- a/src/layouts/Page.astro
+++ b/src/layouts/Page.astro
@@ -6,7 +6,7 @@ import Footer from "~/components/ui/Footer.astro";
const { title, description, icon, date } = Astro.props;
---
-
+
diff --git a/src/lib/fun.ts b/src/lib/fun.ts
index e41887e..e718a05 100644
--- a/src/lib/fun.ts
+++ b/src/lib/fun.ts
@@ -30,4 +30,7 @@ export function isBirthday() {
return check;
}
-
+export function getClacks(): string {
+ const clacks: string[] = ["Terry Pratchett", "Bram Moolenaar", "Alan Turing", "Haskell Curry", "Brianna Ghey"];
+ return clacks.join(", ");
+}
\ No newline at end of file
diff --git a/src/lib/metadata.ts b/src/lib/metadata.ts
index 591882a..ed9d1eb 100644
--- a/src/lib/metadata.ts
+++ b/src/lib/metadata.ts
@@ -2,6 +2,7 @@ import conf from "~/site.config";
// todo: add blog detection
export const titleConstructor = (title: string) => {
+ console.log(title)
if (!title) return conf.siteName;
return `${title} | ${conf.siteName}`;
};
diff --git a/src/pages/about.astro b/src/pages/about.astro
index 4dd745f..18135fd 100644
--- a/src/pages/about.astro
+++ b/src/pages/about.astro
@@ -1,7 +1,16 @@
---
import Page from "~/layouts/Page.astro";
+import Prose from "~/components/ui/Prose.astro";
+import { Content } from "~/content/about.md";
---
-
- i kiss girls
-
\ No newline at end of file
+
+
+
+
+
diff --git a/src/pages/blog/tags/[id].astro b/src/pages/blog/tags/[id].astro
new file mode 100644
index 0000000..4c94b10
--- /dev/null
+++ b/src/pages/blog/tags/[id].astro
@@ -0,0 +1,39 @@
+---
+import Layout from "~/layouts/Page.astro";
+import { getCollection } from "astro:content";
+
+export async function getStaticPaths() {
+ const allPosts = await getCollection("blog");
+ const tags = [...new Set(allPosts.map((post) => post.data.tags).flat())];
+ return tags.map((tag) => ({
+ params: { id: tag },
+ props: { tag },
+ }));
+}
+
+const allPosts = await getCollection("blog");
+const { tag } = Astro.props;
+const filteredPosts = allPosts.filter(
+ (post) => post.data.tags && post.data.tags.includes(tag as string)
+);
+---
+
+
+
+ {
+ filteredPosts.length > 0 ? (
+ filteredPosts.map((post) => (
+ -
+
+ {post.data.title}
+
+ ))
+ ) : (
+ - No posts found for this tag.
+ )
+ }
+
+
diff --git a/src/pages/blog/tags/index.astro b/src/pages/blog/tags/index.astro
new file mode 100644
index 0000000..7fb87e4
--- /dev/null
+++ b/src/pages/blog/tags/index.astro
@@ -0,0 +1,18 @@
+---
+import Layout from "~/layouts/Page.astro";
+import { getCollection } from "astro:content";
+
+const allPosts = await getCollection("blog");
+const tags = [...new Set(allPosts.map((post) => post.data.tags).flat())];
+---
+
+
+
+ {
+ tags.map((tag) => -
+
+ {tag}
+
)
+ }
+
+
diff --git a/src/pages/contact/index.astro b/src/pages/contact/index.astro
index f8a9acd..bd4a173 100644
--- a/src/pages/contact/index.astro
+++ b/src/pages/contact/index.astro
@@ -3,33 +3,38 @@ import Layout from "~/layouts/Page.astro";
---
-
- I'm not really active on social media, but you can contact me via email.
-
-
- hello@ivyneeds.rest
-
- where i am / where i'm not
-
- -
-
- Fediverse: @ivy@social.lol
+
+
+ -
+
+ Instagram: @ivyturner
+
+
+ -
+
+ Twitter: haha fuck right off, elon should get his arms broken
+
+
diff --git a/src/pages/index.astro b/src/pages/index.astro
index 8328302..623e9c0 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -6,7 +6,9 @@ import Box from "~/components/ui/Box.astro";
import CollectionList from "~/components/lists/BlogPostList.astro";
import NoteList from "~/components/lists/NoteList.astro";
import StyledLink from "~/components/util/StyledLink.astro";
-import {Content as Bio} from "~/content/bio.md"
+import { Content as Bio } from "~/content/bio.md";
+import Prose from "~/components/ui/Prose.astro";
+import { getClacks } from "~/lib/fun";
---
@@ -18,16 +20,20 @@ import {Content as Bio} from "~/content/bio.md"
>
Hi! I'm Ivy, welcome to my website!
-
-
+
+ {getClacks()}
+
+
+
+
-
+
see more
-
+
see more
diff --git a/src/styles/global.css b/src/styles/global.css
index 9e68315..671e529 100644
--- a/src/styles/global.css
+++ b/src/styles/global.css
@@ -203,3 +203,6 @@ hr {
}
+a {
+ cursor: url('https://fav.farm/✏️') 15 0, auto;
+}