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

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

本人博客实现效果:相册 | 罗先生 (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. 【青少年编程】绘制等腰直角三角形
  2. 使用Python创建MySQL数据库实现字段动态增加以及动态的插入数据
  3. 104.路由协议有哪些?
  4. 1小时学会建站(二):购买及绑定域名
  5. c语言代码表白_用微信表情翻译表白,程序员的小浪漫,赶紧Get起来
  6. (pytorch-深度学习系列)pytorch数据操作
  7. HCIE Security 防火墙带宽管理 备考笔记(幕布)
  8. iOS之UI--CAShapeLayer
  9. 有java基础学python-零基础应该选择学习 java、php、前端 还是 python?
  10. OJDBC版本区别nbsp;[ojdbc14.jar…
  11. php 输出中文文件名乱码,PHP fopen中文文件名乱码问题解决方案
  12. 怎样给word插入页码,点击进来有惊喜
  13. matlab中textscan函数的用法,matlab中textscan format内容的用法.doc
  14. html调查问卷页面,html+js 问卷调查页面的展示以及form提交
  15. 数字音频压缩技术的历史及其发展现状
  16. java画菱形_JavaSE之绘制菱形
  17. 如何提高深度学习的泛化能力?
  18. 武汉关谷职业学院计算机中心,武汉光谷职业学院2021年宿舍条件
  19. 微服务(二)——注册中心(Eureka、Nacos)
  20. 最全Media 响应式 设置方法

热门文章

  1. 金斧子银斧子和铁斧子
  2. java_计算两个时间相差多少天、小时、分钟、秒
  3. 工作杂记-关于IOS通过Safari使用https域名访问的坑
  4. 2021年最新抓取微博所有图片,所有视频,所有评论,保存数据库excel
  5. Spring框架——applicationContext.xml配置文件头部xmlns
  6. python自学难吗?零基础学python难吗?
  7. Warshall算法代码实现
  8. 算法训练营 day20 二叉树 最大二叉树 合并二叉树 二叉搜索树中的搜索 验证二叉树
  9. 林轩田机器学习 | 机器学习技法课程笔记10 --- Random Forest
  10. 阿里云面经之实习hr面