Skip to content
GetUrUI

Blog cards

4 variantsNew
.md

Four ways to present a post — editorial cover, compact list, featured series and author-led quote — each with its own motion moment, from layered parallax to a gliding row highlight.

blogarticlepostcardjournaleditorialreading timebookmarkseries

Editorial

editorial.tsx

Cover card with a drawn type specimen whose layers drift under the pointer, plus category, excerpt and byline.

$npx shadcn@latest add @geturui/blog-cards-editorial
.zip
PropTypeDefaultDescription
category / title / excerptstring—Post content.
author / monogramstring—Byline and avatar initials (derived from author when omitted).
datestring"2026-09-28"ISO date, formatted as Sep 28, 2026.
readingMinutesnumber8Reading time in minutes.
issuestring"Issue 14"Label printed on the cover.
href / onOpenstring / () => void—Destination and click handler for the card.
classNamestring—Extra classes on the root element.

Compact list

compact-list.tsx

List of posts with reading-progress rings, a highlight that glides between rows and arrow-key navigation.

$npx shadcn@latest add @geturui/blog-cards-compact-list
.zip
PropTypeDefaultDescription
headingstring"Latest from the journal"Title above the list.
postsCompactPost[]—{ id, title, category, date, readingMinutes, progress?, href? } per row.
allHrefstring"#"Link for View all.
onSelect(post: CompactPost) => void—Called when a row is opened.
classNamestring—Extra classes on the root element.

Author-led

author.tsx

Byline-first card with a pull quote, a bookmark that pops and ticks its count, and a copy-link action.

$npx shadcn@latest add @geturui/blog-cards-author
.zip
PropTypeDefaultDescription
author / role / monogramstring—Byline shown first.
title / quotestring—Post title and the pulled line.
date / readingMinutesstring / number—ISO date and reading time.
href / shareUrlstring—Post link and the URL copied by Copy link.
savesnumber214Bookmark count from other readers.
saved / defaultSaved / onSavedChangeboolean / (saved: boolean) => void—Controlled or initial bookmark state.
classNamestring—Extra classes on the root element.

Install the whole set

Installs every blog cards variant at once. Each section above has its own command for a single variant.

$npx shadcn@latest add @geturui/blog-cards
Download source (.zip)

Accessibility

  • Cards are real links or contain one clear link, with a visible focus ring; drawn covers are hidden from assistive tech.
  • Toggles such as bookmark use aria-pressed, counts update in place and a status message confirms copied links.
  • Parallax, gliding highlights and directional slides fall back to fades with reduced motion.

Related