diff --git a/README.md b/README.md index 3e5eeee..7ef1b91 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -# erudite \ No newline at end of file +# erudite diff --git a/package-lock.json b/package-lock.json index a80e4fa..06c0aea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,7 @@ "@astrojs/tailwind": "^5.1.0", "@fontsource/geist-mono": "^5.0.3", "@fontsource/geist-sans": "^5.0.3", + "@radix-ui/react-avatar": "^1.1.0", "@radix-ui/react-dropdown-menu": "^2.1.1", "@radix-ui/react-icons": "^1.3.0", "@radix-ui/react-slot": "^1.1.0", @@ -1823,6 +1824,31 @@ } } }, + "node_modules/@radix-ui/react-avatar": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.1.0.tgz", + "integrity": "sha512-Q/PbuSMk/vyAd/UoIShVGZ7StHHeRFYU7wXmi5GV+8cLXflZAEpHL/F697H1klrzxKXNtZ97vWiC0q3RKUH8UA==", + "dependencies": { + "@radix-ui/react-context": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-collection": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.0.tgz", diff --git a/package.json b/package.json index 944af09..33336f7 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "@astrojs/tailwind": "^5.1.0", "@fontsource/geist-mono": "^5.0.3", "@fontsource/geist-sans": "^5.0.3", + "@radix-ui/react-avatar": "^1.1.0", "@radix-ui/react-dropdown-menu": "^2.1.1", "@radix-ui/react-icons": "^1.3.0", "@radix-ui/react-slot": "^1.1.0", diff --git a/public/1200x630.png b/public/1200x630.png new file mode 100644 index 0000000..8a51790 Binary files /dev/null and b/public/1200x630.png differ diff --git a/public/astro-micro-lighthouse.jpg b/public/astro-micro-lighthouse.jpg deleted file mode 100644 index b9433f6..0000000 Binary files a/public/astro-micro-lighthouse.jpg and /dev/null differ diff --git a/public/astro-micro.jpg b/public/astro-micro.jpg deleted file mode 100644 index 8ed0580..0000000 Binary files a/public/astro-micro.jpg and /dev/null differ diff --git a/public/astro-nano-lighthouse.jpg b/public/astro-nano-lighthouse.jpg deleted file mode 100644 index eb5bc5b..0000000 Binary files a/public/astro-nano-lighthouse.jpg and /dev/null differ diff --git a/public/astro-nano.png b/public/astro-nano.png deleted file mode 100644 index 9e7d5d2..0000000 Binary files a/public/astro-nano.png and /dev/null differ diff --git a/public/astro-sphere-lighthouse.jpg b/public/astro-sphere-lighthouse.jpg deleted file mode 100644 index 3c62be2..0000000 Binary files a/public/astro-sphere-lighthouse.jpg and /dev/null differ diff --git a/public/astro-sphere.jpg b/public/astro-sphere.jpg deleted file mode 100644 index ba48e97..0000000 Binary files a/public/astro-sphere.jpg and /dev/null differ diff --git a/public/blog-placeholder-1.jpg b/public/blog-placeholder-1.jpg deleted file mode 100644 index 74d4009..0000000 Binary files a/public/blog-placeholder-1.jpg and /dev/null differ diff --git a/public/deploy_netlify.svg b/public/deploy_netlify.svg deleted file mode 100644 index 28837b6..0000000 --- a/public/deploy_netlify.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/public/deploy_vercel.svg b/public/deploy_vercel.svg deleted file mode 100644 index e2d3a0d..0000000 --- a/public/deploy_vercel.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/public/lighthouse-nano.jpg b/public/lighthouse-nano.jpg deleted file mode 100644 index 433cb12..0000000 Binary files a/public/lighthouse-nano.jpg and /dev/null differ diff --git a/public/lighthouse-sphere.jpg b/public/lighthouse-sphere.jpg deleted file mode 100644 index ceb1be1..0000000 Binary files a/public/lighthouse-sphere.jpg and /dev/null differ diff --git a/public/paper-teaser.jpg b/public/paper-teaser.jpg deleted file mode 100644 index 74d4009..0000000 Binary files a/public/paper-teaser.jpg and /dev/null differ diff --git a/public/rupert-cat.gif b/public/rupert-cat.gif deleted file mode 100644 index 291b0f1..0000000 Binary files a/public/rupert-cat.gif and /dev/null differ diff --git a/public/y-wing.jpeg b/public/y-wing.jpeg deleted file mode 100644 index 750ff81..0000000 Binary files a/public/y-wing.jpeg and /dev/null differ diff --git a/src/components/ArrowCard.astro b/src/components/ArrowCard.astro deleted file mode 100644 index bb86a3a..0000000 --- a/src/components/ArrowCard.astro +++ /dev/null @@ -1,42 +0,0 @@ ---- -import type { CollectionEntry } from 'astro:content' - -type Props = { - entry: CollectionEntry<'blog'> -} - -const { entry } = Astro.props as { - entry: CollectionEntry<'blog'> -} ---- - - -
-
- {entry.data.title} -
-
- {entry.data.description} -
-
- - - - -
diff --git a/src/components/AuthorCard.astro b/src/components/AuthorCard.astro new file mode 100644 index 0000000..ef5caed --- /dev/null +++ b/src/components/AuthorCard.astro @@ -0,0 +1,29 @@ +--- +import type { CollectionEntry } from 'astro:content' +import { Image } from 'astro:assets' + +type Props = { + author: CollectionEntry<'authors'> +} + +const { author } = Astro.props +const { name, avatar, bio } = author.data +--- + +
+ + {`Avatar +
+

{name}

+

{bio}

+
+
+
diff --git a/src/components/BackToPrevious.astro b/src/components/BackToPrevious.astro deleted file mode 100644 index c076521..0000000 --- a/src/components/BackToPrevious.astro +++ /dev/null @@ -1,33 +0,0 @@ ---- -type Props = { - href: string -} - -const { href } = Astro.props ---- - - - - - - -
- -
-
diff --git a/src/components/BlogCard.astro b/src/components/BlogCard.astro new file mode 100644 index 0000000..e2959ca --- /dev/null +++ b/src/components/BlogCard.astro @@ -0,0 +1,61 @@ +--- +import type { CollectionEntry } from 'astro:content' +import { formatDate, readingTime } from '@lib/utils' +import { Image } from 'astro:assets' +import { Badge } from '@/components/ui/badge' + +type Props = { + entry: CollectionEntry<'blog'> +} + +const { entry } = Astro.props as { + entry: CollectionEntry<'blog'> +} + +const formattedDate = formatDate(entry.data.date) +const readTime = readingTime(entry.body) +--- + +
+ + { + entry.data.image && ( +
+ {entry.data.title} +
+ ) + } +
+

+ {entry.data.title} +

+

+ {entry.data.description} +

+
+ {formattedDate} + + {readTime} +
+ { + entry.data.tags && ( +
+ {entry.data.tags.map((tag) => ( + {tag} + ))} +
+ ) + } +
+
+
diff --git a/src/components/Footer.astro b/src/components/Footer.astro index 90de53d..dbccef4 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -6,10 +6,16 @@ import { ModeToggle } from '@components/ui/mode-toggle'