Astro启动器

astro-frame-shift — Astro 启动器模板

作者 EmaSuriano

基于 Astro 的极简照片画廊模板,使用视图过渡、深浅色主题与响应式瀑布流布局,内置 60 多张示例图片及分类、摄影师署名等元数据。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

2 个预览视图
桌面端首页1 / 2
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 2

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-02查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

首页画廊网格、分类页与图片详情页三类页面

02

使用 Astro View Transitions 实现页面间平滑导航

03

分类为真实路由,而非客户端隐藏

04

深浅色主题切换并持久化保存

05

基于 CSS 的响应式瀑布流,按屏幕宽度显示 1 至 4 列

06

gallery.json 集中管理图片元数据,含分类、日期与摄影师署名

模板详细介绍

这是一个用 Astro 构建的极简风格照片画廊启动器。页面由静态生成,包含首页画廊网格、分类页与单张图片详情页;导航切换使用 Astro View Transitions,分类被实现为真实路由(/category/{slug}/),以保证过渡效果可用。

内容数据集中在 src/data/gallery.json,每条记录包含图片地址、替代文本、标题、描述、分类、日期以及摄影师名称和可选链接。图片可归入多个分类,相关图片按标签重合度排序。仓库自带 60 多张示例图片,覆盖建筑、自然、街头摄影、人像等分类。

布局使用基于 CSS 的瀑布流,按屏幕宽度呈现 1 到 4 列;图片通过 Astro 的 Image 组件输出,并配有构建期的图片 URL 校验脚本。主题切换支持深浅两套配色并在本地持久化,界面无边框和阴影,图片信息仅在悬停时显示。

使用前需要留意:示例图片、字体(Inter、JetBrains Mono)等第三方素材的许可需单独核对;图片 URL 校验依赖外部网络可达性;模板以 yarn 作为包管理命令。

Astro启动器

适合你的项目吗?

适用场景

  • 搭建个人摄影作品展示站点
  • 制作以图片为主的极简作品集
  • 需要分类浏览与图片详情页的画廊项目
  • 希望使用视图过渡提升浏览连贯性的静态站点

适合人群

  • 熟悉 Astro 与 JSON 数据配置的开发者
  • 需要极简视觉风格照片画廊的个人或团队
  • 接受以 yarn 作为包管理命令的项目
  • 愿意自行核对第三方图片与字体许可的使用者

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    使用 yarn install 安装依赖,yarn dev 启动本地开发服务器(默认 localhost:4321)

  2. 2

    在 src/data/gallery.json 中按既有字段结构添加或替换图片条目

  3. 3

    运行 yarn check-images 校验图片 URL,构建时也会自动执行校验

  4. 4

    主题配色在 tailwind.config.mjs 中调整,浅色使用 stone、深色使用 slate 色板

  5. 5

    示例图片、字体等第三方素材需按各自许可单独确认

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 模板声明兼容 Astro 7,使用前需确认所用 Astro 版本与该主题兼容。
  • 图片 URL 校验依赖外部网络可达性,离线或网络受限环境下校验可能失败。
  • 构建过程会自动执行图片 URL 校验,若外部图片不可达可能导致构建失败。
  • 模板使用 Inter 与 JetBrains Mono 字体,其许可需单独核对,可能与代码许可不同。
  • 仓库自带 60 多张示例图片,这些第三方图片素材的许可需单独确认,不随代码许可一并授予。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

This theme is **Astro 7 ready**.

README 原文

Run `yarn check-images` to verify all URLs are accessible

README 原文

Validation runs automatically during build process

README 原文

Clean typography with Inter and JetBrains Mono fonts

README 原文

60+ curated images with metadata

README 原文
https://github.com/EmaSuriano/astro-frame-shift/blob/main/LICENSE.mdhttps://github.com/EmaSuriano/astro-frame-shift/blob/main/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-02。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
Astro Themes
资料与维护参考分
资料较完整 · 83 / 100
技术栈
Astro
网站类型
启动器
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-09-25
截图检查日期
2026-10-02

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Astro。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。

查看当时使用的来源资料

SHA-256: 5166e3c1acb3d44d8aea038f7772d8d3af732d188d4a756018e5441480d5d3a4

2026-10-02T14:54:12.481Z

来源文件 / 仓库
# Astro Frame Shift - Minimalist Photo Gallery

A clean, minimalist photo gallery built with Astro featuring smooth transitions, dark/light theme support, and responsive masonry layout.

This theme is **Astro 7 ready**.

## Screenshots 📸

