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

推荐订阅源

J
Java Code Geeks
美团技术团队
Recent Announcements
Recent Announcements
B
Blog
GbyAI
GbyAI
雷峰网
雷峰网
博客园_首页
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Tailwind CSS Blog
M
MIT News - Artificial intelligence
V
V2EX
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
L
LangChain Blog
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
A
About on SuperTechFans
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
Last Week in AI
Last Week in AI
aimingoo的专栏
aimingoo的专栏

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

源蝶文档 Hanlo Theme 用户小黑屋 情侣主页 微信公众号同步 互动增强 BBS 社区 重要日期 知识库 新野-粗犷主义 站点访问控制 Lottie 动画 展示架 MCP Server 绿野 Luye Log Viewer 超级链接卡片 通知聚合 Akari 深色模式 文章投稿审核 AI RolePlay GitHub 人机验证 Afdian Plus Publica 公共门户 资源下载管理 文章数据趋势分析 归航寻亲 项目展厅
心愿便签
2026-08-06 · via Halo - 强大易用的开源建站工具 | 应用市场

心愿便签(Wishboard)

适用于 Halo 2.25+ 的心愿墙与树洞插件,为站点提供便签展示、访客投稿、内容审核和主题集成能力。

功能概览

  • 便签墙页面:提供独立的心愿墙与树洞页面,便签以卡片形式展示,桌面端支持拖动,新便签发布后无需刷新即可显示
  • 多种便签类型:内置心愿和树洞两种类型,并支持在后台创建自定义类型
  • 访客投稿:访客可以匿名或署名发布便签,并选择便签颜色和类型
  • 投稿开关:可随时关闭前台投稿,保留已有便签的公开展示
  • 内容审核:支持免审核、人工审核和 AI 自动审核
  • AI 能力:支持暖心回复、情绪标签、内容审核;AI 模型与服务商由 Halo AI Foundation 统一管理,Wishboard 使用其中配置的默认语言模型
  • 心愿追踪:支持待处理、进行中和已达成等状态,达成后可添加纪念照片与感言
  • 纪念日计数:可在便签墙显示纪念日天数和双方名称
  • 访问保护:支持访问频率限制和敏感词过滤
  • 数据管理:支持便签与类型的导入、导出、批量管理和审核
  • 主题适配:提供独立页面、主题模板覆盖和 Finder 数据访问能力

基本使用

安装并启用插件后,在插件设置中配置页面标题、投稿方式、审核模式和便签类型。

需要直接使用插件页面时,可启用内置页面并访问 /wishes。也可以在 Halo 后台创建便签墙页面,由当前主题提供 wishes.html 模板。

主题集成

使用主题模板

在主题的 templates/ 目录中创建 wishes.html,插件会优先使用主题模板渲染便签墙。主题可以自行控制页面布局和样式,便签数据通过 wishFinder 获取。

显示便签

<th:block th:if="${wishFinder != null}"
          th:with="wishes=${wishFinder.listApproved()}, typeMap=${wishFinder.getTypeMap()}">
  <article th:each="wish : ${wishes}">
    <span th:text="${typeMap[wish.spec.type]}">类型</span>
    <p th:text="${wish.spec.content}">便签内容</p>
    <span th:text="${wish.spec.anonymous ? '匿名' : wish.spec.nickname}">昵称</span>
  </article>
</th:block>

按类型显示

<th:block th:if="${wishFinder != null}"
          th:with="wishes=${wishFinder.listByType('wish')}">
  <article th:each="wish : ${wishes}">
    <p th:text="${wish.spec.content}">心愿内容</p>
    <span th:text="${wish.spec.status}">状态</span>
  </article>
</th:block>

可将 wish 改为 treehole 或后台创建的自定义类型标识。主题还可以使用:

  • wishFinder.listTypes():获取便签类型
  • wishFinder.countApproved():获取公开便签总数
  • wishFinder.countByType('wish'):获取指定类型数量
  • wishFinder.getTypeMap():获取类型名称映射

自定义 wishes.html 时,可直接使用插件注入的页面标题、副标题、纪念日设置、投稿开关和 AI 开关等模板变量。

交流

欢迎加入交流群了解更新、反馈问题和交流主题集成。

交流群

项目信息

二次开发与借鉴说明

如果你基于本项目进行二次开发、功能移植或实现思路借鉴,请主动告知开发者。这有助于了解项目的实际使用情况、协调兼容性,并减少重复开发。

上述告知属于社区协作倡议,不限制 GPL-3.0 已授予的复制、修改和再分发权利。发布或分发衍生作品时,仍需遵守 GPL-3.0 的源代码提供、许可证保留和版权声明要求。

如需联系开发者,请访问 https://www.aobp.cnhttps://github.com/atangccc。