Aether 以太主题 RC3 —— 论坛的下一次进化
Tillreetree 6月前

Aether 以太主题正式进入 Release Candidate 阶段。

从 2 月 13 日的 B1 到今天,五个月的迭代——HTMX 交互系统、MD3 色彩体系、40+ 插件兼容、无障碍审计、多语言框架、广告系统、轮播图……终于走到了候选发布这一步。

它是一个有主张的设计系统。

Aether 是 LightSail 在 2017 年用 Framework7 做的"魔王刀锋"主题的现代"精神续作"版本。它不是万能容器,不会为了兼容所有审美而放弃视觉一致性。它只服务一种体验:让每一次点击、每一次阅读、每一次发帖,都流畅得像在用一个 App。

  • HTMX 驱动的类 App 交互:无刷新、有骨架屏、返回行为符合直觉
  • 为眼睛设计的排版:16px 起步字号、宽松留白、深色模式全链路适配
  • 模块化页面结构:S1/S2/S3 空间系统,让复杂页面井然有序
  • 面向未来的兼容性:首批适配 haya_follow、tt_ranklist 等核心插件
  • 人性化细节:私信自动轮询、附件拖拽上传……

它不是给所有人的。它是给那些觉得"论坛还能不一样"的人准备的。你可能会觉得这不像论坛——对,因为它在尝试另一种可能。如果你看完了觉得"这不是我想要的",那也没关系,Stately 还在。

如果你看完了觉得"我想试试",那么——欢迎上船。

演示站点击我!

本次发布包含:

  • abs_theme_aether_*.zip:主题本体——请务必下载最新版(数字最大的版本)!!!
  • Aether首批兼容插件.zip:已适配插件

注意:RC 阶段核心功能已全部稳定,建议先在测试站验证再上线生产环境。发现问题请通过主题设置页面的「反馈」入口提交。

我们诚邀您测试、反馈、共建——因为 Aether 不属于我,属于每一个相信"论坛还能更好"的人。

Tillreetree · 2026年7月15日

特别感谢所有 Stately 用户多年来的陪伴。Stately 会尝试继续维护。

注意事项

本主题强制要求启用伪静态功能

更新记录

RC3 2026.07.20 2026.07.22

本次更新的主要内容为 性能优化(LCP 修复)无障碍审计修复,基于 27 份 Lighthouse 报告(9 个页面 × 3 次采样)的诊断分析。参考友商主题能跑到 LCP 2-4s、Perf 80+,证明 Xiuno 本身可以很快。

性能优化

LCP 修复

  • 改进:首页 LCP 图片(看板娘 hero 图)优化
    • homepage_v1.htm / homepage_v2.htm:看板娘 hero 图改为 <picture> + <source type="image/webp"> + srcset + sizes + fetchpriority="high" + loading="eager"
      • 不过我撤销了这个修改,因为这个头图是用户可替换的
    • master.htm:首页 LCP 图片 preload(仅首页且未启用轮播图时,preload 静态看板娘 hero 图,带 imagesrcset/imagesizes/fetchpriority="high")
    • 生成看板娘多尺寸 WebP 图片(480w/960w/1600w/2400w),供 srcset 按视口宽度选择
  • 改进:帖子列表/详情图片加载优化
    • 6 个 threadlist_item 文件:<img> 补 alt 属性 + loading="lazy" + decoding="async"
    • image_v1.htm:同上
  • 改进:渲染阻塞资源优化
    • jQuery 从 <head> 移除,改为 <body> 末加载(通过 Asset 类合并到 aether.min.js)
    • <head> 中的 JS 全部加 defer,避免阻塞首屏渲染
    • 字体 CSS 异步加载:Light/Semibold/Black 字重使用 media="print" onload="this.media='all'" 技巧(通过 Asset 类 addCssFileAsync),不阻塞渲染
    • line-awesome.min.css:添加 font-display: swap
  • 改进:第三方插件渲染阻塞修复
    • zaesky_discovery_looppic 插件的 Swiper CSS 改为异步加载(media="print" onload),消除所有 Aether 页面的渲染阻塞(wastedMs 823-845)
  • 改进:preconnect 到第三方 CDN
    • master.htm 添加 preconnectcdn.staticfile.orgunpkg.com,提前建立连接

静态资源缓存策略

该部分需要您亲自编辑htaccess文件或nginx伪静态规则。

  • 改进:增强根目录 .htaccess 缓存配置
    • 增强 deflate 压缩:添加 HTML/XML/JSON 压缩 + AddOutputFilterByType
    • 添加 Brotli 压缩支持(mod_brotli,比 gzip 更高效)
    • 添加 Nginx 配置参考注释(匹配 /aether_demo/ 部署路径,含静态资源 1 年 immutable 缓存 + Gzip + Brotli 配置)
  • 说明:根目录 .htaccess 已有 1 年 immutable 缓存配置(字体/CSS/JS/图片),远程 Nginx 服务器需按注释中的 Nginx 配置片段手动部署

清理未使用资源

  • 删除:view/img/旧版/ 目录(17 个 PNG 图片,16.90 MB)
  • 删除:view/img/未使用/ 目录(22 个 PNG 图片,22.62 MB)
  • 删除:unused/ 目录(setting.htm, setting.php)
  • 总计释放约 39.52 MB,所有删除的文件均已确认无代码引用

无障碍审计修复

基于 Lighthouse A11y 报告,修复了以下审计失败项:

图片无障碍

  • 修复:帖子列表/详情图片缺失 alt 属性
    • 6 个 threadlist_item 文件 + image_v1.htm<img> 补 alt 属性
  • 修复:link-name 审计 — 图片被 <a> 包裹但链接无可访问名
    • hook/model_misc_end.php:增强 aether_lightbox_wrap_images() 函数,解析 <a><img> 的 alt(或从文件名生成),给 <a> 补充 aria-labeltitle

按钮与控件无障碍

  • 修复:button-name 审计 — 移动端文字隐藏导致按钮无可访问名
    • thread_mod.htm:管理操作下拉按钮添加 aria-label
    • homepage_v1.htm:轮播图指示器按钮添加 aria-label
  • 修复:aria-progressbar-name 审计 — 经验值进度条缺 aria-label
    • my_header.htm:进度条添加 aria-label
  • 修复:label-content-name-mismatch 审计 — 按钮的 aria-label 与可见文字不匹配
    • overwrite/view/htm/thread.htm:S3 快速回帖输入框的 aria-label 改为包含可见文字
  • 修复:帖子列表复选框缺无障碍标签
    • threadlist_checkbox.htm:input 添加 aria-label

语义结构修复

  • 修复:list / listitem 审计 — HTMX 占位符 div.dummy 破坏 ul>li 结构
    • 4 个页面文件:<div class="dummy"><li class="dummy">(homepage_v1/v2、my_thread、forum_s2)
    • hook/thread_list_inc_end.htm:2 处 <div class="infinite-scroll-loader"><li>
    • 7 个 skeleton 文件:外层 <li><div> 避免 li 嵌套 li(classic_v1/image_v1/news_v1/v2/v3/sns_v1/v2)
    • 共 12 处文件修改
  • 修复:heading-order 审计 — 标题层级跳跃(h5/h6 跳级)
    • 3 个文件 7 处修改:用 Bootstrap .hN class 保持视觉样式的同时修正语义层级
    • homepage_v1.htm(3 处)、view/htm/bbs.htm(1 处)、thread_s3.htm(3 处)

