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

推荐订阅源

Microsoft Security Blog
Microsoft Security Blog
Google DeepMind News
Google DeepMind News
P
Privacy International News Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Threatpost
GbyAI
GbyAI
V
Visual Studio Blog
H
Help Net Security
Vercel News
Vercel News
P
Palo Alto Networks Blog
Project Zero
Project Zero
AWS News Blog
AWS News Blog
Latest news
Latest news
Cyberwarzone
Cyberwarzone
C
Cybersecurity and Infrastructure Security Agency CISA
The Register - Security
The Register - Security
博客园_首页
WordPress大学
WordPress大学
G
GRAHAM CLULEY
T
Tor Project blog
有赞技术团队
有赞技术团队
Know Your Adversary
Know Your Adversary
AI
AI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
O
OpenAI News
博客园 - 聂微东
月光博客
月光博客
S
Security Affairs
Webroot Blog
Webroot Blog
L
LangChain Blog
Apple Machine Learning Research
Apple Machine Learning Research
NISL@THU
NISL@THU
N
News and Events Feed by Topic
Blog — PlanetScale
Blog — PlanetScale
S
Securelist
V
Vulnerabilities – Threatpost
aimingoo的专栏
aimingoo的专栏
阮一峰的网络日志
阮一峰的网络日志
Stack Overflow Blog
Stack Overflow Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
D
DataBreaches.Net
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Y
Y Combinator Blog
Cisco Talos Blog
Cisco Talos Blog
The Cloudflare Blog
IT之家
IT之家
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
L
Lohrmann on Cybersecurity
T
The Blog of Author Tim Ferriss

Halo - 强大易用的开源建站工具 | 应用市场

氢·简 Floating Particles Huohuo Weather Glass Vahlok AstraHub 星链 全局私密 业余无线电 QSL卡片管理系统 Bark 推送 微信读书(WeRead)信息展示 自定义社交分享卡片 Halorum 文章加密 KMath 轻言 Navidrome 播放器 家庭私厨 页面转换器 Sky Blog 3(macOS) 在线显示 邀请码注册 安全跳转助手 日程日历 Cartly 商城主题
文章组件
2026-06-09 · via Halo - 强大易用的开源建站工具 | 应用市场

Halo 文章组件插件

为 Halo 文章提供一组可在编辑器中快速插入、前台自动渲染的内容增强组件。插件内置提示框、标签页、折叠面板、聊天气泡、时间线、步骤、复制命令、图片、进度条等常用内容块,让文章排版和交互展示更丰富。

🌐 演示与交流

预览

编辑器组件选择

前台渲染效果

内置组件

当前包含以下组件:

  • 提示:提示框、悬浮提示、引用、便签、结果
  • 布局:标签页、折叠面板、分栏、步骤、时间线、卡片列表、对比
  • 代码:复制命令、命令组、快捷键
  • 展示:聊天、图片、进度条、状态、徽标、按钮、任务清单
  • 行内:表情时钟、模糊文本、批注、阅读时间

作为标签使用

如果你使用默认编辑器,通常只需要在编辑器中插入和配置组件。除此之外,也可以直接在文章 HTML 中使用 xhhao-com-* 标签。

xhhao-com-alert

提示框,适合展示提醒、信息、问题、警告、错误等内容。

<xhhao-com-alert type="warning" title="注意">
  这里写警告内容。
</xhhao-com-alert>

参数:

  • type:状态,可选值为 tipinfoquestionwarningerror
  • title:标题。
  • icon:自定义图标,支持 SVG 字符串或图片 URL。

xhhao-com-tab

标签页,用于把内容切分到多个页签中。

<xhhao-com-tab tabs="介绍,示例" active="1">
  <xhhao-com-tab-panel>第一个标签页内容。</xhhao-com-tab-panel>
  <xhhao-com-tab-panel>第二个标签页内容。</xhhao-com-tab-panel>
</xhhao-com-tab>

