初衷

在互联网发达的今天,作为即将成为一名程序员的我,希望拥有一个归自己所有、掌控的个人博客,无论是记录生活,还是分享技术,自定义博客都可以按照自己的要求,为自己提供熨帖的服务,而不必受到条条框框的限制。这篇文章的目的就是想要总结这几天来我学习通过Hexo + Github来搭建出我的个人博客,其实还有很多的不完美,之后会在优化我的博客时,对本文进行完善。

安装

Hexo 的安装和使用都非常便捷。但是,你的计算机环境中必须有这两个东西:

Node.js
Git
其中 Node.js 是 Hexo 的构建引擎,Git 是版本控制工具。

安装Node.js

Node.js官网可以直接下载安装包,根据[Hexo]https://hexo.io/zh-cn/)的官方文档推荐Node.js 版本需不低于 10.13,建议使用 Node.js 12.0 及以上版本,确保可以使用Hexo的全部功能可用。
官方给出版本限制:

Hexo版本 最低兼容 Node.js 版本
5.0 10.13.0
4.1 - 4.2 8.10
4.0 8.6
3.3 - 3.9 6.9
3.2 - 3.3 0.12
3.0 - 3.1 0.10 or iojs
0.0.1 - 2.8 0.10

具体安装方法简单粗暴,一路next即可。
安装后可通过命令查看是否安装成功

1
1  node -v

安装git

git安装,通过git官网,直接下载安装,同样一路next即可。安装成功后,右键会默认绑定Git GUI Here和Git Bash Here,之后的代码控制用到的都是Git Bash Here

安装Hexo

安装成功git和Node.js后,就可以安装Hexo了

1
1  npm install hexo-cli -g

进入想要创建博客资源的目录

1
2
3
4
1  hexo init blog #创建blog文件夹,存放博客资源,如果在当前文件夹生成则直接hexo init
2 cd blog #进入blog文件夹 直接在当前文件夹生成博客资源则可忽略
3 npm install #npm安装,自动根据webpage.json安装需要的包
4 hexo server #启动本地服务器,查看是否可用

正常情况产生以下代码

1
2
INFO  Start processing
INFO Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.

通过http://localhost:4000/查看

撰写博文

撰写博文也非常简单,在你的博客目录 blog 下键入命令:

1
1  hexo new post <title> #post处为布局方式

布局(Layout)

官方文档说明
Hexo 有三种默认布局:post、page 和 draft。在创建这三种不同类型的文件时,它们将会被保存到不同的路径;而自定义的其他布局和 post 相同,都将储存到 source/_posts 文件夹。

布局 路径
post source/_posts
page source
draft source/_drafts

博文模板

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
1  ---
2 title: 你好
3 date: 2016-11-12 12:39:20
4 tags:
5 - demo
6 - hello
7 ---
8
9 欢迎来到 [Hexo](https://hexo.io/)!这是你的第一篇博文。
10
11 ## 快速开始
12
13 ### 创建一篇新博文
14
15 $ hexo new post "My New Post"
16
17 ## 结语
18
19 谢谢你使用 Hexo。

之后通过访问http://localhost:4000/即可在自己博客中查看这篇博文(访问期间需保证hexo server一直运行)

博客部署

上面提到的博客,其实是通过hexo server搭建在本地的一个临时服务器,只有自己通过 http://localhost:4000 才能访问到,所以需要利用一个服务器来部署你的博客。

Hexo 是基于静态页面的博客系统,意味着对服务器的要求可以非常的低。Github提供的免费的静态页面的托管服务,就可以把博客部署上去(为互联网的免费精神干杯🍻)。

创建托管仓库

我们用来托管博客的服务叫做 Github Pages,它是 Github 用来提供给个人/组织或者项目的网页服务,只需要部署到你的 Github Repository,推送代码,便可以实时呈现。

首先,需要有一个 Github 的账号。然后创建一个名称为 .github.io 的仓库来托管网页即可。

Hexo 部署配置

接着,我们来配置一下本地的 Hexo。

在博客的根目录下有一个名为 _config.yml 的文件,这是博客的主配置文件。先看最后的 Deployment 配置项:

1
2
3
4
1  # Deployment
2 ## Docs: https://hexo.io/docs/deployment.html
3 deploy:
4 type:

根据官方的文档显示,现在 Hexo 支持 Git、Heroku、Rsync、OpenShift、FTPSync 等部署方式,我用的是 Git 来部署,首先安装hexo-deployer-git 插件:

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

然后编辑上面的配置文件

1
2
3
4
5
1  deploy:
2 type: git
3 repo: <repository url>
4 branch: [branch]
5 message: [message]

这里需要把刚才创建的仓库地址添加进来,branch 和 message 项可以不填,默认情况下推送到 master分支(不过现在默认为main分支了) ,这里我使用了 SSH 加密的仓库地址(参看 Github官方文档配置SSH免密操作)。

保存配置文件之后,我们在博客的根目录键入:

1
2
1  hexo generate
2 hexo deploy

可简化成

1
1  hexo g -d

便可以把博客部署到 Github 了(不过我这里出了些暂时不能解决的问题)只能在hexo g后,将public里的文件手动push到库中。现在就可以通过 http://.github.io 来访问自己的博客。

博客配置

首先,主要的配置都在博客根目录的 _config.yml 文件里:

1
2
3
4
5
6
7
1  # Site
2 title: Hexo
3 subtitle:
4 description:
5 author: John Doe
6 language:
7 timezone:

这一组配置是博客的描述,title 和 subtitle 分别是博客的站名,和副标题,description 对搜索引擎收录博客会有帮助。在多数主题中,一般只有标题和副标题会显示:
language 一般可以选配 en 或者 zh-cn,分别是英文和简体中文。

1
2
3
4
5
6
1  # URL
2 ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
3 url: http://yoursite.com
4 root: /
5 permalink: :year/:month/:day/:title/
6 permalink_defaults:

这个部分需要修改的只有 url 选项,改成博客地址行了。后面的链接生成规则,保持不变即可。

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

这一组配置是用来定义主题和配置插件的,可以看到,官方默认的主题叫做 landscape,就是上面的那个那个天际地平线的主题了。Hexo 的社区非常非常的活跃,官方列表已经收录了 338 个制作精美的主题,每个主题都有很大的差别和不一样的特性,大家可以自行去列表中浏览、预览、选择自己喜欢的主题,总有一款适合你的胃口(没有就自己改😄)。例如,我现在选择 kaze 主题:

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

把从官方列表中查到的主题仓库地址 git clone 下来,放到 themes/ 下相应的目录中,然后我们修改博客根目录下的 _config.yml 文件theme: kaze保存后,我们再次执行 hexo server 命令,预览一下网站的变化。
此时,主题就改为了kaze了。每一个主题的详细配置参数都在 /themes//_config.yml 文件下,可以通过查阅该主题的官方页了解配置的解释。我在这里就不啰嗦了,当你选定了自己喜欢的主题,修改、配置好了之后。便可以使用、撰写、发布自己的博客了。