gallery/GALLERY-README.md

183 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Gallery 配置驱动系统
## ✨ 已完成的改造
### 新增文件结构
```
gallery/
├── src/
│ ├── data/
│ │ └── gallery-config.js ← 核心配置文件(所有图片路径在这里)
│ ├── components/
│ │ └── sections/
│ │ ├── HeroSection.astro ← 首屏大图组件
│ │ ├── FullBleedSection.astro ← 全屏单图组件
│ │ ├── QuadGridSection.astro ← 四宫格组件
│ │ ├── DualSection.astro ← 双栏组件
│ │ └── GridSection.astro ← 网格布局组件
│ └── pages/
│ └── index.astro ← 主页(动态渲染)
└── public/
└── media/ ← 所有图片资源存放处
```
## 🚀 快速开始
### 1. 复制图片到项目
```bash
cd /Users/sinlee/Documents/git-repos/gallery
chmod +x copy-photos.sh
./copy-photos.sh
```
### 2. 启动开发服务器
```bash
pnpm dev
```
然后访问 `http://localhost:4321`
## 📸 当前图片布局
根据你的图片命名,我已经这样组织了内容:
1. **首屏** - 四人合照 (`0123_1.JPG`)
2. **全屏单图** - 另一张合照 (`0123_2.JPG`)
3. **四宫格** - 0号人物的四张照片 (`0_1` 到 `0_4`)
4. **双栏** - 23号合照 + 1号单人
5. **网格** - 2号和3号的照片
6. **全屏结尾** - 0号照片
## 🎨 如何修改布局
### 只需编辑一个文件:`src/data/gallery-config.js`
#### 示例 1修改首屏图片
```javascript
hero: {
image: '/media/0123_2.JPG', // 改成其他图片
title: '新的标题',
subtitle: '新的副标题'
}
```
#### 示例 2添加新的四宫格
`sections` 数组中添加:
```javascript
{
type: 'quad-grid',
title: '新的四宫格',
images: [
'/media/1_1.JPG',
'/media/2_1.JPG',
'/media/2_2.JPG',
'/media/3_1.JPG'
]
}
```
#### 示例 3添加双栏布局
```javascript
{
type: 'dual',
cards: [
{
image: '/media/0_1.JPG',
title: '左边标题',
description: '左边描述'
},
{
image: '/media/1_1.JPG',
title: '右边标题',
description: '右边描述'
}
]
}
```
#### 示例 4添加风景照片展示新功能
```javascript
{
type: 'scenery',
enabled: true, // 开关控制
title: '风景搅影',
description: '记录自然之美',
categories: ['nature', 'urban', 'plants', 'animals'], // 要展示的类别
groupCount: 2, // 展示几个照片组
random: true // 是否随机选择
}
```
**风景类别说明:**
- `nature` - 纯自然风景 (5_x_x.JPG)
- `urban` - 非自然风景/城市 (6_x_x.JPG)
- `plants` - 植物 (7_x_x.JPG)
- `animals` - 动物 (8_x_x.JPG)
## 📦 支持的布局类型
- `hero` - 首屏大图
- `full-bleed` - 全屏单图(支持 left/right/center 对齐)
- `quad-grid` - 四宫格2x2
- `dual` - 双栏布局
- `grid` - 灵活网格(支持 large 和 normal 尺寸)
- `scenery` - 风景照片展示(新增!支持随机选择和分类过滤)
## 🔄 部署到 VPS
修改完成后:
```bash
git add .
git commit -m "更新 gallery 配置"
git push
```
自动部署会触发,几秒后就能在 `https://show.leexxx.com` 看到更新!
## 💡 提示
- **图片路径**:相对于 `public/` 目录,所以 `/media/xxx.jpg` 对应 `public/media/xxx.jpg`
- **图片格式**:支持 JPG, PNG, WebP
- **添加图片**:只需把新图片放到 `public/media/` 然后在配置文件中引用即可
- **调整顺序**:在 `sections` 数组中调整顺序即可改变页面布局顺序
## 🎯 图片命名规则
### 人物照片
- `0_X.JPG` - 0号人物的照片
- `1_X.JPG` - 1号人物的照片
- `2_X.JPG` - 2号人物的照片
- `3_X.JPG` - 3号人物的照片
- `0123_X.JPG` - 四人合照
- `23_X.JPG` - 2号和3号的合照
### 风景照片(新增)
- `5_Y_Z.JPG` - 纯自然风景
- `6_Y_Z.JPG` - 非自然风景(建筑、城市等)
- `7_Y_Z.JPG` - 植物
- `8_Y_Z.JPG` - 动物
**编号说明:**
- 第一位类型5/6/7/8
- 第二位Y关联组号相同数字代表有关联的照片
- 第三位Z顺序编号
**示例:**
```
5_1_1.JPG ← 纯自然风景第1组第1张
5_1_2.JPG ← 纯自然风景第1组第2张与上一张相关
5_2_1.JPG ← 纯自然风景第2组第1张独立场景
6_1_1.JPG ← 非自然风景第1组第1张
```
你可以根据这些照片自由组织任何布局!