Captured from the [live demo](https://emasuriano.github.io/astro-frame-shift/) with [shot-scraper](https://github.com/simonw/shot-scraper). Light and dark run as parallel CI jobs via [`shots-light.yml`](shots-light.yml) / [`shots-dark.yml`](shots-dark.yml) (workflow: [`.github/workflows/screenshots.yml`](.github/workflows/screenshots.yml)). Home, Category, and Image detail.

| Light | Dark |
| ----- | ---- |
| ![Home - Light](screenshots/home-light.png) | ![Home - Dark](screenshots/home-dark.png) |
| ![Category - Light](screenshots/category-light.png) | ![Category - Dark](screenshots/category-dark.png) |
| ![Image - Light](screenshots/image-light.png) | ![Image - Dark](screenshots/image-dark.png) |

## ✨ Features

- **Minimalist Design**: Clean, borderless interface with no shadows or visual clutter
- **Dark/Light Theme**: Persistent theme switching with smooth transitions
- **Responsive Masonry Layout**: CSS-based masonry layout that adapts to all screen sizes
- **Image Validation**: Build-time TypeScript script to verify all image URLs are working
- **Smooth Transitions**: Astro View Transitions for seamless navigation between pages
- **Category routes**: Filter tags are real pages (`/category/{slug}/`) so view transitions work; client-side hide broke them
- **Hover Effects**: Image information appears only on hover for maximum minimalism
- **Performance Optimized**: Static site generation with optimized images using Astro's Image component

## 🎨 Design Philosophy

This gallery embraces ultra-minimalism:

- No borders or shadows
- Clean typography with Inter and JetBrains Mono fonts
- Information only appears on hover
- Stone/slate color palette for subtle elegance
- Generous white space and clean layouts

## 🚀 Project Structure

```text
/
├── public/
│   └── favicon.svg
├── src/
│   ├── components/
│   │   └── ThemeToggle.astro          # Dark/light theme toggle
│   ├── content/
│   │   └── config.ts                  # Content collection schema
│   ├── data/
│   │   └── gallery.json               # 60+ curated images with metadata
│   ├── layouts/
│   │   └── Layout.astro               # Main layout with theme persistence
│   ├── pages/
│   │   ├── index.astro                # Gallery grid page
│   │   └── image/
│   │       └── [id].astro             # Individual image detail page
│   └── styles/
│       └── global.css                 # Global styles
├── scripts/
│   └── check-images.ts                # Image URL validation script
└── package.json
```

## 🖼️ Gallery Features

- **60+ Images**: Diverse collection spanning multiple categories
- **Category Organization**: Architecture, Nature, Street Photography, Portraits, and more
- **Photographer Attribution**: Credit with optional links to photographer profiles
- **Related Images**: Images can have multiple categories; related images are ranked by tag overlap
- **Responsive Images**: Optimized loading with Astro's Image component

## 🧞 Commands

All commands are run from the root of the project, from a terminal:

| Command                | Action                                           |
| :--------------------- | :----------------------------------------------- |
| `yarn install`         | Installs dependencies                            |
| `yarn dev`             | Starts local dev server at `localhost:4321`      |
| `yarn build`           | Build your production site to `./dist/`          |
| `yarn preview`         | Preview your build locally, before deploying     |
| `yarn check-images`    | Validate all gallery image URLs                  |
| `yarn astro ...`       | Run CLI commands like `astro add`, `astro check` |
| `yarn astro -- --help` | Get help using the Astro CLI                     |

## 🛠️ Development

### Adding New Images

Edit `src/data/gallery.json` to add new images:

```json
{
  "src": "https://example.com/image.jpg",
  "alt": "Image description",
  "title": "Image Title",
  "description": "Detailed description of the image",
  "categories": ["Primary Tag", "Secondary Tag"],
  "date": "2024-01-01",
  "photographer": "Photographer Name",
  "photographerLink": "https://photographer-website.com"
}
```

### Image Validation

The project includes automatic image URL validation:

- Run `yarn check-images` to verify all URLs are accessible
- Validation runs automatically during build process
- Failed URLs are reported for manual review

### Theme Customization

The project uses Tailwind CSS with a stone/slate color palette:

- Light mode: Stone colors (warm, neutral)
- Dark mode: Slate colors (cool blue-gray undertones)
- Easy to customize in `tailwind.config.mjs`

## 📱 Responsive Design

- **Mobile First**: Optimized for mobile viewing
- **Masonry Layout**: 1-4 columns based on screen size
- **Touch Friendly**: Proper hover states and touch interactions
- **Performance**: Lazy loading and optimized images

## 🎯 Performance Features

- **Static Site Generation**: Pre-rendered for maximum speed
- **Image Optimization**: Automatic WebP conversion and responsive sizes
- **View Transitions**: Smooth navigation without full page reloads
- **Minimal JavaScript**: Theme persistence and hover effects only
- **CSS-Based Masonry**: No JavaScript dependencies for layout
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。