上一篇已经准备好了搭建博客所需要的环境,接下来我们使用hexo在本地搭建博客

hexo搭建博客

首先在本地在一个盘,创建一个名为hexo的文件夹用于存放本地博客,我用的是E:\workspace\hexo,cmd进入该目录,执行以下命令,

1
npm install hexo-cli -g  //全局安装hexo

图片

等待命令执行完以后,继续执行:

1
hexo init

过程有些慢,请耐心等待,等执行完以后我们可以看到,hexo目录下,已经多了以下文件:

图片

下面教你怎么运行,先记住下面几个命令,以后经常用到

1
2
3
hexo clean # 清空已有hexo网站文件
hexo generate(or g) # 依据网页文本与新的CSS样式生成新网站文件
hexo server(or s) # 启动本地服务器,可以在localhost:4000查看网站修改效果

也可以连起来写成

1
hexo clean && hexo g && hexo s

执行命令上面的命令

图片

当出现 “ Hexo is running at http://localhost:4000 . Press Ctrl+C to stop” 时,证明 Hexo 已经启动,打开浏览器访问

1
http://localhost:4000

图片

至此,本地 Hexo 搭建完成。

更换 Hexo 主题

Hexo 提供了很多主题可更换,访问https://hexo.io/themes/ ,寻找喜欢的主题并到github下载。

我比较喜欢BlueLakeyilia这两个主题,我现在的博客用的是yilia这个主题,后面讲的也是这个主题,可以访问一下我的博客,看一下

1
https://www.wjnba.top/

可以直接 Download zip,也可以使用git clone + 远程地址直接拉取下来

图片

下载完成以后,把压缩包解压一下,把解压出来的文件改名为yilia(当然不改也是可以的),并且把它放在themes文件夹下。

接下来打开网站根目录中的_config.yml 修改主题、网站信息等配置

修改配置

下面是我自己修改好的配置

image

1
2
3
4
5
6
7
8
9
10
11
12
13
# Site
title: Hexo #你的网站名
subtitle: '' #网站副标题
description: '' #网站描述
keywords: #网站关键字
author: John Doe #网站作者
language: en #网站语言
timezone: '' #时区

# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://yoursite.com #网站的url 例如https://asoc.gitee.io
root: / #网站根目录

需要更多关于配置文件的内容,请参照 https://hexo.io/zh-cn/docs/configuration

现在我们先来修改主题,找到theme并修改为如图所示:

image

theme 后面的内容是刚才你下载的主题的文件夹名称

再次执行

1
hexo clean && hexo g && hexo s

访问http://localhost:4000/ ,可以看到页面发生了明显变化

image

现在博客还在我们本地还没部署到线上,接下来我们把它部署上去


复制仓库地址

image

修改根_config.yml 最后几行

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

修改后保存,再次进入cmd,需要安装一个 deployer

1
npm install --save hexo-deployer-git

Hexo 提供了快速方便的一键部署功能,让你只需一条命令就能将网站部署到服务器上。

1
$ hexo deploy

也可简写为

1
$ hexo d

执行下面命令:

1
hexo clean && hexo g && hexo d

这时候可以看到仓库里面已经有了hexo的文件了

image

当然这还没完,此时需要我们开启Gitee Pages服务

image

Gitee Pages服务需要我们进行实名认证,按照步骤上传清晰的身份证照片就行了,一般一天内就会审核下来,申请成功后是这样的

image

我们上面使用hexo d命令上传文件到master分支,所以我们部署分支选择master,并且选择强制启用 https,最后点击下面的启动按钮(我是部署完成了的,所以是更新)
启动成功后访问 https://www.wjnba.top ,可以看到已经部署成功了

image

我们看一下本地目录下的hexo/public文件夹,在对比一下master分支上的代码,发现它们是一样的,意味着我们本地的代码只有public文件夹里面的上传上去了的,其他的文件并没有,我们有时候需要重装电脑、或者更换电脑,所以我们也要把其他文件也上传到git仓库里面去,以防后面找不到了,下面我们在git仓库里面创建一个名为hexo的分支,并设为默认分支

image

使用上一篇安装的Git工具,执行

1
git clone 远程仓库地址

拉取远程仓库代码到本地,然后删除除.git文件以外的文件,然后执行

1
2
3
4
git add .
git commit -m '提交到hexo'
git pull
git push

提交代码到hexo分支,现在这个分支下的文件就删除完了,把本地E:\workspace\hexo文件夹的内容,拷贝到wjnba(这是我的仓库名)文件夹里面去

image

在根目录下创建.gitignore文件

1
2
3
4
/node_modules/
/.idea/
/.deploy_git/
/public/

忽略不需要上传的文件,继续使用Git工具,执行

1
2
3
4
git add .
git commit -m '提交到hexo'
git pull
git push

现在我们在去看git仓库,发现hexo分支上已经有文件了

image

master分支是我们部署的静态页面资源,hexo分支是我们生成静态页面的工具(框架)