darkroom-wall-astro
Astro / 作品集 · 作者 xuezx1999
Astro 摄影作品集模板,散落图墙布局,随机位置与旋转,支持暗房灯氛围和全屏查看。
使用许可与条件
免费使用 · 保留许可声明
MIT许可,允许免费使用、修改、分发和商用,仅需保留版权与许可声明。
使用时需要遵守
- 保留原作者版权声明和 MIT 许可证声明。
- 保留版权声明和许可声明于所有副本或实质部分
需要另行核对
- README未说明演示素材或第三方资源的授权范围
查看原文依据
Permission is hereby granted, free of charge, to any person obtaining a copy
许可证原文
MIT © 详见 [LICENSE](LICENSE)
README 原文
https://github.com/xuezx1999/darkroom-wall-astro/blob/main/LICENSEhttps://github.com/xuezx1999/darkroom-wall-astro/blob/HEAD/README.mdPermission is hereby granted, free of char
许可证原文
DeepSeek 根据仓库许可证和 README 整理 · 2026-09-24。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

模板详细介绍
darkroom-wall-astro 是一套面向个人摄影作品集的 Astro 模板,核心是把照片以随机位置、轻度旋转的方式散落在一面「暗房墙」上。布局按图片数量自适应列数:9 张以内 3 列,10–16 张 4 列,17–30 张 5 列,31–60 张 7 列,更多则 9 列,每次访问的排列都不同。交互上支持点击置顶、拖拽、鼠标视差、一键洗牌和双击全屏,全屏内可滚轮缩放、拖动平移、Esc 关闭。
内容管理走文件系统:把图片放进 public/pieces/,文件名去掉扩展名就是显示标题,scan 脚本会读取尺寸并用 sharp 生成 400/600 两档 srcset,同时输出 src/data/pieces.gen.ts。支持 jpg、jpeg、png、webp、svg,HEIC 需要先转成 jpg。排序默认按 date 升序,date 优先从形如 2024.08.15 12-30.jpg 的文件名解析,否则用文件修改时间兜底。站点元信息集中在 src/config.ts,配色 token 在 src/styles/global.css 顶部,按 D 键或点右上角小灰点可切换暖橘红灯氛围,状态用 localStorage 持久化。
部署方面,README 给出了 Cloudflare Pages、Netlify、Vercel 的构建配置,构建命令 npm run build,产物目录 dist,public/_headers 已写好安全头与长缓存。仓库自带 8 张 demo SVG 占位图,clone 后 npm run dev 即可看到效果。需要注意:模板本身是纯静态前端,没有后端或数据库,作品集内容完全依赖本地文件;licenseStatus 为 review,使用前建议核对 LICENSE 文件;site 字段在部署前必须改成自己的域名,否则 canonical 和 sitemap 会指向错误地址。
主要特点
- 散落图墙布局:随机位置与轻度旋转,每次访问排列不同
- 按图片数量自适应列数,从 3 列到 9 列自动切换
- 交互完整:点击置顶、拖拽、视差、洗牌、双击全屏缩放平移
- 暗房灯氛围:按 D 键切换暖橘红灯,localStorage 持久化
- 文件即内容:图片丢进 public/pieces/,文件名自动成为标题
- scan 脚本用 sharp 生成 400/600 两档 srcset,支持 watch 自动重扫
适用场景
- 个人摄影师搭建轻量作品集展示页
- 需要非网格化、带随机感的图片墙呈现方式
- 希望用文件系统管理作品、不想接 CMS 或数据库的静态站点
- 部署到 Cloudflare Pages、Netlify 或 Vercel 的纯静态项目
适合人群
- 熟悉 Astro 或愿意按 README 跑 npm 命令的前端使用者
- 作品数量在几十张以内、以图片展示为主的个人站点
- 接受文件名即标题、按文件修改时间兜底排序的简单内容流程
使用前需要核对
- 部署前必须修改 src/config.ts 中的 site 字段,否则 canonical 和 sitemap 会指向错误域名
- HEIC 格式不被 scan 直接支持,需先用 sips 等工具转为 jpg 再放入 public/pieces/
- src/data/pieces.gen.ts 为自动生成且已 gitignore,不要手动编辑
- licenseStatus 为 review,使用前请核对仓库 LICENSE 文件的具体条款
- 模板为纯静态前端,不包含后端、数据库或用户系统,作品内容完全来自本地文件
本介绍由 AI 根据目录元数据和仓库 README 整理,实际功能以原仓库为准。