ppoffice / hexo-theme-icarus

A simple, delicate, and modern theme for the static site generator Hexo.
https://ppoffice.github.io/hexo-theme-icarus/
MIT License
6.28k stars 1.54k forks source link

[建议]优化主题性能 #1269

Open JIeJaitt opened 5 months ago

JIeJaitt commented 5 months ago

确保你在提交功能建议之前仔细阅读了Hexo文档Icarus用户指南,和GitHub issues来了解你的建议是否已经被他人提出过。

你的功能建议与某个使用问题相关么?请详述。

Icarus主题是一款非常优秀的主题,感谢大佬的贡献,现在主题大部分功能已经基本完善,但是似乎icarus主题的性能并不是特别完美,用GOOGLE 的网页访问速度分析,移动端平均评分在50分,PC端平均评分在90分左右,而且也不是我的个例,例如:https://www.huihongcloud.com/2021/10/17/hexo/%E8%AE%B0hexo%20icarus%E4%B8%BB%E9%A2%98%E4%BC%98%E5%8C%96Google%20PageSpeed%20Insights%E5%88%86%E6%95%B0/

描述你想要的解决方案

效果类似这个博主的魔改:https://blog.skk.moe/

描述你考虑过的替代办法

暂无

额外上下文

主要是移动端评分过低,对于一个主题来说,简洁大气美观的外貌重要,但是快速加载优化等内核也同样重要

PJ-568 commented 4 months ago

这个博主很厉害,它的博客的运作方式很像 Pjax 局部刷新。相关 issues :#992

JIeJaitt commented 4 months ago

@PJ-568 不好意思看错了,我以为你说的是那个issue里面那个人的博客,另外我的博客性能好像是不太行,我的博客是纯文字的,不过这个CDN是什么来头?https://lib.baomitu.com/${package}/${version}/${filename}。

JIeJaitt commented 4 months ago

@PJ-568 大佬,你的网络环境是咋样的,我这里不开梯子还是打开速度还可以的

PJ-568 commented 4 months ago

@PJ-568 不好意思看错了,我以为你说的是那个issue里面那个人的博客,另外我的博客性能好像是不太行,我的博客是纯文字的,不过这个CDN是什么来头?https://lib.baomitu.com/${package}/${version}/${filename}。

是 360 前端静态资源库,由奇舞团支持并维护的开源项目免费 CDN 服务。 添加时需写成:cdn: '[cdnjs]https://lib.baomitu.com/${package}/${version}/${filename}'

我的网线对 jsdelivr 过敏。
gxres042 commented 2 months ago

image image image

问题已经很明显了,如果不明确优化方向的话,一时半会效仿 Sukka 的博客是没多大实际意义的...

JIeJaitt commented 2 months ago

@PJ-568 不好意思看错了,我以为你说的是那个issue里面那个人的博客,另外我的博客性能好像是不太行,我的博客是纯文字的,不过这个CDN是什么来头?https://lib.baomitu.com/${package}/${version}/${filename}。

是 360 前端静态资源库,由奇舞团支持并维护的开源项目免费 CDN 服务。 添加时需写成:cdn: '[cdnjs]https://lib.baomitu.com/${package}/${version}/${filename}'

我的网线对 jsdelivr 过敏。

@PJ-568 能提供下大佬你的这段配置吗?我这边总是配置不成功

providers:
    cdn: loli
    fontcdn: ustc
    iconcdn: https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/font-awesome/6.0.0/css/all.min.css
JIeJaitt commented 2 months ago

image image image

问题已经很明显了,如果不明确优化方向的话,一时半会效仿 Sukka 的博客是没多大实际意义的...

不能单论cdn的影响好像,因为google测试网站性能工具肯定是不会特别考虑网站是否被墙吧,毕竟google本身自己就在墙外

gxres042 commented 2 months ago

image image image

问题已经很明显了,如果不明确优化方向的话,一时半会效仿 Sukka 的博客是没多大实际意义的...

不能单论cdn的影响好像,因为google测试网站性能工具肯定是不会特别考虑网站是否被墙吧,毕竟google本身自己就在墙外

我不是单论 CSS,而是静态博客引入的东西太多,本身就会造成一定的性能影响。Sukka 的做法便是按需引入需要的内容、不重要的东西全部异步处理。 而且 Sukka 的 CSS / JavaScript 比你引入的其中一个库要小的很多...

