Hexo自定义网站首页

Hexo默认的首页每次页面刷新时,播放器之类会被重置,所以想法是使用iframe内联框架,将整个页面嵌在里面,而自己另外定义一个主页,将播放器放在外面,这样就实现了在跳转时播放器能够继续播放的效果,实际上仔细看网易云官网也是这么干的,这样做还能够实现自定义的首页,个人觉得更灵活一些,而博客页面可以成为子网页。那么问题是如何更改首页路由?花了一早上查了不少资料浏览了不少博客,99.9%的做法没能符合预期,然后功夫不负有心人,终于找到一个和我想的完全一致的做法(ps:主要是使用了google(#-_-))。

原文链接
http://www.jsdoi.com/blog/2016/02/24/blog-hexo-github/

1.更改生成目录

在_config.yml的第15、16、20行更改如下:

url: http://foradawn.github.io/blog
root: /blog/
public_dir: public/blog

目的就是将博客文件生成到public的子目录blog下。

2.更改部署目录

在 node_modules/hexo-deployer-git/lib/deployer.js 的第19、20行更改如下:

// var publicDir = this.public_dir;
var publicDir = pathFn.join(baseDir, 'public');

设置根路径为public,因为public_dir此时为public/blog

3.修复翻页问题

在 node_modules/hexo/lib/plugins/helper/url_for.js 的第8、9行更改如下:

// path = path || '/'; 
path = path || '';

首先声明博客首页为http://foradawn.github.io/blog ,网站首页为http://foradawn.github.io
博客首页是在子路径/blog/下,但处于非第一页的页面时分页条第一页的链接变成了网址首页,原因是生成博客第一页链接时传的path为null,hexo分页插件将其替换成/,但所有的/又处理成网站首页没有加上根路径/blog/,改成’’后会正确加上根路径,同时path为/的也能正常处理成网站首页。
四、总结
好了,现在自定义文件都在public文件夹里(比如将index.html放在public里直接访问网站即是访问该文件),自动生成的博客文件都在public/blog里,每次hexo g更新博客,hexo d部署public文件夹,基于github的自定义主页的HEXO博客基本告成啦!

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值