# LENS 相册插件 for Typecho
一个优雅的 Typecho 相册插件,支持文章图片自动提取、双列堆叠展示、三列瀑布流等多种展示模式。


## 功能特性
- **双列堆叠模式**:同一篇文章的多张图片自动堆叠成一张卡片,显示文章日期和标题(7字截断),点击进入文章专属轮播
- **三列瀑布流**:传统网格布局,点击图片全屏预览,支持左右滑动切换
- **智能分类**:支持多分类ID(逗号分隔),默认显示所有分类文章
- **文章链接**:预览层标题可点击,直达原文
- **响应式设计**:完美适配手机、平板、桌面端
- **本地字体**:使用系统自带中文字体,无需下载
- **手势支持**:支持触摸滑动、鼠标拖拽切换图片
## 安装方法
1. **下载插件**
- 下载插件文件,解压并重命名文件夹为 `LENS`
- 将文件夹上传至 `/usr/plugins/` 目录
2. **设置权限**
- 确保插件目录可读可写
3. **启用插件**
- 登录 Typecho 后台 → 控制台 → 插件
- 找到 **LENS** 并启用
4. **上传背景图**(可选)
- 将相机背景图上传至 `/usr/plugins/LENS/img/photo.webp`
- 或在后台设置中填写完整 URL
## 配置说明
进入后台 → 插件设置 → LENS:
| 设置项 | 说明 | 默认值 |
|--------|------|--------|
| **相册标题** | 显示在顶栏和首图左下角 | 我的相册 |
| **相册副标题** | 显示在首图左下角的小字 | Scenery along the way |
| **默认分类ID** | 支持多个,用英文逗号分隔(如:2,3,5)。填 0 或留空则显示所有分类 | 0 |
| **首图背景** | 相对于插件目录的路径(如 `img/photo.webp`)或完整 URL | img/photo.webp |
| **网格布局** | 双列(大图堆叠)或三列(小图瀑布流) | 三列 |
## 使用指南
### 图片提取规则
插件会自动从文章的 Markdown 内容中提取以下格式的图片:
```markdown

![描述][引用ID]
[引用ID]: 图片URL "标题"双列模式特点
- 堆叠效果:同一篇文章的多张图片在外层显示为一张带堆叠视觉效果的卡片
- 日期显示:显示文章发布日期(格式:2026/4/15)
- 标题截断:文章标题自动截断为7个字,超出显示"..."
- 数量徽章:多图文章右上角显示图片数量
- 文章预览:点击进入该文章的所有图片轮播,底部显示缩略图条
三列模式特点
- 扁平展示:所有图片平铺展示,不分文章
- 快速预览:点击任意图片进入全屏,可左右滑动浏览全部图片
- 标题链接:预览层顶部标题可点击跳转原文
URL 参数 访问相册页面时可通过 URL 参数临时覆盖设置:
category:临时指定分类ID(多个用逗号分隔)
目录结构
LENS/
├── Plugin.php # 插件入口
├── Action.php # 页面处理器
├── views/
│ └── lens.php # 前端模板
├── img/
│ └── photo.webp # 默认背景图(可替换)
└── README.md # 本文件
更新日志
v1.2.1 (2026-04-15)
- 默认分类ID改为 0(显示所有分类)
- 优化文章链接获取逻辑
- 新增文章图片堆叠展示(双列模式)
- 支持多分类ID筛选
- 预览层标题可点击跳转文章
- 重构为 LENS
- 新增三列瀑布流模式
- 支持手势滑动
v1.0.0
- 初始版本发布
注意事项
- 图片路径:建议使用相对路径或 HTTPS 链接,避免混合内容警告
- 缓存问题:修改设置后如未生效,请清理 Typecho 缓存或重新启用插件
- 文章权限:仅提取已发布(published)的文章图片
- 缩略图:当前版本使用原图作为缩略图,建议配合 CDN 或图片压缩插件使用
兼容性
- Typecho:1.2.0 及以上版本
- PHP:7.4 及以上版本
- 浏览器:Chrome 90+, Firefox 88+, Safari 14+, Edge 90+
演示截图
双列堆叠效果:
- 外层展示文章卡片,带堆叠视觉和日期
- 点击进入文章专属轮播,底部显示该文章所有缩略图
三列瀑布流:
- 网格布局,密集排列
- 点击全屏预览,左右滑动切换
作者信息
- 作者:Lin.
- 博客:https://linyu.live
- 版本:1.2.1
许可证
MIT License
如有问题或建议,欢迎提交 Issue 或联系作者。