最近在搭建博客的过程中,想要实现相册功能,找了很多资料,都是说要使用插件或者脚本,我花了很多时间,跟着这些资料去做,但是都没实现,但是我没有放弃,后来终于找到一篇文章,通过这篇文章,终于实现了,也正是这篇文章,使得我对于博客的网页设计有了更高的理解。

个人认为,用这种方法思路很清晰,通过代码的方式,一步一步搭建相册,不像其他教程,很多操作都不懂什么原理,耐心看完整篇文章,相信你也能和我一样彻底了解相册功能的实现。

本人博客实现效果:相册 | 罗先生 (yuansec.top)https://www.yuansec.top/photos/

一、准备图床

由于本人是通过github搭建的网站,而且相册功能图片比较多,不推荐使用本地上传图片,这样加载太慢,会导致你的网站加载也变慢,通过图床加速可以大大提高图片加载速度,以致于不拖累你爹网站的加载速度(如果你和我一样都是用的github,网站的图片最好都用图床链接)

图床这里我个人有两个方案

1、维格表

具体使用可参考本人之前的一篇文章

免费图床方案-维格表_yuansec的博客-CSDN博客

2、路过图床(推荐)

路过图床 - 免费图片上传, 专业图片外链, 免费公共图床

推荐理由:简单好用,且速度也快

一、添加相册板块

1、首先创建一个相册的图标

这一步就不细说了,不会的可以自己去找教程,或者参考我之前发的一篇文章

next主题自定义侧边栏链接图标(新方法)_yuansec的博客-CSDN博客

2、添加相册板块

博客根目录下输入代码

hexo new page photos

会在博客根目录source文件夹下生成一个photos文件夹,点进去,里面有一个index.md文件,打开这个文件,将标题改为相册(你想要叫的名字),类型设置为photos

接着打开\themes\next目录下的_config.yml文件,找到menu,添加photos这一栏

最后,还要设置以下中文,打开\themes\next\languages目录下的zh-CN.yml文件,添加中文

二、设计相册主页

1、添加相册主页主题配置文件

打开\themes\next\source\css下的main.styl文件,添加以下代码

/*相册主页面*/
.photos-page {margin-top: -50px;
}.photos-list {display: flex;//指定容器flex-direction: row;//水平为主轴flex-wrap: nowrap;//不自动换行justify-content: space-between;//两侧对其align-items: flex-start;//水平对齐
}
.photos-column a {border-bottom: 0px;
}
.photos-item {margin-bottom: -50px
}
/*相册标题样式*/
.photos-item p {margin: -25px auto -10px;max-width: 50%;text-align: center;font-size: 15px;color: $black-deep;background: rgba(255,255,255,.3);border-radius: 7px;border: 1px solid $black-deep;box-shadow: 0 8px 20px -8px rgba(0,0,0,.3);
}
/*相册封面显示以及点击面积*/
.photos-column a img {height: 250px;width: 300px;object-fit: cover;
}

2、添加相册

在根目录\source\photos文件夹下新建几个文件夹,我这里的代码是3个,你可以建三个文件夹,也可以增减代码,然后打开index.md文件添加代码

---
title: 相册
type: photos
---
<div class="photos-page"><div class="photos-list"><div class="photos-column"><div class="photos-item"><a href="photos目录下的相册文件名1"><img src="图床url链接"></a><br><p>-相册名1-</p></div></div><div class="photos-column"><div class="photos-item"><a href="photos目录下的相册文件名2"><img src="图床url链接"></a><br><p>-相册名2-</p></div></div><div class="photos-column"><div class="photos-item"><a href="photos目录下的相册文件名3"><img src="图床url链接"></a><br><p>-相册名3-</p></div></div></div>
</div>
<br>
<br>

将代码中"photos目录下的相册文件名1"改成你建的文件名,将"图床url链接"改为你的图片的图床url链接即可。

三、添加子相册

1、添加子相册主题样式文件

打开\themes\next\source\css下的main.styl文件,添加以下代码

.img-list{display: flex;flex-direction: column;//垂直为主轴
}
.img-column {display: flex;flex-direction: row;flex-wrap: nowrap;justify-content: space-between;align-items: flex-start
}
.img-column a{border-bottom: 0px;
}
/*图片显示面积*/
.img-column a img {height: 280px;width: 330px;object-fit: scale-down;
}

2、添加图片

随便打开photos目录下的某个相册文件,新建一个index.md文件

添加代码

<div class="photos-page"><div class="img-list"><div class="img-column"><img src="图床url链接"></a><img src="图床url链接"></a><img src="图床url链接"></a></div><div class="img2-column"><img src="图床url链接"></a>     <img src="图床url链接"></a></div></div>
</div>

将"图床url链接"改为图片的链接即可

四、图片点击放大效果

先切到next/source/lib目录下,下载插件

git clone https://github.com/theme-next/theme-next-fancybox3 fancybox

更改next/_config.yml文件

fancybox: true

总结

总体的设计思路

创建相册功能板块——设计相册主页显示样式——添加子相册——设计子相册图片显示样式——添加图片到各个子相册

大体的思路就是这样,不难理解,而且所有过程都是通过自己写代码构建的,不需要去下载任何插件和脚本,如果最后显示结果和我的有出路的话,可以看下这篇文章,了解网页布局的真正原理

