LinkCard 链接卡片组件:小而精致的资源推荐块

介绍 LinkCard 组件的设计思路——标题、描述、图标和链接组成的紧凑信息卡,适合在文章中展示站点、项目或外部资源。

2026年6月24日
推荐阅读 2 分钟
413 字
浏览量
观众数

为什么需要 LinkCard

有些外部资源不值得上完整横幅,但又比普通文本链接更需要存在感,比如项目地址、工具站点、作者主页、参考资料。

LinkCard 组件就是为这种场景准备的:一行标题、一行描述,右侧配一张小图标,形成紧凑但清晰的推荐卡片。

效果预览

基本用法

最常见的用法就是传入 linktitleicon

自动描述回退

如果不传 description,组件会自动尝试从链接中提取域名作为说明文字:

纯展示卡片

不传 link 时,组件仍然可以作为纯展示信息卡片使用:

字段说明

这版组件字段和你旧项目里的预览数据结构保持一致:

icon: https://picsum.photos/100/100
title: 标题
description: 这是一行描述,如果不提供描述会展示域名
link: "#link-card"

Props 一览

属性类型必填说明
linkstring链接地址,不传则渲染为纯展示卡片
titlestring卡片标题
descriptionstring卡片描述,不传时尝试显示域名
iconstring右侧图标或封面图地址
classstring追加类名

核心实现

域名回退

当没有传入描述时,组件会从 link 中提取域名:

function getDomain(url: string): string {
  try {
    return new URL(url).hostname.replace(/^www\./, "");
  } catch {
    return url;
  }
}

const resolvedDescription = description ?? (link ? getDomain(link) : "");

外链判断

外部链接会自动加上 target="_blank"rel="noopener noreferrer"

function isExtLink(url: string): boolean {
  return url.startsWith("http") && !url.includes(siteHost);
}

无图兜底

如果没有传 icon,组件会自动用标题首字生成一个简洁的占位块,避免右侧区域塌掉。

小结

LinkCard 适合放在文章中部做轻量推荐。相比普通链接,它更容易被注意到;相比大图横幅,它又更节制。用来展示参考资料、作者主页、源码仓库、工具入口都很顺手。

打赏中心

感谢你赐予我前进的力量

微信 微信
支付宝 支付宝
赞赏者名单 因为你们的支持让我意识到写文章的价值

来过,就留下你的足迹吧!