diff --git a/src/pages/blogs.astro b/src/pages/blogs.astro
new file mode 100644
index 0000000..fe156bb
--- /dev/null
+++ b/src/pages/blogs.astro
@@ -0,0 +1,22 @@
+---
+import BaseLayout from '../layout/BaseLayout.astro'
+
+import { listBlogs } from '../lib/apis/legacy/blog'
+
+export const prerender = false
+
+const _page = parseInt(Astro.url.searchParams.get('page') || '1')
+const page = isNaN(_page) ? 1 : Math.max(1, _page)
+
+const blogs = await listBlogs({ page })
+---
+
+
+ {
+ blogs.map((blog) => (
+
+ ))
+ }
+
diff --git a/src/pages/blogs/[blog_id].astro b/src/pages/blogs/[blog_id].astro
index 44e0138..d05a727 100644
--- a/src/pages/blogs/[blog_id].astro
+++ b/src/pages/blogs/[blog_id].astro
@@ -22,6 +22,6 @@ const tree = await toMarkdocTree(blogData.content)
---
-
+