string> = {
+ help: () => `Available commands:
about - Display information about me
skills - List my technical skills
projects - Show my notable projects
contact - Display my contact information
clear - Clear the terminal screen`,
- about: () => `Hi, I'm John Doe!
+ about: () => `Hi, I'm John Doe!
I'm a passionate software developer with 5 years of experience.
I love creating elegant solutions to complex problems.`,
- skills: () => `My technical skills include:
+ skills: () => `My technical skills include:
- JavaScript/TypeScript
- React & Next.js
- Node.js
- Python
- SQL & NoSQL databases`,
- projects: () => `Some of my notable projects:
+ projects: () => `Some of my notable projects:
1. E-commerce Platform (React, Node.js, MongoDB)
2. Weather App (React Native, OpenWeatherMap API)
3. Task Management System (Python, Django, PostgreSQL)`,
- contact: () => `You can reach me at:
+ contact: () => `You can reach me at:
Email: john.doe@example.com
GitHub: github.com/johndoe
LinkedIn: linkedin.com/in/johndoe`,
- clear: () => {
+ clear: () => {
+ history = []
+ return ""
+ },
+}
+
+const executeCommand = (input: string) => {
+ const [command, ...args] = input.trim().split(" ")
+ if (command in commands) {
+ return commands[command as Command]()
+ }
+ return `Command not found: ${command}. Type 'help' for available commands.`
+}
+
+let input = ""
+let inputRef: HTMLInputElement | null = null
+
+const handleSubmit = (e: Event) => {
+ e.preventDefault()
+ if (input.trim()) {
+ if (input === "clear") {
history = []
- return ""
- },
- }
-
- const executeCommand = (input: string) => {
- const [command, ...args] = input.trim().split(" ")
- if (command in commands) {
- return commands[command as Command]()
+ } else {
+ history = [...history, `${currentDir} $ ${input}`, executeCommand(input)]
}
- return `Command not found: ${command}. Type 'help' for available commands.`
+ input = ""
}
+}
- let input = ""
- let inputRef: HTMLInputElement | null = null
+onMount(() => {
+ history = [
+ "Welcome to John Doe's Terminal Portfolio!",
+ "Type 'help' to see available commands.",
+ ]
+})
- const handleSubmit = (e: Event) => {
- e.preventDefault()
- if (input.trim()) {
- if (input === "clear") {
- history = []
- } else {
- history = [
- ...history,
- `${currentDir} $ ${input}`,
- executeCommand(input),
- ]
- }
- input = ""
- }
- }
-
- onMount(() => {
- history = [
- "Welcome to John Doe's Terminal Portfolio!",
- "Type 'help' to see available commands.",
- ]
- })
-
- $: {
- if (inputRef) {
- inputRef.scrollIntoView({ behavior: "smooth" })
- }
+$: {
+ if (inputRef) {
+ inputRef.scrollIntoView({ behavior: "smooth" })
}
+}
diff --git a/src/components/collapse/Collapse.svelte b/src/components/collapse/Collapse.svelte
index ba7b843..3a623a0 100644
--- a/src/components/collapse/Collapse.svelte
+++ b/src/components/collapse/Collapse.svelte
@@ -1,12 +1,12 @@
diff --git a/src/components/collapse/CollapseList.svelte b/src/components/collapse/CollapseList.svelte
index fb74942..8aa03b2 100644
--- a/src/components/collapse/CollapseList.svelte
+++ b/src/components/collapse/CollapseList.svelte
@@ -1,12 +1,12 @@
diff --git a/src/content/config.ts b/src/content/config.ts
index 36633ba..9174a08 100644
--- a/src/content/config.ts
+++ b/src/content/config.ts
@@ -2,7 +2,7 @@ import { defineCollection, z } from "astro:content"
import { glob } from "astro/loaders"
const projectCollection = defineCollection({
- loader: glob({ pattern: "**\/*.mdx", base: "./src/content/projects" }),
+ loader: glob({ pattern: "**/*.mdx", base: "./src/content/projects" }),
schema: ({ image }) =>
z.object({
lang: z.union([z.literal("en"), z.literal("nb")]),
@@ -19,7 +19,7 @@ const projectCollection = defineCollection({
})
const usesCollection = defineCollection({
- loader: glob({ pattern: "**\/*.yaml", base: "./src/content/uses" }),
+ loader: glob({ pattern: "**/*.yaml", base: "./src/content/uses" }),
schema: z.object({
title: z.string(),
accessories: z.optional(z.array(z.string())),
diff --git a/src/styles/global.css b/src/styles/global.css
index 13e4c61..55aeffc 100644
--- a/src/styles/global.css
+++ b/src/styles/global.css
@@ -4,50 +4,50 @@
@plugin "daisyui";
@theme {
- --color-cat-rosewater: #f5e0dc;
- --color-cat-flamingo: #f2cdcd;
- --color-cat-pink: #f5c2e7;
- --color-cat-mauve: #cba6f7;
- --color-cat-red: #f38ba8;
- --color-cat-maroon: #eba0ac;
- --color-cat-peach: #fab387;
- --color-cat-yellow: #f9e2af;
- --color-cat-green: #a6e3a1;
- --color-cat-teal: #94e2d5;
- --color-cat-sky: #89dceb;
- --color-cat-sapphire: #74c7ec;
- --color-cat-blue: #89b4fa;
- --color-cat-lavender: #b4befe;
- --color-cat-text: #cdd6f4;
- --color-cat-surface0: #313244;
- --color-cat-base: #1e1e2e;
- --color-cat-mantle: #181825;
+ --color-cat-rosewater: #f5e0dc;
+ --color-cat-flamingo: #f2cdcd;
+ --color-cat-pink: #f5c2e7;
+ --color-cat-mauve: #cba6f7;
+ --color-cat-red: #f38ba8;
+ --color-cat-maroon: #eba0ac;
+ --color-cat-peach: #fab387;
+ --color-cat-yellow: #f9e2af;
+ --color-cat-green: #a6e3a1;
+ --color-cat-teal: #94e2d5;
+ --color-cat-sky: #89dceb;
+ --color-cat-sapphire: #74c7ec;
+ --color-cat-blue: #89b4fa;
+ --color-cat-lavender: #b4befe;
+ --color-cat-text: #cdd6f4;
+ --color-cat-surface0: #313244;
+ --color-cat-base: #1e1e2e;
+ --color-cat-mantle: #181825;
}
@layer utilities {
- .debug {
- @apply border border-red-500;
- }
+ .debug {
+ @apply border border-red-500;
+ }
}
br {
- @apply my-0.5;
+ @apply my-0.5;
}
h1 {
- @apply text-4xl font-bold mb-2;
+ @apply text-4xl font-bold mb-2;
}
h2 {
- @apply text-3xl font-bold mb-2;
+ @apply text-3xl font-bold mb-2;
}
h3 {
- @apply text-2xl font-bold mb-2;
+ @apply text-2xl font-bold mb-2;
}
/* TODO change default style*/
a {
- @apply link text-cat-mauve;
- text-decoration-line: none;
+ @apply link text-cat-mauve;
+ text-decoration-line: none;
}