Blog List
- Updated on
The LandingBlogList
component displays a collection of blog posts (LandingBlogPost
) in either a grid or list format. It includes customizable titles, descriptions, and various styling options.
Latest Articles
Check out our latest blog posts and stay updated with the newest trends.

Getting Started with Shipixen
Learn how to set up your first project using Shipixen templates and components.

Advanced Component Techniques
Discover advanced patterns and techniques for building complex components.
Usage
Import the component and use it to display a collection of blog posts:
import { LandingBlogList } from '@/components/landing/LandingBlogList';
import { LandingBlogPost } from '@/components/landing/blog/LandingBlogPost';
<LandingBlogList
title="Latest Articles"
description="Check out our latest blog posts and stay updated with the newest trends."
>
<LandingBlogPost
post={{
slug: "getting-started",
date: "2023-08-10",
title: "Getting Started with Shipixen",
summary: "Learn how to set up your first project using Shipixen templates and components.",
tags: ["Tutorial", "Beginners"],
images: ["/static/images/backdrop-1.webp"],
readingTime: 5,
author: {
name: "Jack Doe",
avatar: "/static/images/people/1.webp"
}
}}
/>
</LandingBlogList>
Examples
Grid Display
Display blog posts in a grid format instead of a list.
Featured Articles
Our most popular content curated for you.
With Background and Left-Aligned Text
Add a background and left-align the title and description.
Latest Updates
Stay updated with our newest content and announcements.

Next.js 13 Features You Should Know
Explore the most important features and improvements in Next.js 13.
Secondary Variant with Background Glow
Use the secondary color variant with a background glow effect.
Editor's Picks
Hand-picked articles from our editorial team.

TypeScript Tips for React Developers
Improve your React applications with these TypeScript best practices.
API Reference
Prop Name | Prop Type | Required | Default |
---|---|---|---|
children | ReactNode | Yes | - |
title | string | No | - |
titleComponent | ReactNode | No | - |
description | string | No | - |
descriptionComponent | ReactNode | No | - |
className | string | No | - |
variant | 'primary' | 'secondary' | No | 'primary' |
withBackground | boolean | No | false |
withBackgroundGlow | boolean | No | false |
backgroundGlowVariant | 'primary' | 'secondary' | No | 'primary' |
textPosition | 'center' | 'left' | No | 'center' |
display | 'grid' | 'list' | No | 'list' |
export interface BlogPost {
slug: string; // Unique identifier for the blog post
date: string; // Publication date of the post
title: string; // Title of the blog post
summary?: string; // Brief summary of the blog post content
tags?: string[] | Array<{url: string; text: string}>; // Array of category tags (strings) or objects with url and text properties
images?: string[]; // Array of image URLs, with the first one used as the post thumbnail
readingTime?: number; // Estimated reading time in minutes
author?: {
name?: string; // Name of the blog post author
avatar?: string; // URL to the author's avatar image
};
}
More Examples
For more examples, see Blog Post.