Hexo自定义页面做首页
前言
如果你想了解如何在 GitHub Pages上传自己写的网页作为首页,hexo博客作为其子页?即自己写的页面作为http://user.github.io
的页面,将hexo博客放在http://user.github.io/blog
上,怎么做?那就接着往下看...
本教程的前提已经用hexo将博客搭建在yourname.github.io
的repository上,接下来跟随博主开始愉快的旅程吧。
说一下我走过的弯路吧,想想真是曲折蜿蜒。音乐music,走起!我看见一座座山,一座座。。。那就是青藏高原。。。好了,言归正传。
之前我的想法是通过子域名访问,即主域名(yoursite.com)和子域名(blog.yoursite.com)都解析到你的GitHub Pagesyourname.github.io。然后再自定义主页,比如
index.html
。我的博客页面是存放在yourname.github.io
的repo
中,自定义的主页放在一个叫做Home-Page
的repo
中。在yourname.github.io
和Home-Page
这两个仓库中分别在根目录放置了CNAME
文件,文件的内容分别为blog.yoursite.com
和yoursite.com
。其实这样也是可以实现的,只是觉得太繁琐,索性就改成了现在的布局。
页面效果如下图所示,详情请浏览博主的个人博客
http://guoyanjun.top
新建一个repository
名字可以随意,我的是blog
。
那么现在你有了一个空的repository然后本地clone下按照提示初始化一个master分支,并且开启github pages
。
注意,这里的repo的目录下是不存在CNAME
文件的
修改hexo配置文件_config.yml
找到url下的root 修改成/你起的名字/ (博主这里就是/blog/)url也要改!!!博主一开始没发现。。。
# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: https://yourname.github.io/blog
root: /blog/
permalink: :year/:month/:day/:title/
permalink_defaults:
然后再找到_config.yml
下的deploy
,把repository改成你新的repository的clone地址
deploy:
type: git
repository: https://github.com/yourname/blog.git (改这里)
branch: master
重新部署你的博客
在对应的文件下在gitbash
上输入hexo g
再输入hexo d
这样你的博客就被部署到https://yourname.github.io/blog/上了
清空原来的repository
现在原来那个yourname.github.io的repository你就可以清空,然后留下一个index.html,把你自定义页面的代码复制到里面就好了,然后可以通过以下链接跳转到你的博客界面了。
<a href="blog/"></a>
改主题里URL的ROOT
# Subdirectory | 子目录
## If your site' url is 'http://yoursite.com/blog', set root_url as '/blog/'
## 网站若存放在子目录,请按上面格式填写
## https://hexo.io/docs/configuration.html#URL
root_url: /blog/
像本站用的XXX主题改了以后左边栏会出现问题,这时候需要到left-col.ejs
改一下
我是这样解决的
<section class="switch-part switch-part1">
<nav class="header-menu">
<ul>
<% for (var i in theme.menu){ %>
<!-- 修改这里 -->
<li>
<a href="<%- url_for(theme.menu[i]) %>">
<%= i %>
</a>
</li>
<%}%>
</ul>
</nav>
<nav class="header-nav">
<ul class="social">
<% for (var i in theme.subnav){ %>
<a class="fa <%= i %>" href="<%- url_for(theme.subnav[i]) %>" title="<%= i %>"></a>
<%}%>
</ul>
</nav>
</section>
参考资料
- 以下附上我觉得不错的参考资料。
1、如何将你的github仓库部署到github pages(repo里建gh-pages分支,上传hexo到blog的gh-pages里面)
3、hexo + github + 多说 来搭建免费博客 // Netpi 日志 (本地打不开解决方法)
4、如何搭建一个独立博客——简明Github Pages与Hexo教程 (ssh key的设置)