皮肤插件

皮肤插件

基于 XiunoX 论坛的混合模式皮肤插件:SSR 渲染为主 + 原创 CSS 设计令牌 + 渐进增

插件 v1.0.0 哆哆 工具 免费

duoduo_zdyztcj 皮肤插件

基于 XiunoX 论坛的混合模式皮肤插件:SSR 渲染为主 + 原创 CSS 设计令牌 + 渐进增强 JS,写操作(点赞/收藏/关注/发帖/回复)完整复用原生链路。

按普通插件模式安装:安装后归类在后台「插件」分类(type=plugin),参与主题互斥规则。

目录结构

duoduo_zdyztcj/
├── conf.json                  # 插件元数据(type=plugin,普通插件分类)
├── install.php                # 安装:写入默认配置(幂等)
├── uninstall.php              # 卸载:清理配置
├── setting.php                # 后台设置页(品牌色/布局/无限滚动)
├── icon.png                   # 插件图标
├── hook/
│   ├── header_link_after.htm  # 注入品牌色覆盖 + 皮肤 CSS
│   └── footer_js_before.htm   # 注入渐进增强 JS
└── view/
    ├── css/theme.css          # 原创设计令牌 + 组件覆盖
    └── js/theme.js            # 渐进增强(无限滚动/按钮反馈)

特性

  • 原创设计令牌:CSS 自定义属性(--theme-*)统一定义品牌色、圆角、阴影、过渡;品牌色单一入口 --theme-brand-color

  • 明暗双模式:通过原生 data-bs-theme 适配,浅色/深色各自设计令牌

  • SSR 优先:首屏内容服务端直出,SEO 友好,JS 失败页面完整可用

  • 原生无限滚动:首页/版块信息流滚动到底自动加载下一页(IntersectionObserver),失败可重试

  • 完整读写:点赞/收藏/关注/发帖/回复全部走原生 htmx 路由 + model 链路,天然获得 CSRF/权限/审核/积分/通知保障

  • 普通插件分类:type=plugin,后台归入「插件」分类,目录名规避 theme 关键词判定

安装

  1. duoduo_zdyztcj/ 目录放入 plugin/ 下(或直接上传 duoduo_zdyztcj.zip 安装)

  2. 后台 → 插件管理 → 安装并启用

  3. 安装脚本自动写入默认配置,无需手动开启 API

说明:本皮肤依赖后端的 SSR 渲染与原生路由,使用时不依赖 api_enabled,不注册 bbs_api_app

配置(后台设置页)

配置项

默认值

说明

brand_color

#4f6bff

品牌色 Hex,全局主题色

feed_style

card

信息流布局(card / list)

infinite_scroll

1

是否启用无限滚动

配置存于 kv 表 duoduo_zdyztcj_config 键,修改后前台即时生效(hook 注入品牌色变量 + JS 配置)。

兼容性

  • XiunoX 1.1+,PHP 8.0+

  • 无外部 CDN 依赖,静态资源均位于插件 view/ 目录

许可证

  • 插件代码与原创 CSS/JS 由本仓库作者编写


截图 2
v1.0.0 2026-08-19
作者信息
哆哆
哆哆 哆哆
专注于xiunox插件的开发,以及学习xiunox开发相关知识
开发者主页
3
应用
16
安装
2026-08
加入
应用详情
应用分类 插件
版本 v1.0.0
适用版本 1.1
开发者 哆哆
下载量 7
浏览 112
更新时间 2026-09-07
发布时间 2026-08-19
最新回复 4
查看全部
  • 1000 一级用户组
    看看是什么样的
    17小时前
  • wuliannan 一级用户组
    看看怎么样
    7天前
  • leostudio 三级用户组
    看看是什么样的
    25天前
  • xiunox 一级用户组

    感谢分享这款皮肤插件!整体设计思路很清晰,尤其是「SSR 渲染为主 + 设计令牌 + 渐进增强」的混合模式,既保证了首屏性能和 SEO,又通过原生链路复用保留了论坛核心功能的完整性,这是比较稳妥的做法。

    几个小疑问供参考:

    1. 无限滚动IntersectionObserver 加载下一页时,是否对 XiunoX 原有分页 URL 做了兼容处理?例如 ?page=2 这类参数或 ajax 请求方式,若与原生功能冲突需要额外测试。
    2. 主题互斥:归类为 type=plugin 后,与普通主题同时启用时,CSS 变量覆盖优先级是否可控?建议在 hook 中加一层 !important 或确保命名空间唯一。
    3. 兼容性:声称支持 XiunoX 1.1+ / PHP 8.0+,建议在后台增加一个环境自检,避免因版本差异导致 hook 失效。

    如果方便,可在插件内附带一个最小可用的演示页面或截图,方便其他用户快速验证效果。期待后续迭代,需要协助调试也可以随时提出。【 AI 自动回复,仅供参考】

    25天前
查看全部评论 / 发表评论
完整评论功能在讨论帖中,点击前往