diff --git a/astro.config.ts b/astro.config.ts index 36e10ff..7cafb10 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -1,11 +1,17 @@ -import { defineConfig } from 'astro/config'; -import mdx from '@astrojs/mdx'; -import sitemap from '@astrojs/sitemap'; +import mdx from "@astrojs/mdx"; +import react from "@astrojs/react"; +import sitemap from "@astrojs/sitemap"; +import { defineConfig } from "astro/config"; import tailwind from "@astrojs/tailwind"; // https://astro.build/config export default defineConfig({ - site: 'https://example.com', - integrations: [mdx(), sitemap(), tailwind()] + site: "https://example.com", + integrations: [ + mdx(), + sitemap(), + tailwind(), + react(), + ], }); diff --git a/bun.lockb b/bun.lockb index 526bced..0e606d8 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 9b4a099..849591b 100644 --- a/package.json +++ b/package.json @@ -12,13 +12,18 @@ "dependencies": { "@astrojs/check": "^0.9.2", "@astrojs/mdx": "^3.1.3", + "@astrojs/react": "^3.6.2", "@astrojs/rss": "^4.0.7", "@astrojs/sitemap": "^3.1.6", "@astrojs/tailwind": "^5.1.0", "@biomejs/biome": "^1.8.3", "@fontsource-variable/jetbrains-mono": "^5.0.21", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", "astro": "^4.13.1", "pagefind": "^1.1.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", "tailwindcss": "^3.4.7", "typescript": "^5.5.4" } diff --git a/src/components/Navigation/Navigation.tsx b/src/components/Navigation/Navigation.tsx new file mode 100644 index 0000000..dc85147 --- /dev/null +++ b/src/components/Navigation/Navigation.tsx @@ -0,0 +1,122 @@ +import { useState } from "react"; + +export default function Navigation() { + const [active, setActive] = useState(false); + const links = [ + { href: "/", label: "Home" }, + { href: "/blog", label: "Blog" }, + { href: "/about", label: "About" }, + ]; + + return ( +
+ + +
+ ); +} diff --git a/src/content/config.ts b/src/content/config.ts index 7eb08a9..fad6c2e 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -2,7 +2,6 @@ import { defineCollection, z } from "astro:content"; const blog = defineCollection({ type: "content", - // Type-check frontmatter using a schema schema: z.object({ title: z.string(), description: z.string(), diff --git a/src/pages/index.astro b/src/pages/index.astro index 35fdd46..20235d7 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,51 +1,9 @@ --- -import "tailwindcss/lib/css/preflight.css"; -import BaseHead from '../components/BaseHead.astro'; -import Header from '../components/Header.astro'; -import Footer from '../components/Footer.astro'; -import { SITE_TITLE, SITE_DESCRIPTION } from '../consts'; +import Navigation from "../components/Navigation/Navigation" +import Layout from "../layouts/Layout.astro" --- - - - - - - -
-
-

🧑‍🚀 Hello, Astronaut!

-

- Welcome to the official Astro blog starter template. This - template serves as a lightweight, minimally-styled starting point for anyone looking to build - a personal website, blog, or portfolio with Astro. -

-

- This template comes with a few integrations already configured in your - astro.config.mjs file. You can customize your setup with - Astro Integrations to add tools like Tailwind, - React, or Vue to your project. -

-

Here are a few ideas on how to get started with the template:

-
    -
  • Edit this page in src/pages/index.astro
  • -
  • Edit the site header items in src/components/Header.astro
  • -
  • Add your name to the footer in src/components/Footer.astro
  • -
  • Check out the included blog posts in src/content/blog/
  • -
  • Customize the blog post page layout in src/layouts/BlogPost.astro
  • -
-

- Have fun! If you get stuck, remember to read the docs - or join us on Discord to ask questions. -

-

- Looking for a blog template with a bit more personality? Check out astro-blog-template - by Maxi Ferreira. -

-
-