颜色对比度与点击区域(CSS 注入)

  • 修复:target-size 审计 — 轮播图指示器按钮点击区域过小
    • master.htm:注入 CSS,.carousel-indicators [data-bs-target] 最小 24x24px + ::before 扩展点击区域

验证结果(2026.07.22)

部署到远程服务器,重新运行 Lighthouse 测试对比修复效果:

优化前后对比(2026.07.20 → 2026.07.22)

页面 Perf A11y BestP SEO LCP
主页 58 → 61 81 → 94 89 91 → 100 9.3s → 10.9s
所有板块 59 → 60 94 → 95 93 → 89 91 → 100 12.1s → 11.6s
单板块 58 → 59 81 → 96 89 82 → 91 18.4s → 18.6s
文字帖 54 → 82  79 → 93  75 91 13.5s → 2.7s 
图片帖 57 → 60 68 → 90  75 82 → 91 27.9s → 10.7s
用户页 58 96 96 91 → 100 16.1s → 12.1s
用户发表 67 → 75 88 → 96 93 91 → 100 5.2s → 4.3s

改善项

  • A11y 大幅提升 — 文字帖 79→93、图片帖 68→90,alt/aria-label 补全生效
  • 文字帖 Perf 54→82,LCP 从 13.5s 砍到 2.7s — 最大单项获益
  • SEO 集体到 100 — 原来缺失的 meta/title 补全
  • 图片帖 LCP 从 27.9s → 10.7s — hero preload + WebP 生效
  • CLS 全部归零 — 无布局偏移

遗留问题

  • 列表页(主页/板块/个人中心等)LCP 仍 10-18s — 将逐步解决
  • Perf 均值 ~62(之前 ~58),提升有限
  • BestP 没有变化

Memcached + OPCache 后端缓存优化(2026.07.22)

PHP.INI 修正后重新部署复测。修正项:opcache.revalidate_freq=0opcache.jit_buffer_size=128M、启用 realpath_cache_size=4096K + realpath_cache_ttl=600

页面 Perf A11y BestP SEO LCP CLS
主页 60 94 89 100 12s 0.001
所有板块 60 95 93 100 11s 0
单板块 60 96 89 91 19s 0
文字帖 54 93 75 91 12s 0
图片帖 60 90 75 91 11s 0.001
用户页 59 96 96 100 12s 0
用户发表 60 96 93 100 11s 0
个人中心 59 96 96 100 12s 0
个人发表 59 96 93 100 11s 0

结论:PHP.INI 修正后各项分数稳定,无异常波动。 LCP 11-19s 的瓶颈确认不在 PHP 执行层,而是远程演示站到 Lighthouse CLI 的网络延迟。与上一轮(PHP.INI 不正确时)数据对比,Perf/BestP 核心值一致,A11y 和 SEO 因之前的 TRAE 修复已处于高位。

杂项

  • 微调:调试信息弹窗内容会根据页面实际内容进行更新了

RC2 Patch1 2026.07.20

  • 自带的HarmonyOS Sans SC字体移除了未使用的字重(只保留了 Light/Regular/Semibold/Bold/Black),并优化加载策略
  • 修复:帖子往返导航后浏览器返回导致的 S3 骨架屏残留
    • 场景:S3 帖子详情 → 点击 S3-Header 返回按钮回到 S2 版块列表 → 点击另一篇帖子进入 S3 → 按浏览器返回键
    • 此前故障:S3-Body 显示骨架屏,且 S3-Header 标题是上一帖的而非当前帖
    • 根因:HTMX 历史恢复时的 htmx:historyRestore 事件在 S3→S2→S3 往返路径下未能正确替换骨架屏内容
    • 验证:2026.07.20 经手机视口浏览器完整走完该路径,S3 返回和浏览器返回键均正确回到 S2 列表页,无骨架屏残留

建议

如果使用Apache,建议在.htaccess中添加以下内容(在安装主题时不会做这个,请手动添加)(Nginx请自寻方案):

# ================================================================================
# 静态资源缓存优化
# ================================================================================

<IfModule mod_expires.c>
    ExpiresActive On

    # 字体文件 - 长期缓存(1年)+ immutable
    # woff2 字体文件名包含哈希,可以安全地长期缓存
    ExpiresByType font/woff2 "access plus 1 year"
    ExpiresByType font/woff "access plus 1 year"
    ExpiresByType font/ttf "access plus 1 year"
    ExpiresByType font/otf "access plus 1 year"
    ExpiresByType application/font-woff2 "access plus 1 year"
    ExpiresByType application/font-woff "access plus 1 year"
    ExpiresByType application/font-ttf "access plus 1 year"
    ExpiresByType application/font-otf "access plus 1 year"

    # CSS 和 JS - 长期缓存(1年)
    # 文件名通常包含版本号或哈希
    ExpiresByType text/css "access plus 1 year"
    ExpiresByType application/javascript "access plus 1 year"
    ExpiresByType text/javascript "access plus 1 year"

    # 图片 - 长期缓存(1年)
    ExpiresByType image/webp "access plus 1 year"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/jpg "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType image/gif "access plus 1 year"
    ExpiresByType image/svg+xml "access plus 1 year"
    ExpiresByType image/x-icon "access plus 1 year"

    # HTML - 不缓存
    ExpiresByType text/html "access plus 0 seconds"
</IfModule>

<IfModule mod_headers.c>
    # 字体文件 - 添加 immutable 标记
    # 告诉浏览器文件永远不会改变,不需要重新验证
    <FilesMatch "\.(woff2|woff|ttf|otf)$">
        Header set Cache-Control "public, max-age=31536000, immutable"
    </FilesMatch>

    # CSS 和 JS - 长期缓存
    <FilesMatch "\.(css|js)$">
        Header set Cache-Control "public, max-age=31536000, immutable"
    </FilesMatch>

    # 图片 - 长期缓存
    <FilesMatch "\.(webp|jpe?g|png|gif|svg|ico)$">
        Header set Cache-Control "public, max-age=31536000, immutable"
    </FilesMatch>
</IfModule>

# 压缩字体文件(如果服务器支持)
<IfModule mod_deflate.c>
    <FilesMatch "\.(woff2|woff|ttf|otf|css|js|svg)$">
        SetOutputFilter DEFLATE
    </FilesMatch>
</IfModule>

如果使用Nginx,请在对应的 server 块或 location 中添加以下等效配置(在安装主题时不会做这个,请手动添加):

# ================================================================================
# 静态资源缓存优化(Nginx 等效配置)
# ================================================================================

# 字体文件 - 长期缓存(1年)+ immutable
# woff2 字体文件名包含哈希,可以安全地长期缓存
location ~* \.(woff2|woff|ttf|otf)$ {
    expires 1y;
    add_header Cache-Control "public, immutable";
    access_log off;
}

