Skip to content

结构化目录

目录结构

在运行或构建 Teek 时,Teek 会按照目录结构自动生成一个结构化的 侧边栏目录树面包屑文章列表文章分析等数据。

侧边栏和目录树的标题获取有如下特性:

  • 针对文件夹,先分别扫描该文件夹下的 index.mdindex.MD[文件夹名].md文件,并尝试获取里面的一级标题,如果获取到一级标题,则使用,否则使用文件夹名
  • 针对 Markdown 文档,其获取顺序:formatter.title>Markdown 文件一级标题 >Markdown 文件名

面包屑的标题默认按照 Markdown 文件所在的目录层级名进行获取。

Teek 建议给每个 Markdown 文件设置 formatter.title,且文件的命名与 formatter.title保持一致。

提示

侧边栏数据会在文章页左侧生成菜单,目录树数据会在目录页生成目录,面包屑数据会在文章页生成面包屑。

特殊目录

Teek 的自动生成侧边栏,自动生成 frontmatter、自动生成 h1标题、站点分析功能在 VitePress 启动后,从根目录扫描 Markdown 文件,但是有部分目录会忽略扫描:

  • @pages:该目录初衷是存放归档页、分类页、标签页等非文章的 Markdown 文件,它完全不会被 Teek 扫描,它是非常纯净的目录
  • .scripts:该目录初衷是存放一些脚本、工具文件,它完全不会被 Teek 扫描,它是非常纯净的目录
  • @fragment:该目录下的 Markdown 文件不会自动生成侧边栏,因此一些 碎片化文章建议放在该目录下
  • /目录页/:该命名的目录(正则表达式,如 01.目录页也符合)初衷是提供一个专门存放目录页的 Markdown 文件,因此统计站点文章数、文章总数等功能不会扫描该目录,文章列表和归档页也不会扫描该目录
碎片化文章说明

特点

  • 简短且独立:每个碎片化文章通常只涵盖一个具体的知识点或主题,篇幅较短
  • 灵活性高:可以随时添加、修改或删除,不受整体结构的严格限制
  • 易于管理:由于其独立性,管理和查找特定知识点更加方便
  • 补充性质:通常作为主干内容的补充,提供额外的信息或细节

示例场景

  • 技术笔记:例如某个命令的用法、某个库的简单示例等
  • 个人心得:如读书笔记、会议纪要等
  • 临时记录:开发过程中遇到的问题及解决方案

命名约定

和 vdoing 一样,Teek 也建议使用以下命名约定:

  • 无论是文件还是文件夹,请为其名称添加上正确的正整数序号和 .,从 0001开始累计,如 01.文件夹02.文件.md,我们将会按照序号的顺序来决定其在侧边栏当中的顺序
  • 同一级别目录别内即使只有一个文件或文件夹也要为其加上序号

序号只是用于决定先后顺序,并不一定需要连着,如 01、02、03...,实际可能会在两个文章中间插入一篇新的文章,因此为了方便可以采用间隔序号 10、20、30...,后面如果需要在 1020中间插入一篇新文章,可以给定序号 15

当然可以使用非序号的命名,这并不影响使用,添加序号只是为了排序,且更具有结构化,如果同一个目录下同时存在带序号和不带序号的文件,在生成侧边栏时,Teek 会分为两个区:带序号区和不带序号区,两个区内部按照各自的逻辑排序,在最终生成侧边栏的时候,不带序号区始终放在带序号区的后面。

目录层级

Teek 生成侧边栏或目录树的数据时,虽然支持无限层嵌套,但是建议不要超过 5 层。

目录结构例子

sh
.(不参与数据生成)├─.vitepress├─.scripts├─@pages├─@fragment├─index.md├─package.json(以下部分参与数据生成)├─01.指南index.md├─01.指南-使用├──04.使用-登录认证.md├──07.使用-权限认证.md├──10.使用-登出下线.md├──13.使用-注解鉴权.md├──16.使用-路由拦截鉴权.md├──19.使用-Session会话.md├──22.使用-框架配置.md├──25.使用-自定义Token.md├──28.使用-临时Token认证.md├──31.使用-记住我模式.md├──34.使用-二级认证.md├──37.使用-身份切换.md├──40.使用-账号封禁.md├──43.使用-会话查询.md├──46.使用-HttpBasic认证.md├──49.使用-全局侦听器.md├──52.使用-全局过滤器.md├──55.使用-多账号认证.md├──58.使用-自定义注解.md└─99.三级目录测试├──01.测试1.md├──03.测试2.md├──index.md└─99.四级目录测试├──01.测试1.md├──03.测试2.md├──index.md├─05.指南-环境集成├──04.环境集成-SpringBoot.md├──07.环境集成-SpringWebFlux.md├──99.环境集成-上下文组件开发指南.md└─10.指南-插件├──04.插件-持久层集成Redis.md├──07.插件-持久层拓展.md├──10.插件-AOP注解鉴权.md├──13.插件-Token集成JWT.md├──99.插件-插件开发指南.md├─05.设计00.目录.md├─01.设计-思路01.设计-思路设计.md04.设计-模块设计.md07.设计-术语说明.md10.设计-全局配置.md13.设计-策略模式.md16.设计-异常模型.md18.设计-管理者模型.md├─03.设计-Helpers├──01.设计-Helpers说明.md├──07.设计-账号登录.md├──10.设计-账号登出.md├──13.设计-账号封禁.md├──16.设计-二级认证.md├──19.设计-身份切换.md├──22.设计-账号认证.md├──25.设计-临时Token.md├──28.设计-同源Token.md├──31.设计-HttpBasic认证.md
最近更新