jsdelivr被墙,hexo-next切换为自定义CDN

Next主题需要升级到8.9以上,我的是多少忘记了,最好升级到最新


  • 使用npm管理
    git clone https://github.com/next-theme/hexo-theme-next themes/next
    

替换链接


  • 官方域名替换教程,将 cdn.jsdelivr.net 全局替换成 gcore.jsdelivr.net 可实现访问连通
    或者将cdn.jsdelivr.net全局替换成 fastly.jsdelivr.net 也可以实现访问连通(这个无失效内容,gcore.jsdelivr.net部分npm资源报错网友提供)

修改本地_config.next.xml文件


vendors:
  ...
  plugins: custom
  ...
  custom_cdn_url: https://fastly.jsdelivr.net/npm/${npm_name}@${version}/${minified}

修改node_modules下文件夹@waline/hexo-next中的waline.njk


{{ next_data('waline', {
  lang: page.lang | default('zh-CN', true)
}, config.waline, {
  el: '#waline-comments',
  libUrl: config.waline.libUrl | default('https://fastly.jsdelivr.net/npm/@waline/client/dist/Waline.min.js', true),
  path: url_for(page.path) | replace(r/index\.html$/, '')
}) }}
<script>
document.addEventListener('page:loaded', () => {
  NexT.utils.loadComments(CONFIG.waline.el).then(() => 
    NexT.utils.getScript(CONFIG.waline.libUrl, { condition: window.Waline })
  ).then(() => {
    new Waline(CONFIG.waline);
  });
});
</script>

我的博客暂时只需修改这么多,各位看官按自己站点的配置进行相应更改。

posted @ 2022-12-06 16:32  邪妖怪  阅读(234)  评论(0编辑  收藏  举报