# CSS 和 JS - 长期缓存(1年)
# 文件名通常包含版本号或哈希
location ~* \.(css|js)$ {
    expires 1y;
    add_header Cache-Control "public, immutable";
    access_log off;
}

# 图片 - 长期缓存(1年)
location ~* \.(webp|jpe?g|png|gif|svg|ico)$ {
    expires 1y;
    add_header Cache-Control "public, immutable";
    access_log off;
}

# HTML - 不缓存
location / {
    expires -1;
    add_header Cache-Control "no-cache, no-store, must-revalidate";
}

# 压缩字体文件、CSS、JS、SVG(如果服务器支持)
gzip on;
gzip_types font/woff2 font/woff font/ttf font/otf
           text/css application/javascript text/javascript
           image/svg+xml;
gzip_min_length 1024;
gzip_vary on;

也可以使用CDN来解决静态资源缓存问题。

杂项

导航故障的复现步骤:

要用手机大小
1    访问https://www.xstately.com/aether_demo/thread-64.htm
2    点击S3 Header左上角的返回按钮
3    视觉上会回到了S2的该帖子所在板块
4    点击一个帖子 https://www.xstately.com/aether_demo/thread-65.htm
5    S3会呼出,显示帖子内容
6    按浏览器返回键
7    故障出现:S3被重置为骨架屏,但S3 Header为之前访问过的帖子标题

RC2 2026.07.18 2026.07.19

