使用Hexo快速搭建博客

开篇词

个人一直认为,作为一个合格的开发人员,都应该有自己学习成长,积累知识的方式,不管是写一些知识总结,做一些技术分享,还是长期维护一个个人博客,这些都是成长的一种方式,作为自己个人博客站点的第一篇文章,这里就简单分享一下搭建整个博客的过程,其实使用Hexo搭建博客非常简单,仅仅需要按照官网的步骤来做,很短时间内就可以搭建好一个个人博客站点。

Warning: 所有Hexo操作针对Hexo-3.0版本

环境准备

安装Hexo之前,需要确保电脑中已经安装好如下软件:

安装上述环境的步骤这里不作说明,可以自行查阅官方文档或相关博客。
所有上述环境安装完成后,即可执行下面命令安装Hexo

1
npm install -g hexo-cli

博客搭建

1. 初始化

Hexo安装完成之后,需要初始化一个文件夹作为Hexo的工作目录,并使用npm安装Hexo的依赖模块。

1
2
3
hexo init <folder>
cd <folder>
npm install

上面步骤执行完之后,初始化的目录结构如下:

1
2
3
4
5
6
7
8
.
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes

2. 选择主题

Hexo目录初始化完成之后,就可以挑选自己喜欢的主题,有精力的同学也可以选择自己创建主题,我这里使用的主题是NexT,这是一款给人感觉很简约的博客主题,当然你也可以在Hexo的主题库中选择符合自己风格的主题。

首先从github上将NexT主题clonethemes目录下

1
git clone https://github.com/theme-next/hexo-theme-next themes/next

主题下载完成之后,在_config.yml文件中,将theme的配置项更改为next:

1
2
# 编辑器中搜索 theme
theme: next

3. 创建博客文章

搭建博客最主要的目的就是为了写文章,使用Hexo创建博客非常简单,只需要执行如下命令:

1
hexo new [layout] <title>

layout参数默认为post,详细的关于layout的设置可以移步Hexo官网,这里为了演示,就以最简单的方式创建一个示例文章:

1
hexo new hello_hexo.md

此时,刚刚创建的hello_hexo.md会保存在 source/_posts 这个目录下,我们可以在这个目录下对刚刚创建的文件进行编辑。

4. 生成博客内容

使用Hexo生成静态博客异常的简单,仅仅需要如下命令即可:

1
hexo generate

如果觉得命令太长,也可以简化为:

1
hexo g

执行完该命令之后,Hexo会将生成的静态文件放在public文件夹下。

5. 本地调试

编写完博客,并且生成内容之后,需要在本地调试一下,看看效果,这里需要安装hexo-server

1
npm install hexo-server --save

安装完成之后,输入以下命令启动服务器,网站会在 http://localhost:4000 下启动,服务器启动期间,Hexo 会监视文件变动并自动更新。

1
hexo server

这样就能在本地看到博客启动后的效果。

6. 发布

当上面所有操作都完成之后,就到了将博客发布的时候了,发布博客需要在配置文件中做一些简单的配置,这里以发布到Github Pages为例:

1
2
3
4
5
deploy:
type: git
repo: <repository url> # e.g https://github.com/kevinnerd/kevinnerd.github.io.git
branch: [branch] # e.g master
message: [message] # 自定义提交信息 (默认为 Site updated: {{ now('YYYY-MM-DD HH:mm:ss') }})

配置好之后,可以运行下面的命令将生成的静态文件发布到配置文件中指定的仓库

1
hexo deploy # 也可以简化为 hexo d

deploy命令有一个-g参数,可以在发布之前执行generate命令,这样可以用来简化发布博客的操作。

1
hexo d -g # or hexo g -d

Warning: Github Pages要求仓库的名称必须以<username>.github.io这样的形式命名。

总结

这里的所有操作都可以在Hexo官网文档中找到,我这里只是总结了搭建博客所需要了解的必要步骤,博客搭建成功之后还需要对语言,个人信息等配置项做个性化的修改,这里就不做赘述了,大家可以根据具体需求参考官方文档的说明。