sync-album-banners.ts 是一个用于将相册的封面图片(Hero Image)从内容目录同步到公共访问目录的脚本。
功能特性
- 自动识别:在每个相册目录中查找以
hero开头的图像文件。 - 增量同步:仅在目标文件不存在或源文件较新时才执行复制操作,节省磁盘 I/O。
- 目录维护:自动创建目标目录结构。
使用方法
在终端中运行以下命令:
pnpm sync-album-banners工作原理
- 扫描相册:读取
src/content/albums下的所有子目录。 - 定位封面:在每个子目录中寻找匹配
hero.*(支持 jpg, png, webp 等格式)的文件。 - 执行复制:
- 将找到的封面图复制到
public/albums/{album-id}/目录下。 - 保持原始文件名不变。
- 将找到的封面图复制到
- 状态反馈:在控制台输出已同步的相册列表。
为什么需要这个脚本?
在 Astro 中,某些情况下直接引用 src/content 下的图片可能不够灵活(例如在某些自定义插件或外部脚本中)。通过将封面图同步到 public 目录,可以通过固定的 URL 路径访问这些图片。 stone