diff --git a/astro/src/components/blogs/BlogIndex.astro b/astro/src/components/blogs/BlogIndex.astro
index 4c4ad3f..cfa5182 100644
--- a/astro/src/components/blogs/BlogIndex.astro
+++ b/astro/src/components/blogs/BlogIndex.astro
@@ -1,9 +1,52 @@
---
+import { getAllPaginatedBlogs } from '@/content/blogs/blogs';
+import { getSettings } from '@/content/settings/settings';
+import CalendarIcon from '@/icons/CalendarIcon.astro';
+import { getImageUrl } from '@/lib/images';
+import { markdownToHtml } from '@/lib/markdown';
+import { getBlogRoute } from '@/lib/routing';
+import { Image } from 'astro:assets';
+
interface Props {
page: BlogIndex;
}
const { page } = Astro.props;
+const { pageNumber } = page;
+
+const settings = await getSettings();
+const blogs = await getAllPaginatedBlogs(settings, pageNumber);
---
-
+
+
{ settings.blog.title }
+ { settings.blog.subtext !== null && (
+
+ ) }
+
+
+
+ { blogs.map((blog) => (
+
+
+
+
+ )) }
+
+
diff --git a/astro/src/components/projects/ProjectIndex.astro b/astro/src/components/projects/ProjectIndex.astro
index 34dcd2c..95de3b1 100644
--- a/astro/src/components/projects/ProjectIndex.astro
+++ b/astro/src/components/projects/ProjectIndex.astro
@@ -1,9 +1,52 @@
---
+import { getSettings } from '@/content/settings/settings';
+import { getAllPaginatedProjects } from '@/content/projects/projects';
+import { markdownToHtml } from '@/lib/markdown';
+import { Image } from 'astro:assets';
+import { getProjectRoute } from '@/lib/routing';
+import CalendarIcon from '@/icons/CalendarIcon.astro';
+import { getImageUrl } from '@/lib/images';
+
interface Props {
page: ProjectIndex;
}
const { page } = Astro.props;
+const { pageNumber } = page;
+
+const settings = await getSettings();
+const projects = await getAllPaginatedProjects(settings, pageNumber);
---
-
+
+
{ settings.project.title }
+ { settings.project.subtext !== null && (
+
+ ) }
+
+
+
+ { projects.map((project) => (
+
+
+
+
+ )) }
+
+
diff --git a/astro/src/content/blogs/blogs.ts b/astro/src/content/blogs/blogs.ts
index 6f83001..ae7e7d8 100644
--- a/astro/src/content/blogs/blogs.ts
+++ b/astro/src/content/blogs/blogs.ts
@@ -3,6 +3,7 @@ import { print } from 'graphql';
import getBlogs from '@/graphql/blogs/getBlogs.graphql';
import getBlogPost from '@/graphql/blogs/getBlog.graphql';
import getLastBlogPosts from '@/graphql/blogs/getLastBlogPosts.graphql';
+import getPaginatedBlogs from '@/graphql/blogs/getPaginatedBlogs.graphql';
import { formatDate } from "@/lib/dates";
export async function getAllBlogs(settings: GlobalSettings): Promise