Expand description
组件模块 —— 按「可复用层级」组织,从通用到特定。
【导航】写 view! 前先查这里,避免手搓重复的 Tailwind class:
- 要 class 常量或通用原子(按钮 / 输入 / 徽章 / 空状态)? → 原子层
- 要页面外壳或全局导航? → 布局层
- 要特定页面域(文章 / 评论 / 代码运行)的组件? → feature 层
- 数据加载占位? → 骨架屏层
层级越靠上越通用、对 app 其余部分依赖越少;feature 层组件绑定各自的
models / routes / api,不应跨页面域复用。同一类样式或结构只允许
存在一个实现 —— 新增前先在本模块对应层查找,缺功能就扩展现有组件,
不要在旁边另起一套(散落的内联 class 是被禁止的反模式)。
Modules§
- admin_
layout - 后台布局组件(侧栏 + 内容区 + admin 路由骨架屏切换)。 后台布局:桌面应用式外壳。
- admin_
palette - 后台命令面板(⌘K)。 后台命令面板(⌘K):搜索文章、执行操作、跳转栏目。
- assets
- 素材选择与上传 modal 组件。仅后台写作/素材/资料页与图鉴预览使用。 素材相关组件模块
- code_
runner - 代码运行器组件(可运行代码块 UI)。 代码运行器(Code Runner)组件。
- comments
- 评论组件(列表 / 表单 / 待审核项)。 评论组件模块
- empty_
state - 空状态组件(无数据时的插画配图 + 文案)。 空列表、无搜索结果等状态共用的图标、文案与行动入口。
- enhance_
assets 🔒 - 增强脚本/灯箱资源的按需注入(leptos_meta 的 Script/Stylesheet;
Script不按 src 去重,脚本必须是幂等 IIFE)。pub(crate):head 注入管线无可视预览,不进图鉴目录。 P5 §8.2 资源边界:增强脚本/样式的按需注入。 - footer
- 页脚与回到顶部按钮组件。 页脚组件
- forms
- 表单控件(FormInput / FormSelect / AlertBox / …)与 INPUT class 常量。 表单控件组件
- frontend_
layout - 前台布局组件(header + footer + 路由骨架屏切换)。 前台布局组件
- header
- 顶部导航栏组件。 顶部导航栏组件
- mascot
- 吉祥物像素贴图(装饰图,表情与文件一一对应)。 吉祥物像素贴图:橙发女孩的各种表情,只作装饰,对读屏隐藏。
- nav
- 导航项生成组件。 前台导航项配置
- palette
- ⌘K 面板公共部分:打开句柄、全局快捷键、文本匹配与面板外壳(前台搜索与后台命令面板共用)。 ⌘K 面板公共部分:打开句柄、全局快捷键、文本匹配,以及前台搜索面板与后台命令面板 共用的状态、对话框外壳和行组件。两个面板只提供各自的数据、条目映射与选中动作。 样式见 styles/components/palette.css。
- post
- 文章详情页组件(标题 / 正文 / 目录 / 面包屑 / 相邻导航)。 文章详情组件模块
- search_
palette - 搜索面板(⌘K) 搜索面板(⌘K):前台全站的即时跳转。
- share_
meta - 分享元信息(description / Open Graph / Twitter 卡片)。
分享元信息:
description、Open Graph 与 Twitter 卡片。 - skeletons
- 各页面数据加载期间的占位组件集合,以及通用骨架原子。 骨架屏组件模块
- sql_
result_ table - SQL 查询结果表格组件(后台 SQL 控制台专用)。 SQL 查询结果表格组件。
- ui
- 通用 UI 原子与全部 class 常量(卡片 / 按钮 / 徽章 / 分页 / spinner / checkbox)。 任何 inline Tailwind class 字符串上线前,先在此查是否已有常量。 通用 UI 原子组件与类名常量。