photosuite 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -3
- package/README.zh-CN.md +322 -313
- package/demo/astro.config.mjs +6 -0
- package/demo/package.json +2 -2
- package/demo/pnpm-lock.yaml +3713 -3713
- package/demo/src/pages/index.astro +1 -1
- package/dist/photosuite.integration.cjs +2 -2
- package/dist/photosuite.integration.js +250 -125
- package/dist/rehype/exiftoolVendored.d.ts +5 -0
- package/dist/types.d.ts +26 -0
- package/package.json +76 -76
package/README.md
CHANGED
|
@@ -305,9 +305,13 @@ But we insist on taking root in this soil, letting thought be free, and letting
|
|
|
305
305
|
|
|
306
306
|
[](https://github.com/achuanya/photosuite/graphs/contributors)
|
|
307
307
|
|
|
308
|
-
##
|
|
309
|
-
|
|
308
|
+
## Users
|
|
309
|
+
|
|
310
|
+
- [Frevia](https://www.frevia.site)
|
|
311
|
+
- [ZhiJun's Blog](https://blog.zhijun.io)
|
|
312
|
+
|
|
313
|
+
If you are using using Photosuite, please edit this file to add your blog.
|
|
310
314
|
|
|
311
315
|
## License
|
|
312
316
|
|
|
313
|
-
[GPL-3.0](./LICENSE)
|
|
317
|
+
[GPL-3.0](./LICENSE)
|
package/README.zh-CN.md
CHANGED
|
@@ -1,314 +1,323 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
<a href="/">
|
|
3
|
-
<img src="/public/logo.svg" alt="Photosuite" width="120" />
|
|
4
|
-
<br/>
|
|
5
|
-
<h1>Photosuite</h1>
|
|
6
|
-
</a>
|
|
7
|
-
|
|
8
|
-
<p>
|
|
9
|
-
<a href="https://photosuite.lhasa.icu">官方网站</a> •
|
|
10
|
-
<a href="https://github.com/achuanya/photosuite/releases">最新版本</a> •
|
|
11
|
-
<a href="https://github.com/achuanya/photosuite/blob/main/Changelog.md">更新日志</a> •
|
|
12
|
-
<a href="./README.md">English</a>
|
|
13
|
-
</p>
|
|
14
|
-
</div>
|
|
15
|
-
|
|
16
|
-
Photosuite 是一款简单易用但功能丰富的图像插件,它将灯箱、EXIF、路径补全、拼图等功能,模块化整合在一个零配置的插件中。开箱即用,无需繁琐的配置,一行代码即可让您的图片焕然一新!
|
|
17
|
-
|
|
18
|
-
## 特性
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
## 安装
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
pnpm add photosuite
|
|
32
|
-
# 或
|
|
33
|
-
npm install photosuite
|
|
34
|
-
# 或
|
|
35
|
-
yarn add photosuite
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## 快速开始
|
|
39
|
-
|
|
40
|
-
Astro 集成 Photosuite 非常简单,只需要在 `astro.config.js` 中添加以下配置:
|
|
41
|
-
|
|
42
|
-
```javascript
|
|
43
|
-
import { defineConfig } from 'astro/config';
|
|
44
|
-
import photosuite from 'photosuite';
|
|
45
|
-
import "photosuite/dist/photosuite.css";
|
|
46
|
-
|
|
47
|
-
export default defineConfig({
|
|
48
|
-
integrations: [
|
|
49
|
-
photosuite({
|
|
50
|
-
// [必填] 指定生效范围的 CSS 选择器
|
|
51
|
-
// 建议指定为您的文章容器,避免影响网站其他部分。支持多个选择器,用逗号分隔
|
|
52
|
-
scope: '#main',
|
|
53
|
-
})
|
|
54
|
-
]
|
|
55
|
-
});
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
配置完成后,Photosuite 会自动处理您指定范围内的所有图片。
|
|
59
|
-
|
|
60
|
-
## 功能详解与配置
|
|
61
|
-
|
|
62
|
-
### 1. 路径解析
|
|
63
|
-
|
|
64
|
-
在写博客时,图片路径往往很麻烦。Photosuite 提供了灵活的路径解析策略,您可以根据实际情况进行配置
|
|
65
|
-
|
|
66
|
-
**场景 A:所有图片都在一个域名下**
|
|
67
|
-
|
|
68
|
-
```javascript
|
|
69
|
-
photosuite({
|
|
70
|
-
scope: '#main',
|
|
71
|
-
imageBase: 'https://cdn.example.com/images/',
|
|
72
|
-
})
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
**Markdown 写法:**
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
|
209
|
-
|
|
|
210
|
-
| `
|
|
211
|
-
| `
|
|
212
|
-
| `
|
|
213
|
-
| `
|
|
214
|
-
| `
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
// ----------------
|
|
229
|
-
//
|
|
230
|
-
// ----------------
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
//
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
//
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
//
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
'
|
|
255
|
-
'
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
//
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
<a href="/">
|
|
3
|
+
<img src="/public/logo.svg" alt="Photosuite" width="120" />
|
|
4
|
+
<br/>
|
|
5
|
+
<h1>Photosuite</h1>
|
|
6
|
+
</a>
|
|
7
|
+
|
|
8
|
+
<p>
|
|
9
|
+
<a href="https://photosuite.lhasa.icu">官方网站</a> •
|
|
10
|
+
<a href="https://github.com/achuanya/photosuite/releases">最新版本</a> •
|
|
11
|
+
<a href="https://github.com/achuanya/photosuite/blob/main/Changelog.md">更新日志</a> •
|
|
12
|
+
<a href="./README.md">English</a>
|
|
13
|
+
</p>
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
Photosuite 是一款简单易用但功能丰富的图像插件,它将灯箱、EXIF、路径补全、拼图等功能,模块化整合在一个零配置的插件中。开箱即用,无需繁琐的配置,一行代码即可让您的图片焕然一新!
|
|
17
|
+
|
|
18
|
+
## 特性
|
|
19
|
+
|
|
20
|
+
- **封装灯箱**:私人定制 Fancybox 灯箱,简约、实用
|
|
21
|
+
- **静态EXIF**:集成 exiftool-vendored.js 支持自定义 EXIF 参数
|
|
22
|
+
- **路径解析**:插入图片只需要写文件名,在构建时自动补全路径
|
|
23
|
+
- **图片说明**:自动获取图片 alt 进行图片说明展示
|
|
24
|
+
- **分组拼图**:连续的图片(2-3张)自动组合成拼图布局,每张图片独立可点击
|
|
25
|
+
- **极致性能**:以上纯静态,只在构建时完成,运行无依赖,功能模块化,按需加载
|
|
26
|
+
- **零配置启动**:默认配置即可满足绝大多数需求,同时也提供丰富的选项供深度定制
|
|
27
|
+
|
|
28
|
+
## 安装
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
pnpm add photosuite
|
|
32
|
+
# 或
|
|
33
|
+
npm install photosuite
|
|
34
|
+
# 或
|
|
35
|
+
yarn add photosuite
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## 快速开始
|
|
39
|
+
|
|
40
|
+
Astro 集成 Photosuite 非常简单,只需要在 `astro.config.js` 中添加以下配置:
|
|
41
|
+
|
|
42
|
+
```javascript
|
|
43
|
+
import { defineConfig } from 'astro/config';
|
|
44
|
+
import photosuite from 'photosuite';
|
|
45
|
+
import "photosuite/dist/photosuite.css";
|
|
46
|
+
|
|
47
|
+
export default defineConfig({
|
|
48
|
+
integrations: [
|
|
49
|
+
photosuite({
|
|
50
|
+
// [必填] 指定生效范围的 CSS 选择器
|
|
51
|
+
// 建议指定为您的文章容器,避免影响网站其他部分。支持多个选择器,用逗号分隔
|
|
52
|
+
scope: '#main',
|
|
53
|
+
})
|
|
54
|
+
]
|
|
55
|
+
});
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
配置完成后,Photosuite 会自动处理您指定范围内的所有图片。
|
|
59
|
+
|
|
60
|
+
## 功能详解与配置
|
|
61
|
+
|
|
62
|
+
### 1. 路径解析
|
|
63
|
+
|
|
64
|
+
在写博客时,图片路径往往很麻烦。Photosuite 提供了灵活的路径解析策略,您可以根据实际情况进行配置
|
|
65
|
+
|
|
66
|
+
**场景 A:所有图片都在一个域名下**
|
|
67
|
+
|
|
68
|
+
```javascript
|
|
69
|
+
photosuite({
|
|
70
|
+
scope: '#main',
|
|
71
|
+
imageBase: 'https://cdn.example.com/images/',
|
|
72
|
+
})
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Markdown 写法:**
|
|
76
|
+
|
|
77
|
+
```markdown
|
|
78
|
+

|
|
79
|
+
<!-- 最终解析为: https://cdn.example.com/images/photo.jpg -->
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**场景 B:每篇文章有独立的图片目录(默认)**
|
|
83
|
+
|
|
84
|
+
您可以在 Frontmatter 中指定目录名:
|
|
85
|
+
|
|
86
|
+
```yaml
|
|
87
|
+
---
|
|
88
|
+
title: 我的第一次 GitHub PR
|
|
89
|
+
imageDir: "2025-11-26-my-first-github-pr"
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+

|
|
93
|
+
<!-- 最终解析为: https://cdn.example.com/images/2025-11-26-my-first-github-pr/photo.jpg -->
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**场景 C:以文件名为目录**
|
|
97
|
+
|
|
98
|
+
```javascript
|
|
99
|
+
photosuite({
|
|
100
|
+
scope: '#main',
|
|
101
|
+
imageBase: 'https://cdn.example.com/',
|
|
102
|
+
fileDir: true, // 开启此选项
|
|
103
|
+
})
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
如果您的文章文件名是 `2025-11-26-my-first-github-pr.md`,图片路径会自动解析为:
|
|
107
|
+
|
|
108
|
+
`https://cdn.example.com/images/2025-11-26-my-first-github-pr/photo.jpg`
|
|
109
|
+
|
|
110
|
+
### 2. EXIF 信息展示
|
|
111
|
+
|
|
112
|
+
Photosuite 使用 `exiftool-vendored.js` 在构建时提取信息。
|
|
113
|
+
|
|
114
|
+
**默认配置:**
|
|
115
|
+
默认显示:相机型号、镜头型号、焦距、光圈、快门速度、ISO、拍摄时间。
|
|
116
|
+
|
|
117
|
+
> NIKON Z 30 · NIKKOR Z DX 16-50mm f/3.5-6.3 VR · 20.5 mm · ƒ/3.8 · 1/15 · ISO 1000 · 2025/12/9
|
|
118
|
+
|
|
119
|
+
**自定义配置:**
|
|
120
|
+
|
|
121
|
+
```javascript
|
|
122
|
+
photosuite({
|
|
123
|
+
// ...
|
|
124
|
+
exif: {
|
|
125
|
+
enabled: true,
|
|
126
|
+
// 自定义显示字段:焦距、光圈、快门速度、ISO
|
|
127
|
+
fields: ['FocalLength', 'FNumber', 'ExposureTime', 'ISO'],
|
|
128
|
+
// 自定义分隔符
|
|
129
|
+
separator: ' · '
|
|
130
|
+
}
|
|
131
|
+
})
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### 2. 图片拼图
|
|
135
|
+
|
|
136
|
+
Photosuite 支持自动将连续的图片组合成拼图布局。当 Markdown 中有 2-3 张图片紧挨着时,它们会自动组合成拼图,且每张图片都独立可点击。
|
|
137
|
+
|
|
138
|
+
**Markdown 写法:**
|
|
139
|
+
|
|
140
|
+
两张图片拼图:
|
|
141
|
+
|
|
142
|
+
```markdown
|
|
143
|
+

|
|
144
|
+

|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
三张图片拼图:
|
|
148
|
+
|
|
149
|
+
```markdown
|
|
150
|
+

|
|
151
|
+

|
|
152
|
+

|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
**特性:**
|
|
156
|
+
|
|
157
|
+
- 自动检测连续的图片(2-3张)
|
|
158
|
+
- 每张图片宽度一致,均分容器宽度
|
|
159
|
+
- 每张图片独立可点击,都支持灯箱功能
|
|
160
|
+
- 交互体验:鼠标悬停时图片自动轻微放大
|
|
161
|
+
- 响应式设计:移动端自动切换为单列布局
|
|
162
|
+
|
|
163
|
+
**配置:**
|
|
164
|
+
|
|
165
|
+
```javascript
|
|
166
|
+
photosuite({
|
|
167
|
+
// ...
|
|
168
|
+
// 关闭拼图功能
|
|
169
|
+
imageGrid: false,
|
|
170
|
+
})
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### 4. 灯箱与标题
|
|
174
|
+
|
|
175
|
+
Fancybox 经过我定制后,与官方版本有些许差异
|
|
176
|
+
|
|
177
|
+
支持原生配置,可参考:[Fancybox](https://fancyapps.com/fancybox/)
|
|
178
|
+
|
|
179
|
+
```javascript
|
|
180
|
+
photosuite({
|
|
181
|
+
// ...
|
|
182
|
+
// 关闭灯箱功能
|
|
183
|
+
fancybox: false,
|
|
184
|
+
|
|
185
|
+
// 关闭图片标题
|
|
186
|
+
imageAlts: false,
|
|
187
|
+
|
|
188
|
+
// Fancybox 原生配置传递
|
|
189
|
+
fancyboxOptions: {
|
|
190
|
+
Carousel: {
|
|
191
|
+
infinite: false,
|
|
192
|
+
Toolbar: {
|
|
193
|
+
display: {
|
|
194
|
+
left: ["infobar"],
|
|
195
|
+
middle: [],
|
|
196
|
+
right: ["slideshow", "download", "thumbs", "close"],
|
|
197
|
+
},
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
}
|
|
201
|
+
})
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
## 完整配置参考
|
|
205
|
+
|
|
206
|
+
### 参数列表
|
|
207
|
+
|
|
208
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
209
|
+
| :---------------- | :-------------------- | :-: | :------------------- | :-------------------------------------------- |
|
|
210
|
+
| `scope` | `string` | ✅ | - | **生效范围**。CSS 选择器,仅处理该容器内的图片,可包含多个选择器,用逗号分隔 |
|
|
211
|
+
| `selector` | `string` | ❌ | `"a[data-fancybox]"` | **图片选择器**。指定哪些图片需要启用灯箱效果 |
|
|
212
|
+
| `imageBase` | `string` | ❌ | - | **图片基础 URL**。用于拼接相对路径的前缀 |
|
|
213
|
+
| `imageDir` | `string` | ❌ | `"imageDir"` | **目录字段名**。在 Markdown Frontmatter 中指定图片目录的字段名称 |
|
|
214
|
+
| `fileDir` | `boolean` | ❌ | `false` | **文件名归档**。是否自动使用 Markdown 文件名作为图片子目录 |
|
|
215
|
+
| `fancybox` | `boolean` | ❌ | `true` | **启用灯箱**。是否加载 Fancybox 模块 |
|
|
216
|
+
| `imageAlts` | `boolean` | ❌ | `true` | **启用标题**。是否将 `alt` 属性显示为图片标题 |
|
|
217
|
+
| `imageGrid` | `boolean` | ❌ | `true` | **启用拼图**。是否将连续的图片(2-3张)组合成拼图布局 |
|
|
218
|
+
| `exif` | `boolean` \| `object` | ❌ | `true` | **启用 EXIF**。可通过 fields:\[] 配置显示选项 |
|
|
219
|
+
| `fancyboxOptions` | `object` | ❌ | - | **灯箱原生配置**。透传给 Fancybox 的配置项 |
|
|
220
|
+
|
|
221
|
+
### 全部配置代码示例
|
|
222
|
+
|
|
223
|
+
```javascript
|
|
224
|
+
import photosuite from 'photosuite';
|
|
225
|
+
import "photosuite/dist/photosuite.css";
|
|
226
|
+
|
|
227
|
+
photosuite({
|
|
228
|
+
// ----------------
|
|
229
|
+
// 必填项
|
|
230
|
+
// ----------------
|
|
231
|
+
scope: '#main', // 您的文章容器类名
|
|
232
|
+
|
|
233
|
+
// ----------------
|
|
234
|
+
// 选填项 (以下均为默认值)
|
|
235
|
+
// ----------------
|
|
236
|
+
|
|
237
|
+
// 基础设置
|
|
238
|
+
selector: 'a[data-fancybox]',
|
|
239
|
+
|
|
240
|
+
// 路径解析
|
|
241
|
+
imageBase: '',
|
|
242
|
+
imageDir: 'imageDir',
|
|
243
|
+
fileDir: false,
|
|
244
|
+
|
|
245
|
+
// 功能开关
|
|
246
|
+
fancybox: true,
|
|
247
|
+
imageAlts: true,
|
|
248
|
+
imageGrid: true,
|
|
249
|
+
|
|
250
|
+
// EXIF 详细配置
|
|
251
|
+
exif: {
|
|
252
|
+
enabled: true,
|
|
253
|
+
fields: [
|
|
254
|
+
'Model', // 相机型号
|
|
255
|
+
'LensModel', // 镜头型号
|
|
256
|
+
'FocalLength', // 焦距
|
|
257
|
+
'FNumber', // 光圈
|
|
258
|
+
'ExposureTime', // 快门速度
|
|
259
|
+
'ISO', // 感光度
|
|
260
|
+
'DateTimeOriginal' // 拍摄时间
|
|
261
|
+
],
|
|
262
|
+
separator: ' · ' // 分隔符
|
|
263
|
+
},
|
|
264
|
+
|
|
265
|
+
// Fancybox 原生配置传递
|
|
266
|
+
fancyboxOptions: {
|
|
267
|
+
wheel: "slide", // 支持滚轮切换
|
|
268
|
+
Hash: false, // 禁用 URL 哈希
|
|
269
|
+
Html: {
|
|
270
|
+
video: {
|
|
271
|
+
autoplay: false, // 禁用视频自动播放
|
|
272
|
+
},
|
|
273
|
+
},
|
|
274
|
+
Carousel: {
|
|
275
|
+
Thumbs: false, // 关闭缩略图
|
|
276
|
+
infinite: false, // 禁用无限循环
|
|
277
|
+
Toolbar: {
|
|
278
|
+
display: {
|
|
279
|
+
left: ["counter"], // 左上角显示页码
|
|
280
|
+
right: ["autoplay", "close"], // 右上角显示自动播放和关闭按钮
|
|
281
|
+
},
|
|
282
|
+
},
|
|
283
|
+
},
|
|
284
|
+
}
|
|
285
|
+
})
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
## 常见问题
|
|
289
|
+
|
|
290
|
+
**1.为什么 EXIF 信息没有显示?**
|
|
291
|
+
A: 请检查以下几点:
|
|
292
|
+
|
|
293
|
+
1. 图片是否包含 EXIF 信息(某些压缩工具会去除 EXIF)
|
|
294
|
+
2. EXIF 信息至少有曝光三要素(焦距、光圈、快门速度)时,才会显示
|
|
295
|
+
|
|
296
|
+
**2.我想只在某些图片上使用 Photosuite,怎么办?**
|
|
297
|
+
A: 您可以通过 CSS 选择器精确控制范围(多个选择器用逗号分隔)例如,只在类名为 `'#main` 的元素内部生效:
|
|
298
|
+
|
|
299
|
+
```javascript
|
|
300
|
+
photosuite({
|
|
301
|
+
scope: '#main',
|
|
302
|
+
// ... 其他配置
|
|
303
|
+
})
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
## 贡献者们
|
|
307
|
+
|
|
308
|
+
一行代码,一个插件,对于独立博客而言,微不足道,如同尘埃。
|
|
309
|
+
|
|
310
|
+
但我们偏要在这片土壤中扎根,让思想自由,让灵魂安放!
|
|
311
|
+
|
|
312
|
+
[](https://github.com/achuanya/photosuite/graphs/contributors)
|
|
313
|
+
|
|
314
|
+
## 他们在用
|
|
315
|
+
|
|
316
|
+
- [Frevia](https://www.frevia.site)
|
|
317
|
+
- [ZhiJun's Blog](https://blog.zhijun.io)
|
|
318
|
+
|
|
319
|
+
如果你也在使用 Photosuite,可自行编辑加入!
|
|
320
|
+
|
|
321
|
+
## 开源许可协议
|
|
322
|
+
|
|
314
323
|
[GPL-3.0](./LICENSE)
|