上一篇文章已经具体讲述了博客的搭建与基本使用,接下来记录一下对博客的优化的工作,从图片加载优化
和 PicGo 图床
来介绍。
图片加载优化
概念介绍
预加载
就是进入项目前提前加载资源,避免在项目中加载缓慢,影响用户体验
懒加载
一般是当图片滚动进可视窗口内才加载图片,可视窗口之外的图片则不加载
matery主题 整体采用预加载模式,这样可以在我们访问其他页面的时候会稍微快点。我们可以在这个基础上对图片进行懒加载,这样做效果就是 html、css、js 加载之后,图片再加载。既保证了网页的打开速度,也不会因图片的庞大体积而拖累了整个页面的加载。
安装插件
在 Blog 根目录执行
1
npm install hexo-lazyload-image --save
在根目录下的
_config.yml
中添加对应配置1
2
3
4lazyload:
enable: true
onlypost: false # 是否只对文章的图片做懒加载
loadingImg: # eg ./images/loading.gif
设置插件
修改
/themes/matery/source/js
中的matery.js
文件,在第108行加上:1
2
3$(document).find('img[data-original]').each(function(){
$(this).parent().attr("href", $(this).attr("data-original"));
});打开
/themes/matery/layout/_partial/header.ejs
文件,在
img
和span
的两个头加个div
:1
2
3
4
5
6
7
8
9
10<div class="brand-logo">
<a href="<%- url_for() %>" class="waves-effect waves-light">
<div>
<% if (theme.logo !== undefined && theme.logo.length > 0) { %>
<img src="<%= theme.logo %>" class="logo-img" alt="LOGO">
<% } %>
<span class="logo-span"><%- config.title %></span>
</div>
</a>
</div>
自定义loading图片
hexo-lazyload-image
插件提供了自定义loading图片的选项,在 loadingImg
后配置图片的路径即可。
使用PicGo图床
PicGo 是一款开源的图床软件,该软件与iPic的不分伯仲,文档支持中文,支持插件开发。
安装 PicGo
下载地址 https://github.com/Molunerfinn/PicGo/releases ,选择下载与系统匹配的安装包,正常安装即可。
下载速度非常慢。。。备用地址:链接 提取码:btzt
创建GitHub仓库
创建一个用于存放图片的仓库,之后依次点击 Setting
—— Developer settings
—— Personal access tokens
创建一个token,并复制下来。
配置 PicGo
下载完成后进行安装,安装完毕后开始配置,如图:
设定仓库名
按照“账户名/仓库名的格式填写”,比如我的是:DongZhouGu/imageuse1
分支名
统一填写“master”。
设定Token
将之前的Token粘贴在这里。
指定存储路径
留空。
自定义域名
上传图片后成功后,PicGo会将“自定义域名+上传的图片名”生成的访问链接,放到剪切板上。默认留空也可以正常使用。这里为了使用CDN加快图片的访问速度,自定义域名我们按照这样去填写
之后就可以正常使用了