Blog Page
shadcnexamples/blog-pageFreeBlock
Clean blog listing page with article cards, category filters, author info, and pagination. Optimized for readability and content discovery with a fully responsive layout.
Install it
npx shadcn@latest add https://shadcnexamples.com/r/blog-page.jsonSource
1import Image from "next/image";2import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";3import { Card, CardContent } from "@/components/ui/card";4import type { RegularBlogPost } from "../blog-posts";5import Link from "next/link";67export function BlogPostCard({ post }: { post: RegularBlogPost }) {8 return (9 <Link href="#" className="block transition-opacity hover:opacity-80">10 <Card className="overflow-hidden py-0 shadow-none gap-0">11 <Image12 src={post.imageSrc}13 alt={post.imageAlt}14 width={400}15 height={225}16 className="aspect-video w-full object-cover"17 />18 <CardContent className="grid gap-2 p-4">19 <h3 className="text-lg leading-relaxed font-semibold line-clamp-2">{post.title}</h3>20 <p className="text-muted-foreground line-clamp-2 text-sm">{post.description}</p>21 <div className="text-muted-foreground flex items-center gap-2 text-xs">22 <Avatar className="h-6 w-6">23 <AvatarImage src={post.authorAvatarSrc} />24 <AvatarFallback>25 {post.authorName26 .split(" ")27 .map((n: string) => n[0])28 .join("")}29 </AvatarFallback>30 </Avatar>31 <span>{post.authorName}</span>32 <span>•</span>33 <span>{post.readTime} read</span>34 </div>35 </CardContent>36 </Card>37 </Link>38 );39}
What it pulls in
npm packages
Other registry items
Files it writes
More from @shadcnexamples
All 70 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Activity Feedactivity-feed | @shadcnexamples | Blocks | Free | 1 dep | |
| Add Product Formadd-product-form | @shadcnexamples | Blocks | Free | 4 deps · 3 files | |
| AI Chatai-chat | @shadcnexamples | Blocks | Free | 2 deps · 8 files | |
| Authenticationauthentication | @shadcnexamples | Blocks | Free | 1 dep · 2 files | |
| Bento Gridbento-grid | @shadcnexamples | Blocks | Free | 1 dep | |
| Blog Detail Pageblog-detail-page | @shadcnexamples | Blocks | Free | 1 dep · 4 files | |
| Changelog Pagechangelog-page | @shadcnexamples | Blocks | Free | 1 dep | |
| Chat Appchat-app | @shadcnexamples | Blocks | Free | 2 deps · 5 files |
