博客文章目录树的设计思路

2024 年 12 月 13 日
9 次浏览
1118 字数

简单记录和理顺一下想到的思路,

设计思路

  1. 核心是文章分类目录树,但也可能会有其他项目,例如首页、友链等。
  2. 核心问题是,项目选中状态问题和目录树展开状态问题。
  3. 项目选中状态:每个项目有一个独特的 id,统一用这个标识做标记样式类,方便 thymeleaf 初始化,也方便 Alpine 响应式切换。
  4. 目录树展开状态:维护一个 crumbs。
  5. 注意:文章项和分类归档项需要展开,普通项虽然不用展开,但对应模板也要给出 crumbs 空列表。
    即在文章、分类归档、普通页面的各个模板中都进行 crumbs 的初始化,判断不同模板 id 进行不同处理。

普通 html 访问和 Pjax 更新文章目录树的区别

普通的 html 访问,目录树是根据文章分类信息 crumbs 初始化展开。Pjax 中,目录树是由用户主动点击展开。