Featured Hero with Grid

Large featured article with side-by-side image and content, followed by a three-column grid of secondary posts. Read more buttons and author details included.

FREE

Blog index that promotes the first entry in posts into a large side-by-side hero card (cover image on one side, content on the other) and drops the remaining entries into a three-column grid underneath it. The hero and grid cards share the same author, tag, and date structure, just at different sizes.

Free block

This block is free. No license or account is required: install it with the CLI and use it in unlimited projects.

Installation

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/blog4"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/blog4"

This installs the block to components/beste/block/blog4.tsx, plus the badge, avatar, and button shadcn/ui primitives it uses for tags, author avatars, and the featured post's "Read more" button.

Quick start

The installed file exports blog4Demo alongside the block: the exact props behind the preview above. Spread it to get a working featured blog layout in one line.

tsx
import { Blog4, blog4Demo } from "@/components/beste/block/blog4";

export default function BlogIndexPage() {
  return <Blog4 {...blog4Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Blog4 } from "@/components/beste/block/blog4";

export default function BlogIndexPage() {
  return (
    <Blog4
      badge={{ label: "Blog" }}
      heading="Featured stories"
      description="Hand-picked reads from the team."
      labels={{ readMoreLabel: "Continue reading" }}
      posts={[
        {
          image: {
            src: "https://images.unsplash.com/photo-1517694712202-14dd9538aa97?w=800&fit=crop",
            alt: "Code on screen",
          },
          title: "Shipping faster with feature flags",
          summary: "How we roll out risky changes without breaking prod.",
          date: "March 2, 2026",
          readTime: "6 min read",
          author: { name: "Sam Rivera", title: "Staff Engineer" },
          tags: [{ label: "Engineering", href: "/blog/tag/engineering" }],
          href: "/blog/feature-flags",
        },
        {
          image: {
            src: "https://images.unsplash.com/photo-1460925895917-afdab827c52f?w=800&fit=crop",
            alt: "Analytics dashboard",
          },
          title: "Reading a funnel report",
          summary: "A short primer on where users actually drop off.",
          date: "February 20, 2026",
          readTime: "4 min read",
          href: "/blog/funnel-report",
        },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Section eyebrow badge
headingstringSection heading
descriptionstringSection intro text
postsBlogPost[][]First entry becomes the featured hero, the rest fill the grid
labels{ readMoreLabel?: string }Text for the featured hero's "Read more" button
classNamestringExtra classes for the outer <section>
ts
type BlogPost = {
  image: { src: string; alt: string };
  title: string;
  summary: string;
  date?: string;
  readTime?: string;
  author?: Author;
  tags?: Tag[];
  href?: string;
};

type Author = {
  name: string;
  title?: string;
  avatar?: { src: string; alt: string };
  href?: string;
};

type Tag = { label: string; href?: string };

Behavior notes

More Blog blocks

View all Blog
PRO

blog10

Alternating Feature Cards

Large alternating left-right blog cards with full article summaries. Image and content switch sides for visual variety. Read more buttons included.

PRO

blog43

Editorial Article Grid

A blog listing with an eyebrow over a hairline rule, a two-column heading, and three linked article cards with a hover-zoom image, a monospace category, a title, an excerpt, and byline.

FREE

blog3

Card Grid with Authors

Three-column responsive grid of blog cards featuring author avatars, tag badges, and hover zoom effects. Clean card design with date and read time metadata.

PRO

blog22

Full-Width Stacked Cards

Vertically stacked blog cards with 2:1 aspect ratio images. Full article summaries with author avatars and read more buttons. Long-form content showcase.

FREE

blog25

Split Image with List

Two-column layout with featured image on left and article list on right. Divider-separated entries with arrow hover effects.

PRO

blog13

Sidebar with Categories

Main content area with horizontal post cards plus sidebar. Categories show post counts and popular tags section with clickable badges.