Hexo+GitHub博客搭建

[TOC]

简介

1.为什么使用Hexo + GitHub

网上有人基于WordPress搭建博客,但是这个需要数据库,服务器之类的,搭建有点麻烦,后来查阅资料看到hexo配合github也可以用来搭建博客!
github作为服务器解决了租用服务器的问题,Hexo是一款基于Node.js的静态博客框架。
可以在Hexo上搭建自己的独立博客,然后托管到Github或其他类似平台上,建立自己的独立域名博客非常简单.


  • 1.Hexo本身操作也比较的简单,基本常用的操作命令没几个,很容易上手;
  • 可以自由定制,任意换成自己喜欢的样式;
  • 支持Markdown语法(一种标记语言,上手容易);
  • 使用Hexo建立的博客是静态的,比起动态网页更方便被搜索引擎检索出来,这也比WordPress更具有优势
    最后选择使用Hexo + GitHub来搭建博客。

2.Hexo

Hexo是一个简单地、轻量地、基于Node的一个静态博客框架,只是帮你生成静态网页博客的工具, 你可以在本地进行调试,可以方便的生成静态网页托管在github和Heroku上,引用Hexo作者 @tommy351 的话:

快速、简单且功能强大的 Node.js 博客框架。
A fast, simple & powerful blog framework, powered by Node.js.

3.GitHub Pages

GitHub Pages 可以被认为是用户编写的、托管在github上的静态网页。由于它的空间免费稳定, 可以用于介绍托管在github上的Project或者搭建网站。

gp 生成的网站的默认域名是 username.github.io 或者 username.github.io/project-name ,但gp是支持自定义域名的: Custom Domain Name 。购买域名之后,可以和默认的二级域名进行绑定。

4.Hexo安装

由于 Hexo 是基于 Node ,安装前要先安装 NodeNode.js 用来生成静态页面.安装Node.js就可以在官网:https://nodejs.org/en/下载安装.

Git 用来将本地 Hexo 内容提交到Github上。Xcode自带Git。没有Xcode可以参考Hexo官网上的安装方法。

Node和Git都安装好后,开始安装Hexo:

1.安装 Hexo

在终端下输入:

1
$  sudo npm install -g hexo-cli

输入管理员密码(Mac登录密码)即开始安装 (sudo:linux系统管理指令 -g:全局安装)

注意坑一:Hexo官网上的安装命令是$ npm install -g hexo-cli,安装时前面要加上sudo,否则会因为权限问题报错。

2.初始化Hexo

终端cd到一个你选定的目录,

1
$ cd /Users/pazq/Downloads/hexo1

执行hexo init命令:

1
$ hexo init blog

blog是你建立的文件夹名称。cd到blog文件夹下,执行如下命令,安装npm:

1
$ npm install

3. 开启hexo服务:
1
$ hexo s
4. 生成静态页面:
1
$ hexo g

安装成功后,在浏览器中访问 http://localhost:4000,如果能正常访问说明hexo 安装成功.
aa9ccf6e62536926f3d221eaa6caccf3.png

5.关联GitHub

需要先创建好仓库,名为username.github.io固定写法,
本地的blog文件夹下内容为:

1
2
3
4
5
6
7
_config.yml    
db.json
node_modules
package.json
scaffolds
source
themes

在终端cd到本地 blog 文件夹下,打开根目录下 _config.yml 文件。可以用软件打开修改, 也可以直接在终端输入:

1
$ vim _config.yml

下滑到最后,修改成下边的样子:

1
2
3
4
deploy:
type: git
repository: https://github.com/sghyxp/sghyxp.github.io.git
branch: master

注意坑二:在编辑所有的 _config.yml文件时(包括主题theme里的_config.yml文件)所有的冒号:后边都要加一个空格,否则执行hexo命令会报错。

在blog文件夹目录下执行生成静态页面命令:

1
$ hexo generate        或者:hexo g

此时若出现如下报错:

1
2
ERROR Local hexo not found in ~/blog
ERROR Try runing: 'npm install hexo --save'

则执行命令:

1
npm install hexo --save

若无报错,自行忽略此步骤。
再执行配置命令:

1
$ hexo deploy            或者:hexo d

注意坑三:若执行命令hexo deploy仍然报错:无法连接git或找不到git,则执行如下命令来安装hexo-deployer-git:

1
$ npm install hexo-deployer-git --save

再次执行hexo generatehexo deploy命令。

如果未关联Github,则执行hexo deploy命令时终端会提示你输入Github的用户名和密码,即

1
2
Username for 'https://github.com':
Password for 'https://github.com':

hexo deploy命令执行成功后,浏览器中打开网址https://sghyxp.github.io打开和http://localhost:4000一样的页面。

6.发布文章

终端cd到blog文件夹下(发布文章的操作基本都在blog文件下),执行以下命令新建文章:

1
hexo new "123"

名为123.md的文件会建在目录/blog/source/_posts下,123是文件名,为方便链接不建议掺杂汉字。

这里的.md文件可以用支持MarkDown语言的编辑器打开和编辑.(Mou编辑器,Cmd MarkDown,Typora等)
文档编辑完成后,执行命令发布:

1
2
hexo generate|g   //生成静态页面
hexo deploy|d //将文章部署到Github

这里也可以把两句命令连起来写

1
hexo g -d

Mac上搭建基于Github的Hexo博客就完成了.

7.安装主题theme

可以到Hexo官网主题页去搜寻自己喜欢的theme。这里以hexo-theme-skapp为例.

将主题 clone 至你的 blog文件夹下的 themes 文件夹下

1
cd themes && git clone https://github.com/Mrminfive/hexo-theme-skapp.git

clone 完后将根目录下的 _config.yml 文件中的 theme 字段设置为 hexo-theme-skapp,同时安装对应 node 依赖:

1
npm install --save hexo-autoprefixer hexo-filter-cleanup hexo-generator-feed hexo-generator-sitemap hexo-renderer-sass hexo-renderer-swig mamboer/lunr.js moment node-sass object-assign

这里使用npm安装会比较慢, 会遇到安装过程中停止进度不更新,终止安装重新安装时, 需要将之前安装的文件夹清空掉,避免再次安装出错.

npm(node package manager)是nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等),由于该网站服务器位于国外,所以经常下载缓慢或出现异常

因为npm安装插件是从国外服务器下载,受网络影响大,可能出现异常,淘宝团队的cnpm服务器搭建在国内的.

来自官网:“这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。”
具体差异可以自行查看两者的区别.
npm和cnpm的区别

涉及到配置文件的修改, 一般建议先 hexo clean清除缓存后,再 hexo server,本地预览.

8.主题配置

Hexo主题


Hexo安装教程
Max上Hexo安装
主题安装

感谢您的阅读,本文由 SGHYXP的博客 版权所有。如若转载,请注明出处:SGHYXP的博客(https://sghyxp.github.io/2018/10/29/hexo-install/
Hexo+GitHub博客添加图片
gitalk的介绍