已通过QwenPaw的全量回归测试,没有发现任何问题。但有几个细节我还是调整了一下的。

  • 改进:Pace 进度条颜色微调,全面使用CSS变量
  • 改进:S5 回帖弹窗 ( #S5_post_reply_modal ) 在 DOM 中一直存在,仅通过 CSS transform: translateY(100%) 视觉隐藏。屏幕阅读器可以浏览到弹窗内的表单内容("发表回复"按钮、文本框等),即使弹窗并未打开。这个问题解决了。

RC1 Patch1 2026.07.15

  • 修复:在手机端,从主页(S2)进入帖子页面(S3),点击用户头像(进入S4),点击S4左上角返回,会发现S3整体被滚动了(而不是滚动S3-Body);同样的,点击相关帖子推荐也S3整体会被滚动
  • 改进:抽奖助手插件的输入卡密多行文本框现在会一直显示,而不是需要先在"发放方式"下拉框中选择"自动发放"
  • 改进:抽奖助手插件的添加奖品、移除奖品按钮现在只会绑定一次事件,这样不会出现点击一次按钮会添加多个奖品输入框的情况
  • 改进:表情包插件的表情包选单使用弹窗形式
  • 改进:滚动条将会只在鼠标或键盘焦点聚焦的时候显示,在PC端更清爽
  • 修复:tinymce编辑器的工具条在吸顶之后无法恢复正常位置,这个问题已经被修复
  • 现在RC1彻底结束

RC1 2026.07.10 —— 候选发布阶段

  • 改进:从B9版本开始注意到的S2 header z-index问题终于被解决
    • 使用 CSS :has() 选择器,当 dropdown-menu 打开时自动提升 #S2-Header 的 z-index,同时保持了 header-sub-header 的 sticky 视觉效果。
  • 改进:键盘焦点移动功能完善(TRAE SOLO 辅助完成)
    • 为所有 Sheet 切换函数(showS3/hideS3/toggleS3/openInS3/showS4/hideS4/navigateToUserThreadsS2)添加焦点管理,有助于无障碍访问
    • 新增 _focusElement(selector) 辅助函数:优先查找 tabindex=-1 的元素,其次可聚焦元素,最后设置容器本身 tabindex=-1 并聚焦
    • showS6 已有焦点管理,hideS6 恢复到之前焦点
  • 改进:网络恢复通知(TRAE SOLO 辅助完成)
    • 添加 online 事件监听,网络恢复时显示 success 类型 Snackbar 通知,持续 3 秒
    • 与离线通知对称,用户能感知网络状态变化
  • 新增:主页轮播图功能(TRAE SOLO 辅助完成)
    • 使用 Bootstrap 5 Carousel 组件,4秒自动切换,悬停暂停
    • 支持双来源:自定义图片矩阵(图片/链接/描述)或板块帖子(取前5帖,优先封面图)
    • 有数据时显示 Carousel + 箭头/指示器,无数据或关闭时回退到静态看板娘图片
    • 对应设置项:homepage_banner/toggle, homepage_banner_source/select, homepage_banner_images/matrix_text, homepage_banner_from_forum/forumlist_dropdown
  • 改进:conf.php 设置项同步修正(TRAE SOLO 辅助完成)
    • 删除未使用的 homepage_announcement 设置项
    • 修正 homepage_recommend_forums_ids 的描述(从"输入ID用逗号分隔"改为"选择板块")
    • 验证所有设置项与 homepage_v1.htm 模板实际使用完全同步
  • 改进:自定义触发器 loadNextPage → revealed-in-sheet 重命名(TRAE SOLO 辅助完成)
    • 原因:loadNextPage 太泛,不能体现"在 Sheet 容器内滚动触发"的含义
    • 新名称 revealed-in-sheet 符合 HTMX 事件命名的 kebab-case 风格
    • 同步更新所有引用文件:thread_list_inc_end.htm, post_list_inc_end.htm, my_notice_s3.htm, my_thread.htm, htmx_revealed_in_sheet.js
    • 触发器使用说明已写入更新记录
  • 改进:看板娘图片 assets 配置修正(TRAE SOLO 辅助完成)
  • 改进:推荐帖子区域统计信息图标化(TRAE SOLO 辅助完成)
    • 使用 d-flex flex-wrap gap-2 弹性布局替代原有分隔符
    • 与 thread_s3.htm 中帖子主统计区域风格一致
  • 修复:推荐帖子点击后 S3 滚动位置异常(TRAE SOLO 辅助完成)
    • 根本原因:HTMX 替换 S3 innerHTML 后,S3-Body 滚动位置未被重置,仍停留在底部推荐帖子区域
    • 修复:在 htmx:afterRequest 中针对 #S3 目标重置 scrollTop = 0 并移除 scrolled 类
    • 每次 S3→S3 导航都自动回到顶部,确保用户看到帖子标题栏

Aether 正式进入 Release Candidate 阶段。

设计哲学

Aether 是我一直追随的那个"魔王刀锋主题"的现代版本。它注定可能不会受人青睐,但……它尽可能像一个 App,流畅、一致、有主张的设计。就像那个"魔王刀锋主题"一样。

Aether 是什么:一个有主张的设计系统,基于 Material Design 3,通过 HTMX 实现类原生 App 体验 Aether 不是什么:一个万能容器,不会为了自由度牺牲视觉一致性和交互连贯性

RC 阶段范围

  • RC1:修复已知问题,锁定设计哲学决策(已完成)
  • RC2:全站回归测试(登录/发帖/回帖/私信/搜索)+ 插件兼容性回归测试(40+插件)+ 无障碍回归测试
  • RC3:性能测试 + 移动端适配测试 + 文档完善
  • 1.0 GA:正式发布

当前状态

  • 核心功能全部可用
  • 四批插件适配完成(40+插件)
  • MD3色彩系统完整实现
  • 无障碍审计完成
  • HTMX局部刷新全站覆盖
  • S2 header z-index问题已修复
  • 设计哲学决策已锁定
  • 键盘焦点移动功能完善(所有 Sheet 切换)
  • 主页轮播图功能上线
  • recommended-in-sheet 自定义触发器标准化

B11 2026.07.09

该版本并入RC1发布。

  • 改进:主题设置页面的设置项改进
    • 去掉所有被注释的内容
  • 新增:增加广告位功能
    • 主页广告位:在主页帖子列表上方显示
    • 帖子详情广告位(正文首行):在帖子正文第一行显示
    • 帖子详情广告位(正文后回帖前):在帖子正文和回帖列表之间显示
    • 帖子列表广告位:夹杂在帖子列表中,支持自定义用户名和头像,当作帖子标题+摘要区域显示
    • 每个广告位均可独立设置可见性规则:
      • show:所有用户可见
      • login:登录后隐藏(给用户免费甜头)
      • vip:VIP后隐藏(让VIP有价值)
      • hide:完全不可见(关闭广告位)
    • VIP插件兼容性:若未安装 tt_vip 插件,vip 规则自动降级为 login 规则
  • 新增:帖子详情页相关推荐帖子功能
    • 自动从同板块中选取浏览量最高的3篇帖子作为推荐内容
    • 支持HTMX单页切换,点击推荐帖子直接在当前面板打开

B10 2026.07.08

  • 改进:登录、注册、找回密码等页面的图片设置可以使用了
  • 改进:各个地方的翻页器(搜索$pagination)支持无限滚动功能(在后台提供总控开关,如果因为一些原因,无限滚动功能不能正常工作,可以关闭)
    • 为此创建了自定义触发器 revealed-in-sheet(详见 view/js/htmx_revealed_in_sheet.js
    • 注:该功能在 B10 中默认为关闭状态,站长可在主题设置中手动开启。B11 将改为默认开启。
  • 新增:增加网站主页的轮播图设置
    • 为此暂时移除了"门户网站氛围"风格主页布局,因为我想要聚焦一下
    • 轮播图描述文字添加了渐变遮罩和文字阴影,确保在任何亮度的图片上都能看清
  • 新增:在页面更新之后更新title标签,这样在浏览器标签页里显示的title标签就会更新了(之前都不会更新)
  • 改进:之前版本当网络断开的时候会显示一条通知,现在恢复了也会显示一条持续时间更短的通知
  • 微调:关于本站页面的网站图标现在不会再套用squircle圆角(没有任何圆角)

已知问题

  • 板块页面的s2 header和s2 body里的sub header之间的z-index问题依然存在——我知道这个问题,我暂时做不到让它完美工作
    • 这是从B9延续下来的已知问题

B9 2026年6月16日~7月6日

  • 【重要改进】重新设计用户页面和个人中心页面的用户信息部分的布局
  • 【重要改进】推动主题内部自查所有写死的字符串到lang()格式
    • 英语暂未校对,但应该大体上正确
    • 坑:tt_credits插件里的英文翻译用了单引号会破坏网站
      • 解决方法:去plugin/tt_credits/lang/en_us_bbs.php文件,将单引号替换为双引号
  • 新增:所有的搜索表单都增加了新的“<search>”标签来增强语义
  • 改进:再次进行了无障碍审计,并解决了一些之前版本里没有发现到的无障碍问题
  • 改进:单个板块页面的头部布局调整,在大屏幕上更加紧凑,更能利用屏幕空间

B8 2026年6月9~16日

  • 删除:旧版form.js文件
  • 修复:清理了一点点在代码里写的TODO部分为我当时本来该做的事情
  • 改进:页面加载时的loading动画换了一种设计
  • 改进:消息列表页面的已读按钮,自动批量设置成已读的时候有概率被“已读”snackbar刷屏,这个问题解决了
  • 新增:多国语言功能
    • 当前只增加了语言选择按钮。
      • 将会在未来版本中逐步将所有写死的中文字符串替换为lang()格式,估计会是十分大的阵仗
    • 语言选择按钮可在主题设置里选择是否显示
  • 自动生成目录功能
    • 在主题设置里可选择是否显示该功能

插件兼容

完成第四批插件兼容

  • msto_user_rank 2026.06.15完成
  • oddfox_attach_reply 2026.06.15 可以直接使用
  • xn_email 2026.06.15完成
  • zaesky_panlink 2026.06.15完成
  • lcat_name 2026.06.15完成
  • xn_reply_hide 2026.06.15完成
  • till_verified_member 2026.06.15完成
    • 特别说明:在插件设置里,在认证级别的图标输入框里,输入这样格式的图标:check la la-check,因为aether干掉了xiuno自带的font awesome图标
  • cc_autolink 2026.06.15完成
    • 只支持“右侧”位置,若看不到友情链接列表的话记得调整插件设置哦
    • 功能理论上应该正常
  • cc_music 2026.06.15完成
    • 【独家】完全重新设计了音乐播放器的界面,同时支持正常大小和迷你模式
      • 比较符合MD3的设计规范,完全符合Aether的设计调性
      • 不过MD3的波浪线播放进度条在web上难以实现,所以就还是正常的进度条

已知问题

  • 在一些奇怪的情况下,tinymce编辑器在页面滚动后,本应该是吸顶的,但莫名其妙的就消失了!
  • tinymce编辑器的快捷键功能失效了

B7 2026.06.07~08

  • 【重要改进】:对主题内重新覆盖的hook类型文件进行调整。所有涉及到db_find 和 db_find_one的地方,都增加了cache_get缓存,以提高性能。
  • 【重要改进】:清扫一部分AI生成的插件适配中,就地使用AetherExec写的快速适配代码,到aether_plugin.js文件下,以提高可维护性。
  • 改进:将所有的<i class="la la-*"></i>图标都增加aria-hidden属性,来改善无障碍
  • 修复:在"我的帖子"页面中,当用户从二级分类(如主题贴、回帖、精华、收藏等)中选择任何一项,里面的贴子标题时,系统会触发HTMX动作,但随后页面会执行一次完整刷新,表现如同从外部重新访问网站,这个问题被解决了
  • 修复:haya_post_info的排序功能和只看楼主功能可以正常使用了
  • 修复:搜索弹窗在点击帖子和点击搜索按钮后,弹窗自身会关闭,来为内容让路
  • 修复:当从主页和板块页面访问帖子时,主页和板块页面分页器会正确显示,不再会因为帖子详情更新回帖列表的翻页器而导致主页和板块页面分页器“离奇消失”
  • 修复:内置的Asset类在特定情况下会触发“open_basedir restriction in effect”错误,现在这个问题被修复了
  • 修复:fox_attach 插件在特定情况下会导致内部判定当前板块为零,导致阻止上传附件和图片,这个问题被修复了
  • 修复:在发帖页面,当选中“发红包”时,然后什么都不填写,直接点击“发布”,会直接干出44个“请输入红包金额”或“青输入红包数量”提示,这个问题被修复了
  • 修复:在其他页面(如发帖页面)操作几次之后,进入“个人中心”页面,然后进入“个性化”,会发现所有的按钮都失效了,刷新后恢复,这个问题被修复了

该版本为维护更新。

不要尽信TRAE,也不要尽信自己所做的“优化”都一定是正向的优化。

B6 2026年6月1日 ~ 6月6日

本次更新的主要内容由TRAE的SOLO模式完成。更新记录是我写的。

  • 新增:图片灯箱功能
  • 微调:帖子详情页面的帖子作者区域,现在不会和haya_post_info插件新增的“只看TA”打架
  • 改进:Material Design 3 色彩系统升级。摒弃了原本(对M3的动态色调系统的笨拙理解写出的)生硬的 40°/180° 色相偏移算法,采用了更符合 MD3 规范的 30°-120° 和谐三角模型。Secondary 颜色现在与 Primary 保持更紧密的邻近关系(±30°),而 Tertiary 颜色则采用 ±120° 三色均分(取代原本刺眼的 180° 互补色)。此外,针对 hue 在 240°-300° 区间(蓝-紫)的 secondary 颜色,在浅色模式下增加了动态亮度补偿(最高 +10),解决了高饱和度下视觉过深、界面层级被拍平的问题;深色模式不受影响。
  • 改进:排行榜页面现在重新设计了,增加了“我的排名”和“本周活跃贡献者”卡片,平衡视觉美感与符合 Material Design 3 规范。

插件兼容

  • art_signature 2026.06.02 完成
  • clih_xztime 2026.06.02 完成
    • 特别注意:在安装插件后必须进入插件设置,填入时间(如10秒),否则插件会故障
  • fox_prison 2026.06.02 完成
  • cp_dahua 2026.06.02 完成
    • 大话王插件居然没有限制可参与的用户组,将会在未来版本里更新
  • xn_coin 2026.06.02 完成
    • 剥离了所有和tt_credits功能重叠的代码,只留下了投币功能
  • cp_gobang 2026.06.02 完成
    • 微调外观,适配了Snackbar组件
    • 有彩蛋
    • 特别注意:在安装插件后必须进入插件设置,填入次数与奖励,否则插件会故障
  • mao_ptnew 2026.06.02 完成
  • till_stickers 2026.06.02 完成
    • 专为HTMX设计,功能可用
    • 现阶段表情包选单是朝下的,未来会重新做定位
  • xn_hongbao 2026.06.02 完成
  • haya_post_info 2026.06.02 完成
    • 建议的设置:
      • 回复排序:启用
      • 回复默认排序:正序
      • 只看楼主:启用
      • 只看Ta:启用
      • 回复显示楼主:禁用(理由:主题已内置该功能)
      • @用户提醒:启用
      • 帖子列表显示浏览量:禁用(理由同上)
      • 首页帖子列表显示板块:禁用(理由同上)
      • 首页帖子列表显示板块2:禁用(理由同上)
      • 帖子列表分页:根据个人偏好开启
      • 首页板块自定义:根据个人偏好开启
      • 首页显示板块:根据个人偏好开启
      • 今日发帖时间高亮:禁用
  • till_nickname_editable 2026.06.02 完成
  • xn_user_logs 2026.06.02 完成
  • huux_hlight 2026.06.03 完成
    • 提示:只在帖子列表有高亮功能,不在帖子详情页面有
  • axz_cjzs 2026.06.03 完成
    • TODO 界面可能还需打磨
  • cf_attach_buy 与 fox_attach 2026.06.04 完成
    • 这是目前适配难度最高的插件,因为这插件的代码量很大,需要详细分析和理解
  • buy_invite_code 2026.06.04 完成
    • 由于我没有任何支付手段,所以仅为理论上的适配,需要在实际环境中测试
  • xn_footerhtm 2026.06.04 完成
    • 实际上这个插件是把xiuno bbs增加了一个轻量级CMS功能,可以在后台创建任意数量的页面,每个页面可以包含HTML代码,然后页面列表会显示在“社交圈子氛围”主页的“热门版块”区域下方,点击即可查看页面内容

B5 2026年4月30日 ~ 5月12日

本次更新的主要内容由TRAE的SOLO模式完成。不过这个更新记录还是我写的。未来Aether可能会使用更多的AI辅助编程,以及人们常说的“Vibe Coding”来追进度。

  • 新增:页面加载loading效果, 可在主题设置里开关
    • 只会在直接访问页面的时候显示
  • 修复:A6版本已知问题部分里的"插件翻页功能导致页面刷新"四款插件(tt_ranklist, xn_search,haya_follow, tt_credit),现在都已经适配了(还需测试)
  • 改进:A5版本里提到的"消息轮询可能未实现",现在已经修复了
    • 现在在私信详情页面,点击后会直接滚动到底部,显示最新的消息
    • 并且在收到最新消息的时候会再次滚动到底部
  • 修复:帖子详情回帖框点击后会收起的问题,这次彻底解决了{使用了TRAE SOLO完成}
    • 这个问题从A8版本就存在,历经A8、A9、B3三次"修复"都没能真正解决
    • 根本原因:Bootstrap 5的Offcanvas组件内部会监听viewport变化,手机端输入法弹出时viewport缩小,Bootstrap会自动关闭offcanvas
    • 之前的修复方案(B3的"抑制功能")尝试拦截hide.bs.offcanvas事件,但无法可靠区分"输入法导致的意外关闭"和"用户主动关闭"
    • 最终方案:彻底抛弃Bootstrap Offcanvas JS,用纯CSS(transform + class切换)+ 两个全局函数(showOffcanvas/hideOffcanvas)自己实现,不挂任何resize/viewport侦听器,从根本上杜绝输入法导致意外关闭
      • JS逻辑:view/vendor/modal.js(与Modal并列的独立全局函数)
      • CSS样式:view/css/components/layout.css.aether-offcanvas系列)
      • HTML模板:thread_quick_post_modal_s5.htm(使用aether-offcanvas类名而非Bootstrap的offcanvas类名)
      • 触发方式:onclick="showOffcanvas('S5_post_reply_modal')" / onclick="hideOffcanvas('S5_post_reply_modal')"

插件兼容

  • till_post_view_chain 完成

杂项

你要说我羡慕别人用vibe coding吧,我是不可能不羡慕的。但是我又知道AI辅助编程的局限性,所以我在三月到四月的时候,我先把xiuno bbs的文档给重新整理和编写,作为知识库,我才敢放心让AI来辅助编程以及vibe coding。无规矩不成方圆。

我要做的就是一个不一样的东西。

B4 2026年4月11日 ~ 30日

  • 新增:增强对比度模式
  • 新增:返回顶部按钮,可在主题设置里开关
  • 新增:用户在线状态显示,可在主题设置里开关
  • 修复:发帖、个人中心S3 Header区域的返回按钮 在PC端可见的问题,已经修复
  • 修复:现在点击签到按钮后,会自锁(增加disabled属性),防止重复点击,并且签到成功后再刷新全页也能保持disable状态
  • 修复:勋章的 个人中心菜单项 点击后不会呼出S3区域的问题,已经修复
  • 修复:“点击S1“我”里的“我的主页”不会激活对应的 两个 菜单项”,这个问题已经修复了
  • 修复:帖子点赞插件,在“我的帖子”页面里的列表可能会出错导致没有获取到帖子信息(继而无法获取点赞数量)的问题,这个问题已经修复了
  • 修复:帖子页面会多次设置 textarea 清空监听器,可能会导致性能差,这个问题已经修复了
  • 修复:悬赏插件,如果不在启用了悬赏功能的板块发帖,会提示“该板块不允许发表悬赏贴,请手动关闭“悬赏”开关来发表帖子”,但理应可以直接发帖的,这个问题已经修复了
  • 改进: 【主要改进】一系列与可访问性有关的改进 ,包括:
    • 修复导航栏键盘可访问性,现在按tab第一次是进入主内容,然后依次选中导航栏的内容,然后顺序照常操作
    • 将移动端用户下拉菜单的 <span> 改为 <button>,原生可聚焦、可键盘激活,无需额外 role="button"  tabindex
    • 头像、板块、勋章图表增加alt属性
    • 登录、注册、找回密码页面的表单的回显区域增加role="alert"aria-live="assertive",这样,屏幕阅读器会在内容变化时立即中断当前播报并朗读新内容
    • 帖子详情页面的用于打开回帖框的区域变成了按钮,可被聚焦
    • 在搜索弹窗的搜索输入框添加了无障碍标签,这样即使 placeholder 在用户输入后消失,屏幕阅读器等辅助技术仍能通过 aria-label 识别该输入框的用途
    • 为部分只有图标的按钮添加了aria-label
    • 使用<time> 元素的 datetime 属性值,现在使用ISO 8601 格式而不是unix时间戳
    • 主导航栏(S1)的颜色模式切换按钮增加 aria-pressed 属性,这样屏幕阅读器在切换时就能正确播报当前是"按下"(暗色)还是"未按下"(亮色)状态。
    • 个性化设置页面,为每个颜色选择按钮添加aria-label,指示该按钮代表的颜色
    • 实现了模态框组件的焦点陷阱(focus trap),关闭时恢复焦点到触发元素。
    • S6全屏模态框也增加了焦点陷阱,并且,打开后优先聚焦 S6 内的可交互元素(按钮、输入框等),若无则给 S6 自身设置 tabindex="-1" 并聚焦(解决 WCAG 2.4.3)
    • 在进入、更新S2、S3、S4、S6区域时会播报不同消息:
      • #S2 / #S2-Body → "主内容区已更新"
      • #S3 / #S3-Body → "详情面板已更新"
      • #S4 → "用户信息已更新"
      • #S6-Body → 跳过 (登录/注册弹窗已有 role="alert" aria-live="assertive" 的表单验证反馈,无需重复播报)
      • 其他目标 → "内容已更新"
  • 改进:去掉了一些没有使用到的CSS
  • 改进:tt_medal插件的用户勋章页面微调
  • 改进:准备兼容用户认证插件
  • 改进:主导航栏(S1)的tab的显示方式微调,现在不再会有重复项的问题了
  • 改进:封面图插件在保存的时候,会实时更新S2区域的封面图
  • 改进:更改头像页面重新设置,并支持上传成功后同步更新S2区域的头像
    • 根本原因 : xiuno.js 中的 xn.image_resize 函数在处理图片时,会尝试加载水印图片。当 xn.options.water_image_url 未定义时,浏览器会请求 \undefined ,导致水印加载失败,整个上传流程卡死。
    • 修复方案 :重构了 xn.image_resize 函数,添加了水印 URL 的安全检查和错误处理机制。
    • 额外优化 :
      • 为 my_avatar.htm 中的头像 URL 添加了默认值回退
      • 添加了更严格的服务器返回数据校验
    • 很遗憾的是,此处还是得走xiuno bbs原生的头像上传接口,还没能直接使用更优的enctype=multipart/form-data
  • 改进:tt_medal插件的帖子详情页面的勋章展示微调,回帖列表里的勋章为垂直排列,在头像下方;并增加tooltip提示
  • 改进:微调代码块的代码高亮配色

插件兼容

  • zaesky_threadrank 完成
  • till_user_deprecated 完成

已知问题

  • 在某些尚不确定的情况中,在“我的帖子”页面翻页,帖子列表会按照预期更新,但翻页器不会更新,即使返回的内容里包括hx-trigger
    • 已确定步骤:
      • 需要登录
      • 从主页出发
      • 点击“我的”
      • 点击“我的主页”
      • 点击“我创作的内容”
      • 点击翻页器
    • 可以确定正常的步骤:
      • 直接进入“我创作的内容”

下一批适配插件

  • till_stickers
  • 更多插件WIP

B3 2026年4月1日

  • 新增:GNU Terry Pratchett 彩蛋
  • 修复:主页的“社交圈子氛围”风格的两个问题解决了:
    • 手机端,如果窗口不够高,或者说内容够高的话,手机端的“左侧栏:Banner + 版块导航”会有自己的滚动条,导致滚动不顺畅
    • 电脑端,点击主页帖子后,S3打开,但S2的“右侧栏:用户信息 + 实用功能”区域没有隐藏
  • 修复:如果用户未登录,点击发帖按钮后还是会尝试打开发帖页面(但因没有登录,实际的登录表单加载到S6但没有让S6显示出来),这个问题解决了
  • 修复:搜索页面的三个标签页点击后不会重新执行搜索,这个问题解决了
    • 该区域需要特意保留onclick属性
  • 修复:再次修复了帖子详情回帖框点击后会收起的问题
    • 这次是专为TinyMCE编辑器设计的修复
  • 修复:一些细节微调

插件兼容

  • tt_offer 完成
  • tt_gift 完成

B2 2026年2月27日

  • 改进:将所有的onclick换成了hx-on:click来缓解重复绑定点击事件问题
  • 修复:在特殊情况下,发帖页面的分类选择框会被设置为空白,且改变后依旧会变成空白,导致用户无法选择分类

插件兼容

  • till_user_cover 完成
  • tt_read 完成
  • tt_stamp 完成
  • tt_vip 完成
  • tt_medal 完成

B1 2026年2月13日

和A10是相同的版本。

A10 2026年2月12日

  • 改进:重新设计个性化设置页面,布局更加合理,新增效果预览区
  • 改进:S1菜单的第四项,会根据不同情况显示,来保证底部一直是五个菜单项:
    • 如果安装了用户关注插件,并开启了显示我的动态,那么会显示“动态”
    • 否则,如果用户已登录,且安装了消息插件,则显示“消息”
    • 否则,显示“搜索”
  • 改进:完全重新设计主页,提供两个版本
    • V1:社交圈子氛围,有着熟悉的感觉
    • V2:门户网站氛围
    • 注意:V2风格主页的“图文热点”区域固定30个字符
  • 改进:重新设计的探索页面,增加了热门话题、精选推荐、积分排行,丰富内容
  • 改进:主题设置面板与实际主题继续连接
    • 并重新写了页面内容相关的预设值,风格好像我们的看板娘“玛蒂莉娅”写的
  • 将xiuno bbs内置的一个被人忘却的路由“browser.htm”包装成了彩蛋 我们即将步入Beta版啦!接下来就是进入一段插件适配的长征了,希望各位测试者能够及时反馈问题,帮助我们改进。也请给我们时间,罗马不是一天建成的。

A9 2026年2月9日

  • 改进:加载帖子时会立即加载骨架屏,等有帖子内容后再显示帖子内容,改善用户体验
  • 改进:附件列表使用网格布局,现在可以显示图片(也许可以显示视频和音频,但以后再说)
  • 修复:再次修复了帖子详情回帖框点击后会收起的问题,但这次是点击回帖框外面的地方完全不会收起,这个问题解决了
  • 新增:个性化设置页面,涵盖字号、颜色、通知

A8 2026年2月3日

  • 新增:附件上传体验
    • 完全重写了附件上传组件
      • 使用了multipart/form-data格式,而不是先把文件转换成 base64 字符串再上传,节省了大约三分之一的带宽
    • 增加了拖拽上传功能
  • 修复:适配iOS刘海屏
    • 感谢“正在下载99%”的反馈,他有iPhone能帮我测试
  • 修复:深色模式下帖子编辑器和回帖编辑器不会自动进入深色模式,这个问题已经解决了
  • 修复:发帖页面,默认选中当前的板块,而不是第一个板块(淘汰了之前的jquery方法)
  • 修复:再次修复了帖子详情回帖框点击后会收起的问题
  • 改进:初步改进浏览器返回的行为,现在比较符合直觉了
  • 改进:私信详情页面轮询功能:实现了自动获取新消息的轮询机制,确保聊天内容实时更新。
  • 改进:私信发送后自动清空文本框
  • 改进:代码可读性优化 :将主题里面多数使用'and'连接条件和执行内容的代码替换为标准的if语句格式
    • 别用'and'连接条件和执行内容,真的,很容易混乱的,不亚于你写if不用花括号那样难受,真的,PHP不差你那点换行和花括号!

A7 2026年2月2日

  • 新增:更多帖子列表风格
    • 新闻样式(新闻样式一号)
    • 精选样式(新闻样式二号)
    • 部落样式(新闻样式三号)
    • 朋友圈样式(SNS风格一号)
    • 大图样式
    • 以及经典样式微调
  • 修复:自定义字号功能和自定义CSS功能失效,这个问题解决了
  • 改进:签到插件个人中心显示的统计信息,增加了缓存
  • 改进:签到插件主页显示的统计信息,增加了缓存
  • 修复:无缘无故在S2显示消息页面的问题已经修复
  • 修复:主页和板块页新帖子轮询功能,现在可以正常工作了
  • 修复:如果没有启用找回密码功能,点击登录页面的“忘记密码”,会导致提示信息覆盖掉整个S6,这个问题已经解决了
  • 修复:点击主页上的登录,然后关闭,然后点击底部导航栏里的探索,结果全屏弹窗还是会被打开(无内容),这个问题已经解决了
  • 改进:主页布局,增加了发帖/登录按钮

A6 2026年2月1日

  • 新增:更多帖子列表风格
    • 微博样式(SNS风格二号)
  • 修复:帖子详情,游客状态点击回帖框,其中的登录按钮文字换行,这个问题解决了
    • 同时更改了文案
  • 修复:用户注册,其中的发送验证码按钮文字换行,这个问题解决了
  • 修复:登录、注册、找回密码页面,如果填写错误,会覆盖表单内容导致不便,这个问题解决了
    • 通过在表单里增加错误回显区
  • 修复:移动端,帖子详情,S3-Header,如果帖子标题太长,会挤压头像空间,这个问题解决了
  • 修复:移动端,帖子详情,上一篇下一篇区域,如果帖子标题太长,不会自动换行,这个问题解决了
    • 现在按照我的预期,强制不换行并显示省略号了

插件适配

  • haya_follow
    • “个人中心动态”或者叫时间线页面独立成一个页面,可在S1里显示菜单项,在S2里显示
      • 通过设置里的“个人中心动态”控制
    • “用户中心动态”独立成在用户一级菜单里的页面(与个人资料、发布的内容等同级别),在S2-Body里显示
      • 通过设置里的“用户中心动态”控制
    • 这个是真的复杂
    • 已知问题:翻页功能都没做,会刷新页面

已知问题

  • tt_ranklist、xn_search、haya_follow的翻页功能可能会导致刷新页面
  • S1搜索按钮点击后会同时跳转到搜索页面以及显示搜索弹窗
  • 在罕见的情况下,通过在个人中心里,可能通过某种特定的操作顺序,会导致S2-Body里错误的加载“消息”页面的内容
    • 已在A7中解决
  • 发帖,编辑器,弹窗头部和尾部还是白色没有变
    • 已在A7中解决
  • 发帖,如果标题字数太长的话,会导致错误信息直接覆盖整个表单
    • 已在A7中解决

A5 2026年1月31日

  • 新增:主页增加“更多”区域,用来临时性的看xiuno bbs给主页添加的hook内容(如签到、排行、热门收藏)和导航栏hook内容

    插件适配

  • xn_tag
  • xn_search
    • 新设计的搜索页面,增加了用户搜索功能
    • HTMX驱动的搜索框,打字就自动执行搜索,也可以按回车键执行搜索
      • 如果没输入内容的话会显示搜索的主页
    • 纯本地保存的搜索记录功能
  • tt_sign
  • tt_ranklist

已知问题

  • 签到插件:签到后再次点击是能成功往后端继续发送请求的,虽然会返回“你已经签到过了”,但请求和数据库查询是实打实的
    • 应当在成功后disable掉签到按钮,避免重复点击
  • 签到插件:本身在卸载的时候不会干掉插件设置,而主题通过检测插件设置是否存在,来显示对应功能,所以这个需要在未来解决
  • 消息:未实现新消息轮询获取功能
  • 私信:未实现在私信详情页面轮询获取新内容功能
  • 主页和板块页:目前未实现新帖子轮询获取功能

备忘录

未来版本应该重塑头像上传体验,

  • 上传按钮,点击后选择文件
  • 选择文件后会进入编辑阶段
    • 只能有正方形的裁切方式
    • 编辑阶段会显示预览,预览里会显示头像的裁切效果
  • 最终确认上传后,在前端完成之前用户选择的裁切效果,然后发送到后端保存
    • 还要有上传进度条

A4 2026年1月20日

  • 修复:S2里的header-sub-header的粘性定位问题
  • 修复:整体header组件的模糊边距
    • 意图依旧是让header组件的背景颜色过渡到页面主要内容里,但这次使用了box-shadow往外扩散,而不是用background往里扩散,这样还能与header-sub-header一起使用,不会露出那个从带颜色到透明色的边距(不好看)
  • 修复:登录等页面的logo大小,现在统一大小了,避免logo本身特别大导致页面布局错乱
  • 修复:S6现在可以滚动了
  • 修复:用户未登录,在主页,点击S1导航栏里的“登录”,点击显示的S6里的关闭按钮,回到之前的画面,点击S1导航栏里的“探索”(或任何不需要登录就能看的页面),S6会在没有明确指示的情况自动再次打开
  • 修复:默认封面图不再是图片而是类似格纹裙的纹理
  • 新增:点击交互元素时会有波纹效果,使用了MDCRipple组件
    • 让界面看上去更有M3感觉的秘诀之一
  • 新增:主题设置,可以设置这些:
    • 颜色
      • 虽然是任意颜色,但实际上会进入我精心设计的M3色板适配
    • 字号
      • 从12到24px
    • 用户组图标显示
    • 在回帖中显示楼层数字
    • 在帖子详情页显示上一篇/下一篇帖子
    • 压缩CSS
    • 压缩JS
    • 自定义CSS
    • 头像形状
      • 圆形
      • 矩形
      • Squircle

A3 2026年1月19日

  • Material Design 3 颜色系统升级
    • 实现了后端PHP生成M3色板并转接到Bootstrap前端
    • 区分深浅色模式的饱和度范围(深色模式饱和度更高,补偿人眼视觉敏感度)
    • 目前为随机颜色模式,为未来主题设置打下基础
  • 修复了之前A2的两个已知问题

插件适配

  • 点赞插件 (haya_post_like)
  • 收藏插件 (haya_favorite)
  • 精华插件 (xn_digest)

A2 2026年1月17日

插件适配

  • xn_mypost

已知问题

  • 点击S1“我”里的“我的主页”不会激活对应的【两个】菜单项
  • 如果没有启用找回密码功能,点击登录页面的“忘记密码”,可能会显示两个“未开启密码找回功能!”snackbar

A1 2026年1月15日

  • 多数核心功能可用。

已知问题

  • 重置密码功能未测试,因为本地开发环境无法发送邮件。
  • 附件功能未测试
最后于 22天前 被Tillreetree编辑 ,原因:
上传的附件:
最新回复 (58)
全部楼主
  • Tillreetree 版主 楼主
    6月前 2
    0

    这是一封迟到四年的信。

    2022年6月6日,我写下Stately的第一行代码时,只是想证明一件事:

    Xiuno BBS 还能做得更好看。

    后来我做到了。Stately 卖了140份,每一个站长都用自己的方式,把那个“更好看的论坛”变成了他们的社区、他们的仓库、他们的俱乐部。

    但有一个问题,我始终没有回答:

    如果论坛不只是“更好看”,而是“完全不一样”——那会是什么样?

    2025年7月,我找到了答案。

    不是 React,不是 Vue,甚至不是任何“现代前端框架”。

    HTMX——一个用 HTML 属性驱动交互的、老派到近乎叛逆的库。

    它让我意识到:

    我们不需要推倒重来。我们只需要重新想象。

    于是有了 Stratum,有了那三篇让很多人困惑的社论,有了 2026 年 1 月那个被一些人说“丑”、被另一些人说“想要”的 Demo。

    然后是 Aether。

    Aether 不是 Stately 的替代品。

    它们是两条并行的路。

    • Stately 在回答:论坛还可以承载什么?
    • Aether 在回答:论坛交互的本质是什么?

    ——答案从来不是“帖子列表-详情页-翻页”。答案是:

    人在寻找同类。人在渴望被回应。人在一个信息过载的时代里,依然需要一个能让自己“留下点什么”的地方。

    Aether 把论坛还给了“人”。

    • 手机上是沉浸的、全屏的、App般的流畅
    • 电脑上是高效的、并行的、工具般的精准
    • S1 到 S6,不是“页面”,是空间
    • 骨架屏、拖拽上传、深色模式、Material Design 3——不是为了酷,是为了让你忘记“这是个论坛”

    我知道你在想什么。

    “这不像论坛。”

    是的。

    论坛不像论坛的时候,才是它活过来的时刻。

    Discuz 被做成门户网站时,没人说它“不像论坛”。

    百度贴吧 2025 年 12 月换界面时,没人说它“不像论坛”。

    因为用户根本不在乎它叫什么。

    用户只在乎三件事:

    • 这里有没有我想要的?
    • 我能不能找到同类?
    • 这一切是否轻松愉快?

    Aether 是为这三件事造的。

    Beta 1 不是终点。

    它甚至不是起点——起点是 2022 年那个模糊的想法,是 2025 年 7 月那个失眠的夜晚,是 2026 年 1 月那个被骂“丑”却依然发出去的 Demo。

    Beta 1 只是一个停顿。

    停下来,喘口气,然后告诉你:

    这条路,我已经走了一千多天。接下来,我们可以一起走。

    Beta 1 已知问题:

    • 附件上传虽已重写,但批量上传时的并发进度条还在打磨
    • 部分插件(如 haya_follow)的翻页会刷新页面,下个版本修
    • 以及,它仍然“不像论坛”——这个问题我不打算修

    最后的最后,写给那些从 Stately 一路跟过来的人:

    谢谢你们没有劝我“做点正常的”。

    写给那些第一次听说 Aether 的人:

    你不需要相信论坛还有未来。

    你只需要在这里,找到你想见的人。

    写给那些还在用某12px字号的友商主题的人:

    祝你的网站长命百岁。

    Aether Theme,for Xiuno BBS。

    您的论坛,您的方式。

    —— Geticer

    2026年2月13日

    距 Stately 第一行代码 1337 天

    距 Aether 第一个想法 225 天

    距除夕 4 天

  • 白马遛遛
    6月前 3
    0
    感谢楼主ing!!!
  • daxiaowang
    6月前 4
    0
    沙发我没有,板凳我没有,板也没有,只好站在后面排队支持! 
  • 见山
    6月前 5
    0
    哈哈,不错哦!
  • MoGuyule
    6月前 6
    0
    不错的帖子!
  • 九游
    6月前 7
    0
    感谢楼主ing!!!
  • oliolo 版主
    6月前 8
    0
    工作量不小,佩服你的坚持
  • sanren
    5月前 9
    0
    感谢楼主ing!!!
  • sanren
    5月前 10
    0
    顶顶顶顶顶顶顶!!!
  • kkdagou
    5月前 11
    0
    沙发我没有,板凳我没有,板也没有,只好站在后面排队支持! 
  • lin3
    5月前 12
    0
    非常棒!!!
  • lin3
    5月前 13
    0
    楼主,我只是来混个熟的!老板,侬亿雷凑闹嫩了!
  • tougaoke
    5月前 14
    0
    你就是我心中的那首忐忑,总是让我惊心动魄。 
  • zackma
    5月前 15
    0
    感谢楼主ing!!!
  • haiyang457
    5月前 16
    0
    真的很漂亮,谢谢分享了
  • huanfeng
    5月前 17
    0
    面对如此强贴,论遇到多大阻力,只要我一息上尚存,就绝不会让它沉沦下去,这一点请楼主放心。 
  • 5053938
    5月前 18
    0
    qqq
  • 5053938
    5月前 19
    0
    签到
  • 3235844201
    5月前 20
    0
    支持!我会在我的论坛中尝试部署该主题,并尽可能的收集目前Beta版本的Bug
返回