抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >
L
O
A
D
I
N
G

本文是关于给自己的博客网站添加一个相册功能,并且实现瀑布流相册效果,基于 Volantis 主题,其他主题亦可参考,其基本流程应该是大同小异的。

一、前言

最近在折腾自己的博客,在折腾的过程中也参观了许多大牛的博客,发现不少博主都有个相册页面,我也想在自己的博客上面加个相册功能。说干就干,先来分析一下博主本人的需求:

  1. 相册目录或分类(按时间划分)
  2. 相册的添加与删除(隐藏)简单便捷
  3. 相册展示列表(瀑布流),图片可预览查看

OK ,需求明确那就可以开始动工了,不过先不急着动手,我们可以在网上找找看没有前辈大牛做过类似的功能,正所谓前人栽树,后人乘凉,没找到的话那只能自己栽树了。

哎哟,还真让我找出几个相关性比较高的博客文章,博主把参考链接贴到文章末尾以供大家查阅。

在实现教程开始之前先看大伙看看具体成果如何,相册截图如下:

博主个人感觉还是比较满足的,不知道大伙有什么高见,可以在评论区跟我讨论一下。

二、相册功能的设计与实现

在查阅大量关于Hexo添加相册功能的资料后,发现普遍都是采用模板数据文件来实现的,基本思路如下:

  1. 设计相册数据格式
  2. source/_data目录下创建 json 文件,用于存储相册数据
  3. 使用模板功能来自定义布局,读取相册数据并生成 html 元素
  4. 使用 hexo new 创建一个新页面,并使用刚才自定义的相册布局即可

可以,这思路还是比较简单易懂的,那就按照这个来做。

1. 设计相册数据格式

source/_data/gallery.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
{
"archives": [
{
"name": "相册功能测试(一)",
"cover": "https://album.yywen.top/test/img.jpg-webp",
"date": "Copyright © 2021",
"description": "相册功能测试",
"url_album": "galleries2021"
},
{
"name": "相册功能测试(一)",
"cover": "https://album.yywen.top/test/img.jpg-webp",
"date": "Copyright © 2021",
"description": "相册功能测试",
"url_album": "galleries2021"
}
],
"galleries2021":[
{
"name": "相册功能测试(一)",
"cover": "https://album.yywen.top/test/img.jpg-webp",
"date": "Copyright © 3 月",
"pwdenable": false,
"description": "相册描述文本",
"url_photo": "06",
"photos":[
{
"img_url": "https://album.yywen.top/AIDraw/AIDraw8.jpg-webp",
"title": "相册标题(一)",
"describe": "相册描述(一)"
},
{
"img_url": "https://album.yywen.top/AIDraw/AIDraw9.jpg-webp",
"title": "相册标题(二)",
"describe": "相册描述(二)"
},
{
"img_url": "https://album.yywen.top/AIDraw/AIDraw10.jpg-webp",
"title": "相册标题(三)",
"describe": "相册描述(三)"
}
]
}
],
"galleries2022":[
{
"name": "我们毕业了",
"cover": "https://album.yywen.top/photos/2022/06/cover.jpg-webp",
"date": "Copyright © 盛夏",
"pwdenable": false,
"column": 6,
"description": "离别不是友谊的分散,而是力量的扩张。只愿,他日相见,清风朗月,我们再次把酒言欢。",
"url_photo": "06",
"photos":[
{
"img_url": "https://album.yywen.top/photos/2022/06/01.jpg-webp",
"title": "毕业照(一)",
"describe": "毕业照(一)"
},
{
"img_url": "https://album.yywen.top/photos/2022/06/02.jpg-webp",
"title": "毕业照(二)",
"describe": "毕业照(二)"
},
{
"img_url": "https://album.yywen.top/photos/2022/06/05.jpg-webp",
"title": "毕业照(三)",
"describe": "毕业照(三)"
}
]
},
]
}

2. 创建相册模板

在站点主题文件夹下layout文件夹下新建文件 gallery.ejsgalleries.ejsphotos.ejs

评论