参数:

  • tabs:标签名称,使用英文逗号分隔。
  • active:默认激活的标签序号,从 1 开始。
  • center:是否居中显示标签。

xhhao-com-copy

复制命令,用于展示可一键复制的代码或命令。

<xhhao-com-copy prompt="$">
  pnpm install
</xhhao-com-copy>

参数:

  • prompt:命令提示符,例如 $>

xhhao-com-chat

聊天气泡,用于展示对话内容,支持头像、徽标、自己消息和系统消息。

<xhhao-com-chat>
  <xhhao-com-chat-item
    name="Ryan Wang"
    avatar="https://example.com/avatar-a.png"
    badge="Halo 作者"
  >
    你好呀,我准备一块钱把 Halo 项目转移给你
  </xhhao-com-chat-item>
  <xhhao-com-chat-item
    name="Handsome"
    avatar="https://example.com/avatar-b.png"
    badge="我"
    self
  >
    真的吗
  </xhhao-com-chat-item>
  <xhhao-com-chat-item name="系统提示" system>
    当真的这辈子有了
  </xhhao-com-chat-item>
</xhhao-com-chat>

参数:

  • name:昵称。
  • avatar:头像 URL。
  • badge:昵称旁的徽标。
  • self:是否显示为自己的消息。
  • system:是否显示为系统消息。

xhhao-com-progress

进度条,用于展示百分比或任务进度。

<xhhao-com-progress label="迁移进度" value="80" max="100" color="#3b82f6"></xhhao-com-progress>

参数:

  • label:进度标题。
  • value:当前值。
  • max:最大值,默认 100
  • color:自定义颜色。

前台资源

插件启用后会自动向前台页面注入独立资源:

<script src="/plugins/content-widgets/assets/static/content-widgets.iife.js"></script>
<link rel="stylesheet" href="/plugins/content-widgets/assets/static/content-widgets.css" />

资源由插件自身构建和提供,不需要主题主动引入。

PJAX 兼容

插件本身不会实现 PJAX。前台脚本会在首次加载时自动挂载组件,并暴露:

window.XhhaoComContentWidgets?.mount(document)

如果主题使用 PJAX / Swup,只需要在页面替换完成后调用一次 mount 即可。重复调用不会重复挂载已经处理过的组件。

主题适配

插件样式内置了一组 --xhhao-com-* CSS 变量,并对常见主题变量提供 fallback。一般情况下无需主题额外适配。

常用变量:

变量名 描述
--xhhao-com-text-1 主要文字颜色
--xhhao-com-text-2 次要文字颜色
--xhhao-com-bg 页面背景颜色
--xhhao-com-bg-card 卡片背景颜色
--xhhao-com-bg-2 次级背景颜色
--xhhao-com-border 边框颜色
--xhhao-com-primary 主色
--xhhao-com-shadow 阴影颜色
点击查看 CSS 变量模板
:root {
  --xhhao-com-text-1: #111827;
  --xhhao-com-text-2: #6b7280;
  --xhhao-com-bg: #ffffff;
  --xhhao-com-bg-card: #ffffff;
  --xhhao-com-bg-2: #f8fafc;
  --xhhao-com-border: #e5e7eb;
  --xhhao-com-primary: #3b82f6;
  --xhhao-com-shadow: rgb(15 23 42 / 0.08);
}

从主题移除重复加载

如果你是从主题内置内容组件迁移到插件,需要移除主题侧的旧入口,避免重复加载:

  • 移除主题主样式中对内容组件样式目录的引入。
  • 移除主题前端入口里对旧内容组件挂载逻辑的自动执行。
  • 保留主题自己的其它前台能力,例如相册、天气、PJAX 等。

如果文章里仍有旧标签,需要将 c-* 批量改为 xhhao-com-*,例如 c-alert 改为 xhhao-com-alert

开发构建

请在项目根目录执行:

source "$HOME/.nvm/nvm.sh"
nvm use 22
pnpm install
pnpm build
sh gradlew build

许可证

GPL-3.0 © Handsome