使用"hexo+github pages"免费整个博客

版权声明:本文为博主原创文章,转载请注明出处。

前言

在很久以前,就有整个博客的打算。不过在各种原因之下都放弃了,比如搭建个博客需要个服务器,域名什么的。

曾经还利用家里闲置的pc,利用花生壳内网端口映射做了个blog,最后由于花生壳的映射不稳定,以及对pc的电池损耗太大放弃了。(主要是没钱买服务器)

后来,朋友Musoucrow利用github pages+hexo搭了个blog,我才发现,原来github有着免费托管静态网站的服务,我觉得这也是个好的方法,由于有着各种各样的事情,这个blog到现在才开始make。

搭建环境

系统:macOS Sierra

软件:brew,npm,node,git,hexo

1
2
3
4
5
6
7
8
# 安装brew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# 安装npm,node,git
brew install npm
brew install node
brew install git
# 安装hexo
npm install hexo-cli -g

执行以上代码即可完成环境的搭建。

建立仓库

注册github

如果你已经有github账号就可以跳过此步。
点击注册

建立*.github.io仓库

格式如图所示,我这个已经建立了,所以提示已存在。

建立仓库

初始化Hexo

随便找个位置创建个目录(需要空目录)

然后在终端切换到这个目录,执行以下命令。

1
hexo init

这时,hexo已经完成初始化了。

配置Hexo

配置文件为”_config.yml”

基本设置

language设置项要结合主题来设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Hexo Configuration
# Docs: https://hexo.io/docs/configuration.html
# Source: https://github.com/hexojs/hexo/

# Site
title: HsOjo Blog
subtitle:
description:
author: 弱窝(Hs)
language: default
timezone:

# URL
# If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: https://hsojo.github.io
root: /

主题设置

网上找个主题放入”themes”目录即可,默认为”landscape”。

1
2
3
4
# Extensions
# Plugins: https://hexo.io/plugins/
# Themes: https://hexo.io/themes/
theme: hexo-theme-yilia

部署设置

在终端运行:

1
npm install hexo-deployer-git --save

然后在配置文件添加以下内容(适当修改):

1
2
3
4
5
6
# Deployment
# Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repository: https://github.com/HsOjo/hsojo.github.io
branch: master

发表文章

打开终端,切换到之前之前初始化hexo的目录。

然后执行以下命令。

1
hexo new post 文章标题

hexo会基于”scaffolds/post.md”为模版建立一个空md文件。

生成内容

执行以下命令,将自动生成静态网站内容:

1
hexo generate

执行之前亦可先清除之前的内容:

1
hexo clean

部署测试

生成完成之后,可以执行如下命令进行本地测试:

执行后将监听本机的”4000”端口,用浏览器访问即可。

1
hexo server

前面的部署设置完成后,可通过如下命令进行同步到github pages:

1
hexo deploy

错误解决

1
{ [Error: Cannot find module './build/xxx/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }

如发生以上错误,重新安装即可:

1
2
npm uninstall hexo-cli -g
npm install hexo-cli -g

Comments