Some checks failed
		
		
	
	🚀 Build and deploy by ftp / 🎉 Deploy (push) Failing after 8m21s
				
			
		
			
				
	
	
		
			37 lines
		
	
	
		
			1021 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1021 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import ListLayout from '@/layouts/ListLayoutWithTags';
 | |
| import { allCoreContent, sortPosts } from 'pliny/utils/contentlayer';
 | |
| import { allBlogs } from 'contentlayer/generated';
 | |
| 
 | |
| const POSTS_PER_PAGE = 5;
 | |
| 
 | |
| export const generateStaticParams = async () => {
 | |
|   const totalPages = Math.ceil(allBlogs.length / POSTS_PER_PAGE);
 | |
|   const paths = Array.from({ length: totalPages }, (_, i) => ({
 | |
|     page: (i + 1).toString(),
 | |
|   }));
 | |
| 
 | |
|   return paths;
 | |
| };
 | |
| 
 | |
| export default function Page({ params }: { params: { page: string } }) {
 | |
|   const posts = allCoreContent(sortPosts(allBlogs));
 | |
|   const pageNumber = parseInt(params.page as string);
 | |
|   const initialDisplayPosts = posts.slice(
 | |
|     POSTS_PER_PAGE * (pageNumber - 1),
 | |
|     POSTS_PER_PAGE * pageNumber,
 | |
|   );
 | |
|   const pagination = {
 | |
|     currentPage: pageNumber,
 | |
|     totalPages: Math.ceil(posts.length / POSTS_PER_PAGE),
 | |
|   };
 | |
| 
 | |
|   return (
 | |
|     <ListLayout
 | |
|       posts={posts}
 | |
|       initialDisplayPosts={initialDisplayPosts}
 | |
|       pagination={pagination}
 | |
|       title="All Posts"
 | |
|     />
 | |
|   );
 | |
| }
 |