纠正:CSS + JavaScript 理论与 Katex 持平

JIeJaitt commented 2 months ago

image image image 问题已经很明显了,如果不明确优化方向的话,一时半会效仿 Sukka 的博客是没多大实际意义的...

不能单论cdn的影响好像,因为google测试网站性能工具肯定是不会特别考虑网站是否被墙吧,毕竟google本身自己就在墙外

我不是单论 CSS,而是静态博客引入的东西太多,本身就会造成一定的性能影响。Sukka 的做法便是按需引入需要的内容、不重要的东西全部异步处理。 而且 Sukka 的 CSS / JavaScript 比你引入的其中一个库要小的很多...

纠正:CSS + JavaScript 理论与 Katex 持平

是的,我看过他的文章,他把需要的静态文件本地化了好像,但是这对我们不懂前端的小伙还是挺复杂的一个操作,特别icarus还把一部分逻辑抽象到了那个插件里面去了好像

gxres042 commented 2 months ago

image image image 问题已经很明显了,如果不明确优化方向的话,一时半会效仿 Sukka 的博客是没多大实际意义的...

不能单论cdn的影响好像,因为google测试网站性能工具肯定是不会特别考虑网站是否被墙吧,毕竟google本身自己就在墙外

我不是单论 CSS,而是静态博客引入的东西太多,本身就会造成一定的性能影响。Sukka 的做法便是按需引入需要的内容、不重要的东西全部异步处理。 而且 Sukka 的 CSS / JavaScript 比你引入的其中一个库要小的很多...

纠正:CSS + JavaScript 理论与 Katex 持平

是的,我看过他的文章,他把需要的静态文件本地化了好像,但是这对我们不懂前端的小伙还是挺复杂的一个操作,特别icarus还把一部分逻辑抽象到了那个插件里面去了好像

唉,确实很麻烦,所以一时半会追不上的...(哭笑)

PJ-568 commented 2 months ago

@PJ-568 不好意思看错了,我以为你说的是那个issue里面那个人的博客,另外我的博客性能好像是不太行,我的博客是纯文字的,不过这个CDN是什么来头?https://lib.baomitu.com/${package}/${version}/${filename}。

是 360 前端静态资源库,由奇舞团支持并维护的开源项目免费 CDN 服务。 添加时需写成:cdn: '[cdnjs]https://lib.baomitu.com/${package}/${version}/${filename}'

我的网线对 jsdelivr 过敏。

@PJ-568 能提供下大佬你的这段配置吗?我这边总是配置不成功

providers:
    cdn: loli
    fontcdn: ustc
    iconcdn: https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/font-awesome/6.0.0/css/all.min.css
# CDN provider settings
# https://ppoffice.github.io/hexo-theme-icarus/Configuration/icarus%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97-cdn%E6%8F%90%E4%BE%9B%E5%95%86/
providers:
    # Name or URL template of the JavaScript and/or stylesheet CDN provider
    # 我的默认求稳定设置:loli
    cdn: '[cdnjs]https://lib.baomitu.com/${package}/${version}/${filename}'
    # Name or URL template of the webfont CDN provider
    fontcdn: ustc
    # Name or URL of the fontawesome icon font CDN provider
    iconcdn: https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/font-awesome/6.0.0/css/all.min.css
PJ-568 commented 1 month ago

已并入主线:#1287

JIeJaitt commented 1 month ago

已并入主线:#1287

感谢大佬,大佬劳动节快乐,请问这个free bug 了吗?我打算周末更新体验一下

PJ-568 commented 1 month ago

感谢大佬,大佬劳动节快乐,请问这个free bug 了吗?我打算周末更新体验一下

基本上没有严重 Bug ,后续还要优化,但若你有自定义 JS 可能要略微适配。

JIeJaitt commented 1 month ago

感谢大佬,大佬劳动节快乐,请问这个free bug 了吗?我打算周末更新体验一下

基本上没有严重 Bug ,后续还要优化,但若你有自定义 JS 可能要略微适配。

评论系统这种,会有影响嘛?GitHub issue做评论会有影响嘛?我记得以前在相关帖子看过

PJ-568 commented 1 month ago

将每页需重复执行的 <scripts> 打上 data-pjax 属性即可,如:<script data-pjax src="//lib.baomitu.com/translate.js/3.2.3/translate.js"></script>