30 分钟学会 Flex 布局 - 知乎 (zhihu.com)

next主题搭建相册(无需安装插件,代码即可实现)相关推荐

  1. 一键开启mysql的审计功能(无需安装插件)

    本文所使用数据库为mysql8.0,5.x版本的mysql上没试过一下步骤调用审计功能 无需下载任何插件,两行命令就能搞定 一.首先查看审计配置情况 show global variables lik ...

  2. java 视频压缩_Java 压缩视频(无需安装插件)

    亲测可用,基于ffmpeg 去进行压缩, 测试原视频大小:835.87 MB 压缩后大小:118.8 MB 压缩比率 :85.78% 好了,开始上代码 1.首先 pom文件中引入下面两个 jar 包 ...

  3. 使用Chrome浏览器实现网页长截图 无需安装插件

    有些网页比较长,一屏装不下,需要拉动滚动条才行,这种网页我们想截图截取全部内容时就比较困难 如果使用的是Chrome浏览器,可以使用如下方法截图: 打开网页后 按快捷键 F12 打开移动设备预览模式( ...

  4. 一款无需写任何代码即可一键生成前后端代码的开源工具

    JeecgBoot 是一款基于代码生成器的低代码开发平台,零代码开发.JeecgBoot 采用开发模式:Online Coding 模式-> 代码生成器模式-> 手工 MERGE 智能开发 ...

  5. 无需安装任何软件即可在个人电脑中创建隐私空间的方法

    按照以下方法操作能够实现在电脑硬盘或U盘中创建一个保密空间,不需要安装任何软件,可以随时打开或隐藏,非常方便. 步骤: 1.在个人电脑中建立一个txt文档: 2.打开txt,拷贝以下代码放入文档中保存 ...

  6. 无需编写任何代码即可使用 AI 创建新漫画,关于如何使用 GPT-3 和 DALL-E 为有趣页面生成原创内容的教程

    上个月我探索了如何使用 OpenAI 的GPT-3文本生成器和他们的DALL-E图像到文本系统来创建新的连环画,而无需编写任何源代码.请注意,这两个系统都处于测试阶段,在我使用了所有免费代币后,他们开 ...

  7. iPhone Android主题,iPhone终于可以换主题了!还能一键体验安卓系统,无需任何插件...

    原标题:iPhone终于可以换主题了!还能一键体验安卓系统,无需任何插件 众所周知,iOS和安卓是当今手机系统里的两大阵营,而作为科技数码爱好者,只要不是囊中羞涩,一般都会选择购买两款手机,一款安卓一 ...

  8. android一键 iphone6s,iPhone终于可以换主题了!还能一键体验安卓系统,无需任何插件...

    众所周知,iOS和安卓是当今手机系统里的两大阵营,而作为科技数码爱好者,只要不是囊中羞涩,一般都会选择购买两款手机,一款安卓一款苹果,这也就是我们口中常说的双机党. 小雷就是一名双机党,一边是生活,一 ...

  9. eclipse+安卓SDK+jdk 搭建安卓开发环境(无需安装ADT插件)

    本文环境搭建用到的相应的包在我的资源中都能下载: 1.首先安装JDK a.建议安装JDK1.8,提供的资源下载中也是JDK1.8的安装包: b.双击JDK安装包会出现第一个安装路径进行选择,此路径为J ...

最新文章

  1. 某员工在工作群回复领导“OK”,被领导批不懂规矩!直接开除!
  2. Android框架之路——EventBus的使用
  3. Trailblazer —— Rails 的扩展概念驱动开发框架
  4. 半吊子菜鸟学Web开发 -- PHP学习 4 --异常
  5. 设置IDEA中各种线条颜色
  6. Jad一个好东西(转载)
  7. TF之p2p:基于TF利用p2p模型部分代码实现提高图像的分辨率
  8. RecycleView的正确打开方式
  9. iOS 本地化应用程序汇总 国际化
  10. 对python的功能和扩展功能的认知_Python基础-基础认知和库了解
  11. java 两数之差_1_两数之和(java)
  12. 将mysql中的数据库表导出和导入
  13. Adobe Premiere 基本使用
  14. 五款app原型设计工具对比
  15. 【好文翻译】10个免费的压力测试工具(Web)
  16. 软件项目管理 2.1.项目立项
  17. Java根据身份证号或者出生日期计算年龄
  18. 阿里云服务器续费坑啊早知道不买了
  19. openstack kolla 安装报错
  20. https证书申请流程和简介

热门文章

  1. geoJson全国各省市地图json数据获取
  2. StrangIOC框架一
  3. 鸿蒙os能支持c语言吗,再次确认华为鸿蒙OS系统采用C预言开发,流畅度相当ios
  4. 下列签名无效: EXPKEYSIG CDFB5FA52007B954 Metasploit 解决办法
  5. 消防应急疏散指示系统在某生物制药工厂项目的应用
  6. 小米也打价格战?会有1999的小米2吗?
  7. (课程笔记)| 林轩田机器学习基石入门(一)
  8. GitHub Actions入门教程:自动化部署静态博客
  9. Yocto系列讲解[理论篇] 3 - meta layer recipe class概念介绍
  10. STM32单片机实现连接USB摄像头