跳转到内容

Files 文件树

文件树——可折叠目录与缩进线。

files() 渲染文件树:目录行带旋转 chevron 切换, 文件夹图标随开关状态切换,子行落在缩进线上(lines: false 隐藏)。

目录 + 文件
src
lib
ui
tokens.ts
components.ts
files(
folder(fileRow('src') + fileRow('lib') + fileRow('ui'), { name: 'src' }) +
folder(fileRow('tokens.ts') + fileRow('components.ts'), { name: 'lib' }),
);
defaultOpen 目录
styles
celestial-docs.css
build.ts
files(
folder(fileRow('styles') + fileRow('celestial-docs.css'), { name: 'styles', defaultOpen: true }) +
folder(fileRow('build.ts'), { name: 'scripts' }),
);
lines: false
首页
关于
README.md
files(
folder(fileRow('首页') + fileRow('关于'), { name: '网站改版', defaultOpen: true }) +
fileRow('README.md'),
{ lines: false },
);
自定义文件图标
package.json
README.md
files(
fileRow('package.json', '<svg …>…</svg>') + // 任意内联 SVG 字符串
fileRow('README.md'),
);
函数签名说明
file(name, icon?)(string, string?) => string文件行(可传自定义 SVG 图标)。
folder(children, { name, defaultOpen?, icon?, openIcon? })可折叠目录行;打开时图标切换为 openIcon
files(children, { lines? })树容器;lines: false 隐藏缩进线。
  • 目录行是由运行时接线的按钮(data-cpd-folder-toggle),不是原生 <details>
  • folder() 接收预构建 HTML 作为子内容;可自由嵌套更深层级。