\ No newline at end of file
diff --git a/src/components/ScrollUpButton.tsx b/src/components/ScrollUpButton.tsx
new file mode 100644
index 0000000..2e2dc2c
--- /dev/null
+++ b/src/components/ScrollUpButton.tsx
@@ -0,0 +1,45 @@
+import { useSignal } from "@preact/signals";
+import { useEffect } from "preact/hooks";
+import { ArrowUp } from 'lucide-preact';
+
+export default function ScrollUpButton() {
+ const isVisible = useSignal(false);
+
+ useEffect(() => {
+ const checkScroll = () => {
+ isVisible.value = window.scrollY > 300;
+ };
+
+ checkScroll();
+
+ window.addEventListener("scroll", checkScroll);
+
+ return () => {
+ window.removeEventListener("scroll", checkScroll);
+ };
+ }, []);
+
+ const scrollToTop = () => {
+ window.scrollTo({
+ top: 0,
+ behavior: "smooth",
+ });
+ };
+
+ return (
+
+ );
+}
\ No newline at end of file
diff --git a/src/content/config.ts b/src/content/config.ts
index 40aae2c..ae3fcd6 100644
--- a/src/content/config.ts
+++ b/src/content/config.ts
@@ -1,6 +1,6 @@
import { defineCollection, z } from 'astro:content';
-const blogCollection = defineCollection({
+const postsCollection = defineCollection({
type: 'content',
schema: z.object({
title: z.string(),
@@ -12,5 +12,5 @@ const blogCollection = defineCollection({
});
export const collections = {
- 'blog': blogCollection,
-};
\ No newline at end of file
+ 'posts': postsCollection,
+};
\ No newline at end of file
diff --git a/src/content/posts/favourite-tools.md b/src/content/posts/favourite-tools.md
new file mode 100644
index 0000000..af9ba96
--- /dev/null
+++ b/src/content/posts/favourite-tools.md
@@ -0,0 +1,29 @@
+---
+title: "Current List of Favourite Tools"
+description: "A running list of my favourite tools to use day-to-day."
+pubDate: "2025-01-28"
+tags: ["list"]
+---
+
+I change what I use _constantly_ in order to find something that feels just
+right. I wanted to share them here and update them here so when someone asks, I
+can just point them to this article.
+
+1. Sublime Text - Currently my favourite text editor. Fast, simple, and
+ extensible. Just a joy to use!
+2. Sublime Merge - Honestly one of the fastest and best looking git GUIs around!
+ Awesome for visualizing changes when you have larger code changes.
+3. Ghostty - A Zig based terminal emulator by one of the founders of Hashicorp.
+ Runs great on MacOS and Linux. No windows for those who are into that.
+4. OrbStack - A faster alternative to Docker Desktop that also runs VMs!
+5. Bitwarden - An open-source password manager. Easy to self host with
+ Vaultwarden and with the recent updates, it has SSH Agent support!
+6. iA Writer - A minimalist Markdown editor. For MacOS and Windows only, but
+ really the MacOS version is the most mature. Awesome for focus.
+7. Dataflare - A simple but powerful cross-platform database client. Supports
+ most common databases, including LibSQL which is rare!
+8. Bruno - A simple and powerful API client, similar to Postman. An critical
+ tool to debug API endpoints.
+
+I hope you found this helpful! This will be periodically updated to avoid
+outdated recommendations.
diff --git a/src/content/blog/welcome.md b/src/content/posts/welcome.md
similarity index 100%
rename from src/content/blog/welcome.md
rename to src/content/posts/welcome.md
diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro
index b47aa90..410b4b5 100644
--- a/src/layouts/Layout.astro
+++ b/src/layouts/Layout.astro
@@ -1,5 +1,7 @@
---
+import { ClientRouter } from "astro:transitions";
import NavigationBar from "../components/NavigationBar";
+import ScrollUpButton from "../components/ScrollUpButton";
const currentPath = Astro.url.pathname;
import '../styles/global.css';
---
@@ -12,12 +14,13 @@ import '../styles/global.css';
Atridad Lahiji
+
-
-
+
+