diff --git a/README.md b/README.md
index 01fe69d..da77701 100644
--- a/README.md
+++ b/README.md
@@ -51,4 +51,4 @@ Comments on the site are powered by [giscus.app](https://giscus.app) and stored
## License
-This project is licensed under the [MIT License](LICENSE.txt).
\ No newline at end of file
+This project is licensed under the [MIT License](LICENSE.txt).
diff --git a/astro.config.mjs b/astro.config.mjs
index d8e7708..07e5d30 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -15,10 +15,4 @@ export default defineConfig({
theme: "vitesse-dark",
},
},
- redirects: {
- "/blog": {
- destination: "/",
- status: 301,
- },
- },
});
diff --git a/src/components/Header.astro b/src/components/Header.astro
new file mode 100644
index 0000000..4571a5c
--- /dev/null
+++ b/src/components/Header.astro
@@ -0,0 +1,22 @@
+
+
+
diff --git a/src/components/Pagination.astro b/src/components/Pagination.astro
deleted file mode 100644
index 0d656df..0000000
--- a/src/components/Pagination.astro
+++ /dev/null
@@ -1,35 +0,0 @@
----
-type Props = {
- readonly nextUrl?: string;
- readonly prevUrl?: string;
-};
-
-const { nextUrl, prevUrl } = Astro.props;
----
-
-
-
-
- {
- prevUrl && (
-
- < Prev
-
- )
- }
- {
- nextUrl && (
-
- Next >
-
- )
- }
-
diff --git a/src/components/PostElement.astro b/src/components/PostElement.astro
new file mode 100644
index 0000000..703189e
--- /dev/null
+++ b/src/components/PostElement.astro
@@ -0,0 +1,32 @@
+---
+import { type CollectionEntry } from "astro:content";
+import dayjs from "dayjs";
+
+type Props = {
+ readonly post: CollectionEntry<"blog">;
+};
+
+const { post } = Astro.props;
+const { remarkPluginFrontmatter } = await post.render();
+const formattedDate = dayjs(post.data.pubDate.toString()).format("MMMM DD, YYYY");
+---
+
+
+
+
+ {post.data.title}
+
+
+
+ •
+ {remarkPluginFrontmatter.minutesRead}
+
+
+
diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro
index ca8826a..0209c58 100644
--- a/src/layouts/BaseLayout.astro
+++ b/src/layouts/BaseLayout.astro
@@ -1,6 +1,7 @@
---
import Analytics from "../components/Analytics.astro";
import Head from "../components/Head.astro";
+import Header from "../components/Header.astro";
import "../scss/global.scss";
type Props = {
@@ -19,6 +20,10 @@ const { description, title } = Astro.props;
+
+
diff --git a/src/pages/[...page].astro b/src/pages/[...page].astro
deleted file mode 100644
index 6d513b2..0000000
--- a/src/pages/[...page].astro
+++ /dev/null
@@ -1,33 +0,0 @@
----
-import type { GetStaticPaths, InferGetStaticPropsType } from "astro";
-import { getCollection } from "astro:content";
-import Layout from "../layouts/BaseLayout.astro";
-import Pagination from "../components/Pagination.astro";
-import PostSummary from "../components/PostSummary.astro";
-
-type Props = InferGetStaticPropsType;
-
-export const getStaticPaths = (async ({ paginate }) => {
- const posts = await getCollection("blog", ({ data }) => {
- return data.draft !== true;
- });
-
- posts.sort((a, b) => b.data.pubDate.getTime() - a.data.pubDate.getTime());
-
- return paginate(posts, {
- pageSize: 10,
- });
-}) satisfies GetStaticPaths;
-
-const { page } = Astro.props;
----
-
-
-
- {page.data.map((post) => )}
-
-
-
-
diff --git a/src/pages/blog/[...slug].astro b/src/pages/blog/[...slug].astro
index 41b0f5c..c4e542c 100644
--- a/src/pages/blog/[...slug].astro
+++ b/src/pages/blog/[...slug].astro
@@ -32,11 +32,13 @@ const formattedDate = dayjs(post.data.pubDate.toString()).format("MMMM DD, YYYY"
+
+
- < Home
- •
Posted
by {post.data.author}
@@ -46,10 +48,6 @@ const formattedDate = dayjs(post.data.pubDate.toString()).format("MMMM DD, YYYY"
-
-
diff --git a/src/pages/blog/index.astro b/src/pages/blog/index.astro
new file mode 100644
index 0000000..48d33e8
--- /dev/null
+++ b/src/pages/blog/index.astro
@@ -0,0 +1,19 @@
+---
+import { getCollection } from "astro:content";
+import Layout from "../../layouts/BaseLayout.astro";
+import PostElement from "../../components/PostElement.astro";
+
+const posts = await getCollection("blog", ({ data }) => {
+ return data.draft !== true;
+});
+
+posts.sort((a, b) => b.data.pubDate.getTime() - a.data.pubDate.getTime());
+---
+
+
+
+
+ {posts.map((post) => )}
+
+
+
diff --git a/src/pages/index.astro b/src/pages/index.astro
new file mode 100644
index 0000000..56ccdff
--- /dev/null
+++ b/src/pages/index.astro
@@ -0,0 +1,17 @@
+---
+import { getCollection } from "astro:content";
+import Layout from "../layouts/BaseLayout.astro";
+import PostSummary from "../components/PostSummary.astro";
+
+const posts = await getCollection("blog", ({ data }) => {
+ return data.draft !== true;
+});
+
+posts.sort((a, b) => b.data.pubDate.getTime() - a.data.pubDate.getTime());
+---
+
+
+
+ {posts.map((post) => )}
+
+