/README.md
# public-scripts

这个仓库当前提供一个静态目录索引生成脚本:`generate_index.py`。

## 当前功能

- 扫描当前目录及其子目录,自动生成各级 `index.html`
- 目录项提供“打开”入口,用于进入子目录
- 可预览文件提供“预览”和“下载”两个入口
- 点击文件名时,默认进入预览页,而不是直接下载
- 对常见文本文件生成独立预览页,可直接在浏览器中查看内容
- 对图片、音频、视频、PDF 等常见格式提供内嵌预览
- 对不支持预览的文件,仅保留下载入口
- 自动跳过不应公开展示的目录和文件,例如 `.git`、`.agentdocs`、`.preview`、`.wrangler` 等
- 自动生成根目录 `404.html` 和 `_redirects`,让错误链接返回 404 页面,而不是跳回根目录索引页

## 预览支持范围

当前支持以下类型的预览:

- 文本类:`txt`、`md`、`py`、`sh`、`json`、`html`、`css`、`js`、`yaml`、`yml`、`csv`、`log` 等
- 图片类:`png`、`jpg`、`jpeg`、`gif`、`webp`、`svg` 等
- 音频类:`mp3`、`wav`、`ogg`、`flac`、`m4a` 等
- 视频类:`mp4`、`webm`、`mov`、`ogv` 等
- 文档类:`pdf`

## 使用方式

在仓库根目录执行:

```bash
python3 generate_index.py
```

执行后会生成:

- 各级目录下的 `index.html`
- 各级目录下的 `.preview/` 预览页目录
- 根目录下的 `404.html`
- 根目录下的 `_redirects`

## 测试

运行本地测试:

```bash
python3 -m unittest discover -s tests
```