惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Check Point Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
T
The Exploit Database - CXSecurity.com
I
Intezer
P
Privacy & Cybersecurity Law Blog
C
CERT Recently Published Vulnerability Notes
T
Tor Project blog
K
Kaspersky official blog
AWS News Blog
AWS News Blog
Schneier on Security
Schneier on Security
雷峰网
雷峰网
www.infosecurity-magazine.com
www.infosecurity-magazine.com
宝玉的分享
宝玉的分享
G
Google Developers Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Forbes - Security
Forbes - Security
T
The Blog of Author Tim Ferriss
S
Security @ Cisco Blogs
NISL@THU
NISL@THU
N
News and Events Feed by Topic
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
爱范儿
爱范儿
GbyAI
GbyAI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
Blog — PlanetScale
Blog — PlanetScale
Help Net Security
Help Net Security
F
Full Disclosure
V
Vulnerabilities – Threatpost
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
A
Arctic Wolf
D
Docker
T
Tailwind CSS Blog
L
LangChain Blog
The Last Watchdog
The Last Watchdog
美团技术团队
博客园 - Franky
H
Hacker News: Front Page
Stack Overflow Blog
Stack Overflow Blog
W
WeLiveSecurity
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Recorded Future
Recorded Future
V
Visual Studio Blog
N
Netflix TechBlog - Medium
Hacker News: Ask HN
Hacker News: Ask HN
博客园 - 司徒正美
Cyberwarzone
Cyberwarzone
S
Schneier on Security
Know Your Adversary
Know Your Adversary

shadcn/ui Changelog

July 2026 - React Aria July 2026 - Introducing @shadcn/helpers July 2026 - Base UI as the Default June 2026 - Components for Chat Interfaces June 2026 - GitHub Registries May 2026 - shadcn eject May 2026 - Introducing Rhea May 2026 - Registry Include and Validate May 2026 - Package Imports and Target Aliases April 2026 - shadcn preset April 2026 - Pointer Cursor April 2026 - Partial Preset Apply April 2026 - Introducing Sera April 2026 - shadcn apply April 2026 - Component Composition March 2026 - Introducing Luma March 2026 - shadcn/cli v4 February 2026 - Blocks for Radix and Base UI February 2026 - Unified Radix UI Package January 2026 - RTL Support January 2026 - Inline Start and End Styles January 2026 - Base UI Documentation December 2025 - npx shadcn create October 2025 - Registry Directory October 2025 - New Components September 2025 - Registry Index August 2025 - shadcn CLI 3.0 and MCP Server July 2025 - Universal Registry Items July 2025 - Local File Support June 2025 - radix-ui Migration June 2025 - Calendar Component May 2025 - New Site April 2025 - MCP April 2025 - shadcn 2.5.0 April 2025 - Cross-framework Route Support February 2025 - Tailwind v4 February 2025 - Updated Registry Schema January 2025 - Blocks Community December 2024 - Monorepo Support November 2024 - Icons October 2024 - React 19 October 2024 - Sidebar August 2024 - npx shadcn init April 2024 - Lift Mode March 2024 - Introducing Blocks March 2024 - Breadcrumb and Input OTP December 2023 - New Components July 2023 - JavaScript June 2023 - New CLI, Styles and more
July 2026 - Introducing shadcn/typeset
shadcn · 2026-07-10 · via shadcn/ui Changelog

A complete typography system for HTML, from blog posts to streaming chat. One CSS file you own.

Today we're releasing shadcn/typeset: a styling system for HTML and rendered markdown, in one CSS file.

Your app renders the same HTML elements everywhere: headings, paragraphs, lists, tables, and code. You style them for your blog, then your docs, and now chat. Typeset lets you style them once, then tune the rhythm for each context.

<div className="typeset">{content}</div>

Add one class and everything inside gets styled. Typeset follows the size of its container, uses your theme, and gives you three controls: size, leading, and flow.

You can create as many typesets as you need. Use a tighter rhythm for chat and a roomier one for docs:

.typeset-chat {
  --typeset-leading: 1.6;
  --typeset-flow: 1em;
}
 
.typeset-docs {
  --typeset-size: 15px;
  --typeset-leading: 1.75;
  --typeset-flow: 1.5em;
}
<div className="typeset typeset-chat">{message}</div>
<article className="typeset typeset-docs">{page}</article>

It's also designed for streaming, so new blocks don't restyle earlier ones. The file lives in your project. There's no package or config layer to work around.

Open the typeset builder to create yours, or read the Typeset docs for the full guide.