Hexo+Github搭建博客总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012082017/article/details/81604694

本文永久链接:http://zhengtuqiang.pw/2018/07/31/Hexo+github搭建博客总结/
<!-- toc -->
# 1. 前言
本来今年年初的时候就已经搭建了博客,当时看的是**掘金**里面的一篇教程。但是其实那篇教程说的不是很好,遇到很多问题。直至最近又有了建设个人品牌的想法,遂继续折腾个人博客。在网上找了各种资料,后来发现[Grok抱残守缺](http://lowrank.science)的这篇[教程](http://lowrank.science/Hexo-Github/)。[Grok抱残守缺](http://lowrank.science)的博客不但令人知其然,也令人知其所然。跟着[教程](http://lowrank.science/Hexo-Github/)一次就成功了。我的这个总结总体是站在[Grok抱残守缺](http://lowrank.science)基础上去写的,作为补充。
<!-- more -->


# 2. 过程概览
这个步骤就不重复造轮子了,跟着[Grok抱残守缺](http://lowrank.science)的这篇[教程](http://lowrank.science/Hexo-Github/)来即可。
1. 安装 Node js,Git。这两个都是下载完之后直接安装就可以了。
2. Git 配置以及 Github 配置 SSH。
3. 安装 Hexo。
4. Hexo 本地建站。
5. 主题配置。本文以 [Material-Flow](https://github.com/viosey/hexo-theme-material) 为例说明。
6. 绑定独立域名。


# 3. Material-Flow 主题配置
这是一个遵循安卓 Material Design 风格的主题,支持响应式,也就是说会根据当前是浏览器屏幕去自适应显示,在手机端的显示效果也不错。我主要做了以下的修改:`汉化`,`关于页面`,`百度统计`,`不蒜子阅读量统计`和一个[彩蛋功能](http://zhengtuqiang.pw/index2.html)。这是[我的定制版本](https://github.com/zhengtuqiang/My-Hexo-Theme-MaterialFlow/)。

## 3.1 Material-Flow 主题概述
主题的文件结构如下:
``` 
├─material-flow
│  ├─layout #ejs模板
│  │  ├─_partial 
│  │  └─_widget #侧栏相关
│  ├─snapshots
│  └─source #字体、图片、js资源
│      ├─fonts
│      ├─images
│      ├─js
│      └─less
```
我们先来看一下 layout/layout.ejs,默认通过 `hexo new <title>` 会把 layout.ejs 作为模板生成 html 网页。
``` html layout.ejs
<%- partial('_partial/head') %> <!-- header -->
<body>
  <%- partial('_partial/loading') %>
  <script>setLoadingBarProgress(20)</script> 
  <%- partial('_partial/header', null, {cache: !config.relative_link}) %>
    <script>setLoadingBarProgress(40);</script>
  <div class="l_body">
    <div class='container clearfix'>
      <div class='l_main'>
        <%- body %> <!-- 主体 -->
      </div>
      <aside class='l_side'>
        <%- partial('_partial/side') %> <!-- 侧栏 -->
      </aside>
      <script>setLoadingBarProgress(60);</script>
    </div>
  </div>
  <%- partial('_partial/footer', null, {cache: !config.relative_link}) %> <!-- footer -->
  <script>setLoadingBarProgress(80);</script>
  <%- partial('_partial/scripts') %>
  <script>setLoadingBarProgress(100);</script>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/u012082017/article/details/81604694