Badge

使用紧凑的语义状态标签,无需自定义颜色或 JavaScript。

Badge 用于在功能、选项或版本名称旁边放置简短状态。作者选择语义 tone,Oink 再把它映射到主题 token,确保浅色与深色模式下都有足够的对比度。

适用场景

Badge 适合 Beta、New、Experimental 与 Deprecated 等生命周期状态。标签文字必须明确:颜色只能补充含义,不能代替文字。如果状态需要解释、操作说明或截止日期,请改用普通正文或提示框。

快速开始

源码

GO-HTML-TEMPLATE
{{< badge text="Beta" tone="warning" >}}
{{< badge text="已弃用" tone="danger" outline=false >}}
{{< badge text="v0.3" tone="info" link="/zh/blog/release/" >}}

渲染结果

默认 信息 已支持 Beta 已弃用 v0.3

最后一个 Badge 是链接,其余都是静态行内标签。

参数

Badge 参数

text , string , required

向读者显示的非空字符串。

tone , enum , default: neutral

可选值为 neutralinfosuccesswarningdanger

link , URL

经过校验的站内、相对、HTTP(S) 或 mailto: 目标。设置后 Badge 会成为链接。

outline , boolean , default: true

设置为 false 时使用实心样式。

布尔值不能加引号。例如应写作 outline=false,而不是 outline="false"。未知参数、非法 tone 或非法链接都会让 Hugo 构建停止,并报告源文件位置。

语义与回退

静态 Badge 输出为 span,带链接的 Badge 输出为 a。Oink 不会把它变成实时状态区域,因此新增 Badge 不会触发意外的屏幕阅读器播报。所有输出都保留可见文字:Markdown 使用强调文本并保留链接,打印与 RSS 使用静态行内内容。Badge 不加载 JavaScript。

有意保留的边界

Badge 不接受任意颜色、CSS class、样式或事件处理器。第一版也不提供 icon 参数。目前请使用简短而明确的文字;内容图标应在名称、许可证、无障碍与 Markdown 回退契约确定后,再单独提供公共接口。