422 字
2 分钟
文件树
文件树组件用于展示项目的目录与文件结构,支持自动识别文件扩展名图标、目录层级折叠以及变更状态标注。
语法格式
支持容器语法与代码围栏双语法。
容器语法
::: file-tree{title="Shirone 目录结构"}- src/ - config/ - siteConfig.ts - sidebarConfig.ts - content/ - posts/ - hello-world.md - astro.config.mjs- package.json- pnpm-lock.yaml:::渲染效果:
::: file-tree{title=“Shirone 目录结构”}
- src/
- config/
- siteConfig.ts
- sidebarConfig.ts
- content/
- posts/
- hello-world.md
- posts/
- astro.config.mjs
- config/
- package.json
- pnpm-lock.yaml :::
围栏代码块语法
```file-tree title="构建输出"dist/├── assets/│ ├── app.js│ └── style.css├── index.html└── pagefind/**渲染效果**:
```file-tree title="构建输出"dist/├── assets/│ ├── app.js│ └── style.css├── index.html└── pagefind/变更状态与图标智能匹配
在条目前添加符号即可标注差异状态:
::: file-tree{title="本次提交的改动"}- src/ - content/ ~ posts/ + markdown-file-tree/ - legacy-notes.md ~ astro.config.mjs + src/utils/markdown-diff.ts:::渲染效果:
::: file-tree{title=“本次提交的改动”}
- src/
- content/
~ posts/
- markdown-file-tree/
- legacy-notes.md ~ astro.config.mjs
- src/utils/markdown-diff.ts :::
- content/
~ posts/
| 符号 | 含义 | 视觉表达 |
|---|---|---|
+ | 新增 | 新增状态指示色 |
- | 删除 | 删除状态指示色 |
~ | 修改 | 修改状态指示色 |
渲染特性
- 扩展名识别:自动根据文件后缀(如
.ts、.json、.astro、.md、.css、.png)匹配对应的 Material / Devicon 图标。 - 差异标记:支持在条目前添加
+(新增)、-(删除)、~(修改)等符号,自动生成带颜色的差异状态指示。 - 原生折叠:包含子目录的节点默认支持可折叠展开交互。
与代码树的区别
| 需求 | 推荐组件 |
|---|---|
| 只看目录结构 | file-tree |
| 目录 + 多文件源码并排查看 | 代码树 |
Markdown 语法
已完结分享文章
生成精美分享图或复制链接,与更多人分享本文。
继续阅读
换条路线
从其他文章中稳定抽取
最后更新于 ,距今已过 15 天
部分内容可能已过时
评论