FIT2CLOUD
熹屿 Xiyu 的图标

熹屿 Xiyu

187
37

一座为文字留白的岛。熹屿是一款面向 Halo 2.26+ 的响应式博客主题:杂志式首屏、克制的卡片流、清透的青蓝配色与柔和暗色模式,配合滑动高亮目录、文章入场动效、创作日历、友链自助申请与朋友圈订阅聚合,让阅读与写作都更从容。

1.0.18
ybrc114514 发布于
>=2.26.0

v1.0.18

这一版把站点左上角的标识做成了可替换的:可以直接上传图片(含 SVG)当标识,也可以填图片地址或粘贴内联 SVG 代码,还能选择「只显示标识、不显示站名」。

新增

  • 左上角标识支持三种来源

    「首屏 → 左上角标识」现在按优先级依次取用:

    优先级 设置项 用法
    1 内联 SVG 代码 把 <svg>…</svg> 源码直接粘进来,不用上传;可用 currentColor 跟随主题色
    2 图片地址 填完整的图片网址,https://…/logo.svg 这类外链也能用
    3 图片附件 点「选择」直接上传 PNG / JPG / SVG

    三者都留空时仍回退到站点 Logo,再没有就用站名首字,原有行为不变。

  • 「只显示标识、不显示站名」开关

    标识本身已经是完整字样(宽幅 logo、手写体 lockup)时打开,胶囊里只保留图形并自动收紧内边距,不会出现「图形里写着站名、旁边又重复一遍站名」的情况。

  • 关于上传 SVG

    Halo 支持 SVG 附件(image/svg+xml),主题里点「选择」就能直接上传 .svg。唯一的坑是默认存储策略的允许类型只有「图片 / 视频 / 音频」,没勾 SVG 时会返回 415 不支持上传 image/svg+xml 类型的文件;到后台「附件 → 存储策略」编辑当前策略,把 SVG 勾进允许类型后,上传、选择、前台渲染全链路实测正常。不想动存储策略也可以走「图片地址」或「内联 SVG 代码」。

Snipaste_2026-11-13_23-44-57

修复

  • 宽幅 SVG 标识被压成小方块

    原来所有标识都套在 36 × 36 的圆框里,宽度是高度四倍多的宽幅 logo 会被缩成一条看不清的细线。现在 SVG 标识改为按高度等比缩放:桌面高 32px、宽度上限 168px,手机高 26px、宽度上限 96px,比例不变、不裁切(object-fit: contain)。

  • 手机端左右两块胶囊一高一矮

    左侧品牌胶囊(头像 + 站名)原本 50px 高、右侧搜索 / 收藏 / 菜单按钮组 42px,视觉上明显不齐。现在两者统一为 44px 并顶部对齐,标识图片在窄屏收到 32px。宽幅 SVG 标识也一并收窄(≤96px),390px 与 360px 视口都无横向溢出。

  • 内联 SVG 的安全过滤

    粘贴的代码必须包含 <svg>,且含 <script>、javascript:、onload=、onerror= 时会被忽略并回退到图片 / 站点 Logo,不会把可执行内容注入页面。

升级说明

  • 控制台「外观 → 主题 → 安装」上传本 ZIP 覆盖升级,现有设置全部保留。
  • 想用附件方式上传 SVG,请先把 SVG 勾进「附件 → 存储策略」的允许类型;不想改策略就用「图片地址」或「内联 SVG 代码」。
  • 标识文件里自带的 CSS / SMIL 动画(比如手写描边动效)在 <img> 与内联两种方式下都会照常播放;若想让它静止显示,删掉 SVG 里的 <style> 块即可。

兼容性

  • Halo 2.26.0 或更高版本(已在 Halo 2.27.2 实测通过)
  • 建议启用官方链接插件 plugin-links 2.5.0(友链、友链申请、朋友圈动态)
  • 可选的第三方友链申请插件:LinksSubmit(要求 Halo ≥2.20.14)
  • 可选插件:plugin-comment-next 1.1.1、plugin-moments 1.19.0、plugin-hitokoto-hub 3.0.0、plugin-equipment 1.1.1、plugin-steam 1.0.0
  • 现代浏览器(Chrome / Edge / Safari / Firefox),支持 prefers-reduced-motion 与 prefers-color-scheme;不支持 color-mix() 的旧内核走实色回退

验证

本地 Halo 2.27.2 热升级至 1.0.18 后实测:

  • 标识专项 26 项:附件 SVG 渲染为 img 且 object-fit: contain、内联 SVG 高度 32px 与 currentColor 生效、含 <script> 的代码被忽略并回退、三项全空回退站点 Logo / 首字、宽幅 SVG(237 × 54 手写 lockup)等比缩放不被压扁、隐藏站名后不输出文字并收紧内边距、手机端收窄、左右胶囊等高对齐且 390 / 360 视口无横向溢出
  • 回归:横幅标签化 20 项、抽屉 / 箭头 / 页脚 18 项、两套文章模板渲染、横幅与随机访问动画 29 项、LinksSubmit 申请分支 23 项,均 0 失败

Full Changelog: https://github.com/YBRC114514/halo-theme-xiyu/compare/v1.0.17...v1.0.18

资源下载

  • theme-xiyu-1.0.18.zip