github page 服务优化

启动本地服务,哇塞可好看了,还挺合适,一推送到github怎么这么慢。

博主根据butterfly文档配置了一部分。

以下是关于优化的配置合集希望对大家有所帮助

使用Pjax进行页面跳转

butterfly文档中关于pjax的配置

当用户点击链接,通过ajax更新页面需要变化的部分,然后使用HTML5的pushState修改浏览器的URL地址。

这样可以不用重复加载相同的资源(css/js), 从而提升网页的加载速度。

1
2
3
4
5
6
7
8
# Pjax
# It may contain bugs and unstable, give feedback when you find the bugs.
# https://github.com/MoOx/pjax
pjax:
enable: true
# exclude:
# - /music/
# - /no-pjax/

当前对pjax的支持仍有部分问题,你可以把有问题的网页链接加入到exclude里,这个网页会被pjax排除在外。
当使用pjax后可能存在以下问题:

  • 使用谷歌广告可能会报错(例如自动广告,广告相关配置
  • 对于一些第三方插件,有些并不支持pjax。(那些第三方插件?)
  • 一些自己DIY的js可能会无效,跳转页面时需要重新调用,请参考Pjax文档
  • 一些个别页面加载的js/css,将会改为所有页面都加载

使用Instantpage预加载链接

butterfly文档中关于Instantpage的配置

当鼠标悬停到链接上超过 65 毫秒时,Instantpage会对该链接进行预加载,可以提升访问速度。

1
2
3
# https://instant.page/
# prefetch (预加载)
instantpage: true

图片懒加载

没找到butterfly文档中关于这一部分的配置描述

1
2
3
4
5
6
7
# Lazyload (圖片懶加載)
# https://github.com/verlok/vanilla-lazyload
lazyload:
enable: true
field: site # site/post
placeholder: # 图片加载过程中的占位图片链接
blur: true

图片压缩

butterfly文档中推荐的图片压缩工具

Butterfly主题需要使用到很多图片。如果图片太大,会严重拖慢网站的加载速度。图片压缩能够有效的缓解这个问题。

使用powertoy内置工具压缩图片

博主使用Microsoft PowerToys的Image Resizer工具进行图片压缩。请参考Image Resizer实用工具的详细使用教程

使用imgbot自动压缩仓库中的图片

imgbot是一款Github插件。

安装后,你上传图片到Github去,imgbot会自动压缩图片并推送PR,我们只需要合并PR

你可以配置imgbot的侦测方法、压缩方法(有损/无损),具体可以查看插件的文档