Hexo博客Next主题更换cdn加速访问
有时候访问我的博客时,总是会出现cdn.jsdelivr.net无法访问或者访问速度过慢的情况。我的博客园使用的是BNDong/Cnblogs-Theme-SimpleMemory主题,也遇到的这样的情况。经过我的一番折腾之后,将js文件转移到了我自己的OSS中,并且又经过了我的一番折腾之后,设置好了跨域资源共享(CORS)策略,让我的博客访问的时候不会时好时坏了。
现在我搭建了Hexo博客,使用Next主题,其中也使用了很多jsdelivr的托管文件。有时候别人会出现访问慢、卡、进不去的情况。我打算也更换成我的OSS。
好在Next主题配置文件_config.yml中就有相关的配置。
查看相关代码
在theme/next/_config.yml中搜索cdn,你会在第485行找到:
# ---------------------------------------------------------------
# Third Party Plugins & Services Settings
# See: https://theme-next.org/docs/third-party-services/
# More plugins: https://github.com/theme-next/awesome-next
# You may need to install dependencies or set CDN URLs in `vendors`
# There are two different CDN providers by default:
# - jsDelivr (cdn.jsdelivr.net), works everywhere even in China
# - CDNJS (cdnjs.cloudflare.com), provided by cloudflare
# ---------------------------------------------------------------
其中提到如果需要更换cdn,去找找vendors吧。
我们继续搜索vendors,可以在第881行找到。
警告!
#! ---------------------------------------------------------------
#! DO NOT EDIT THE FOLLOWING SETTINGS
#! 请勿编辑以下设置
#! UNLESS YOU KNOW WHAT YOU ARE DOING
#除非你知道自己在做什么
#! See: https://theme-next.org/docs/advanced-settings
#! ---------------------------------------------------------------
下面就有修改cdn链接的地方,并且也给出了默认的链接。我们可以选择需要托管的js替换。
替换链接
Mathjax
这个出问题最多了。
我们先使用git将mathjaxclone下来。
git clone https://github.com/mathjax/MathJax.git mathjax
并将mathjax文件夹上传到OSS当中。一共146个文件,总大小175MB左右。心在滴血啊……
根据_config.yml,我们需要导入的链接是:
# mathjax: //cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
进入上传目录下,找到mathjax/es5/tex-mml-chtml.js,复制其链接并粘贴到配置文件中即可。
最后,别忘记去OSS后台修改CORS。
gitalk
git clone https://github.com/gitalk/gitalk.git gitalk
然后上传dist文件夹,并根据所需:
# Gitalk
# gitalk_js: //cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.js
# gitalk_css: //cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.css
进行修改。
不过我没有找到dist/gitalk.min.css,我选择了dist/gitalk.css,效果一样。
遇到Github-CORS问题
如何在Cloudflare worker上搭建cors-anywhere代理 | Spirit's Eden (spiritfr.eu.org)
换成giscus
因为gitalk问题还是太多,主要在于其长时间未更新,以及其proxy的问题。如果有好的解决方案欢迎给我评论~
之后还是换成了giscus。与gitalk不同,它是基于Discussions的。
中途也遇到了一些问题。
安装组件\(^{[2]}\)
npm install hexo-next-giscus@1.0.3 --save
这里一定要注意版本号。如果你配置好了之后出现白屏,那么可能是这里的问题。需要看看你的next使用的giscus是多少?
添加代码
在_config.yml中,添加如下代码
giscus:
enable: true
repo: xxx/xxx
repo_id: xxx
category: Announcements
category_id: xxx
# Available values: pathname | url | title | og:title
mapping: pathname
# Available values: 0 | 1
reactions_enabled: 1
# Available values: 0 | 1
emit_metadata: 1
theme: light
# Available values: en | zh-CN
lang: zh-CN
# Place the comment box above the comments
input_position: bottom
# Load the comments lazily
loading: lazy
其中的配置项可以查看官网配置清单
参考文献
[1] 托管您自己的mathjax副本
[2] 个人blog搭建指南github pages和hexo-theme-next
Hexo博客Next主题更换cdn加速访问的更多相关文章
- hexo博客yili主题个性化自定义教程(1) ——借鉴中学习,初认yili主题
文章转载于:hexo博客yili主题个性化自定义教程(1) --借鉴中学习,初认yili主题 这个博客跌跌撞撞也弄了好多天了,由于Next主题不知道什么情况,被我玩坏了.所以换了一个主题. 大名鼎鼎的 ...
- Hexo博客maupassant主题添加Google Adsense广告
自从在 Github Page 落户以后,很长一段时间使用的是极简且有点艺术范儿的 fexo 主题,而不是大名鼎鼎的 next 主题.后来偶然发现了符合我审美的Hexo博客 maupassant 主题 ...
- 关于Hexo博客NEXT主题(Gmini)站点图标不显示,显示错误的解决办法
关于Hexo博客NEXT主题(Gmini)站点图标不显示,显示错误的解决办法 最近闲着没事自己利用Hexo和Github搭了个博客,但是在NEXT(Gmini)主题优化时,出了很多错误,图标不显示 ...
- hexo博客yilia主题深度设置
转载:Shuyan http://dongshuyan.com/2019/05/24/hexo博客注意事项/ 1.微信分享异常 这里是themes\yilia\layout\ _partial\pos ...
- hexo博客pure主题解决不蒜子计数不显示的问题
最近在建个人博客网站,想统计自己的博客页面访问量,就用到了不蒜子页面访问统计.可是遇到了糟心事,居然不显示!!! 不蒜子官网示例:两行代码,搞定计数 <script async src=&quo ...
- Hexo博客skapp主题部署填坑指南
相信大家都很喜欢 hexo skapp 的主题,由于作者采用结巴分词,加上需要依赖各种各样的环境 所以可能大家踩过很多坑,也许每个人踩得坑不一样,这里使用 Docker 容器 centos 来部署, ...
- Hexo博客yilia主题添加Gitment评论系统
一开始搭建hexo+yilia博客使用的评论功能是通过来必力实现的.来必力免费,功能多,一开始的体验效果很好,但是后来打开网站发现来必力加载的越来越慢(来必力是韩国的公司,可能是国内限制),遂打算换一 ...
- Hexo博客NexT主题美化之评论系统
前言 更多效果展示,请访问我的博客 https://kangmingxian.github.io/ 效果图: image Valine 诞生于2017年8月7日,是一款基于Leancloud的快速 ...
- hexo博客更新主题后上传Git操作
克隆主题: git clone https://github.com/SuperKieran/TKL.git _config.yml文件中主题改为新增主题 # Extensions ## Plugin ...
- Hexo 博客 之 腾讯云部署过程
写在前面 Hexo 博客搭好了有差不多两周时间了,这期间走了很多弯路,跳了很多坑.一些坑自己 bing 到了答案,找到了解决方法,一些坑则是自己摸索出来的解决方法.现在准备写几篇关于搭建流程.搭建过程 ...
随机推荐
- 【ABAQUS 二次开发笔记】使用keyword 、python和matlab一起处理Odb数据
用conversion shell element (S4R单元)建模层合板,有6层ply,每个lamina(ply)有3个 integration point,共计18个integration po ...
- 🧠ChatGPT 中文提示语大全【超全 Prompt 用法】- 已分类
基于 awesome-chatgpt-prompts 进行分类,更方便查找自己所需,炼制适合自己的ChatGPT法宝. 工作 简历写手 我需要你写一份<2年工作经验的前端工程师>的简历,你 ...
- 大模型基础补全计划(二)---词嵌入(word embedding)
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 环境说明 无 前言 本文是这个系列第二篇,它们是: &l ...
- React.memo 解决函数组件重复渲染
为什么会存在重复渲染? react 在 v16.8 版本引入了全新的 api,叫做 React Hooks,它的使用与以往基于 class component 的组件用法非常的不一样,不再是基于类,而 ...
- mysql存储过程之循环遍历查询结果集
mysql存储过程之循环遍历查询结果集 -- 创建存储过程之前需判断该存储过程是否已存在,若存在则删除 DROP PROCEDURE IF EXISTS init_reportUrl; -- 创建存储 ...
- laravel proc_get_status() has been disabled for security reasons
解决办法: 在php.ini中,找到disable_functions选项,看看后面是否有proc_open函数被禁用了,去掉proc_get_status,proc_open即可
- wordpress:nginx负载均衡+nignweb服务器+mysql数据库+nfs-lsync+rsync备份
目录 所有知识结合,注意正式环境慎用: mariadb服务器 NFS服务器配置 web服务器配置 Nginx负载均衡 backup备份服务器配置rsync NFS服务器安装lsync进行实时同步 所有 ...
- MySQL常用SQL 语句
--备份数据库 mysqldump -u用户名 -h主机名 -p密码 数据库名 > filename.sql --备份数据库中的某个表 mysqldump -u用户名 -h主机名 -p密码 数据 ...
- HoloLens2 开发推荐配置
博客地址:https://www.cnblogs.com/zylyehuo/ 1.win11 pro+vs2019+unity2018+MRTK2.6.1 2.win10 pro+vs2019+uni ...
- Opencv环境配置一览
OpenCV环境配置一览 专业相关,平时经常会使用到opencv的一些函数,目前主要包括Ubuntu系统,Android系统,本篇文章介绍在两个系统下对应的环境配置策略. Ubuntu环境 附上一个很 ...