前言

在这篇文章中,我将会教你如何从0开始部署一个属于你自己的Hexo博客

首先你需要一台PC(DO NOT USE NODE.JS ON WINDOWS)

一个注册好的Github帐号和一个Github仓库(仓库的名字取名为你的用户名.github.io

以及梯子

本文测试环境为Arch Linux,其他Linux的部署过程基本一致,记得给你自己的系统装上Node.js

Github SSH配置

本文并不涉及该方面的配置,但是为了照顾各位小白我搬运了一段,以下文段摘自这里

创建邮箱key

ssh-keygen -t rsa -C “你注册github的邮箱”

然后回车三次,其实这个命令就是让你选择ssh密钥生成的位置,默认就好,这样待会也好找

ssh-keygen.png

复制本地ssh密钥

执行以下命令,并复制ssh密钥

  
cd /root/.ssh
cat id_rsa.pub

密钥复制.png

创建密钥容器

打开github,新建一个ssh key,名字自拟,把刚才复制的密钥粘贴进去即可

打开ssh.png

粘贴本地ssh密钥

密钥粘贴.png

复制github ssh密钥

打开仓库主页面,复制仓库ssh地址

复制仓库地址.png

安装Hexo部署环境

首先从Node.js安装Hexo

npm install hexo-cli -g

创建软链接(创建软链接后可以直接在终端输入hexo而不用拖着整个目录运行)

ln -s /usr/node/lib/node_modules/hexo-cli/bin/hexo /usr/local/bin/hexo

新建一个文件夹给你的博客,并让Hexo在你的文件夹开始部署软件,例如:

mkdir Hexo
cd Hexo
hexo init

本地预览

部署完之后你可以先看看效果如何,输入hexo s

接着在浏览器访问localhost:4000即可

如果你想更换预览的端口,你可以输入hexo s -p 端口

安装Git Push插件

Hexo本身并没有通过Git Push到Github的能力,需要安装插件来实现

npm install hexo-deployer-git –save

将Github仓库连接到本地

配置好你的Git

git config --global user.name "用户名"
git config --global user.email 邮箱

选择一个适合你的编辑器

如果你是万能Vim主义者那么你可以直接使用Vim来编辑Hexo的配置文件,当然,我喜欢VSCode

Hexo的文章格式是Markdown,所以你需要一个支持Markdown的编辑器

文章编辑器你可以用Typora,但是他已经开始收费了,你可以安装旧版Typora以解决这个问题(操,我滚动更新的时候也把Typora更上去了)

VSCode也支持Markdown写作(但是没有预览效果)

配置Hexo

当你的Hexo已经部署完毕之后我们就可以进行进一步的配置了

以下配置都在目录里的_config.yml里面设置

设置网站信息

Site进行设置

# Site
title: Lanta Blog ## 博客标题
subtitle: 'Lanta的博客' ## 副标题
description: '' ## 简介(此处可不设置)
keywords: ## 关键词(此处可不设置)
author: Lanta ## 作者名称
language: zh-CN ## 语言
timezone: '' ## 时区(此处可不设置)

设置域名

URL设置访问域名

例如:

# URL
url: https://lanta.cyou/ ## 此处写入访问的地址,比如你的用户名.github.io
permalink: :year/:month/:day/:title/
permalink_defaults:
pretty_urls:
  trailing_index: true 
  trailing_html: true

自定义域名

如果你要使用自定义域名,请到你Hexo目录下的source文件夹添加一个CNAME文件(不用加后缀,直接CNAME)

CNAME文件里写入你的域名,比如我是blog.lanta.cyou,那么我直接写blog.lanta.cyou就可以了

设置仓库

Deployment修改仓库地址,增加master分支(当然你也可以直接用main分支)

例如:

# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
  type: git
  repo: git@github.com:PhyllisJohnson/phyllisjohnson.github.io.git
  branch: main ## 这个是分支名

安装标签和分类以及RSS插件

Hexo本身不具有标签和分类的功能,也是需要自行安装

安装标签插件

npm install hexo-generator-tag

创建标签列表页面

hexo new page tags

成功后显示:

INFO  Created: ~/Documents/blog/source/tags/index.md

上面的路径(指~/Documents/blog/source/tags/index.md也就是这个页面的文件)

打开后的默认内容:

---
title: 标签
date: 20XX-XX-XX XX:XX:XX
---

type: "tags"添加进去,添加后如下:

---
title: 标签
date: 20XX-XX-XX XX:XX:XX
type: "tags"
---

随后不必再书写其他内容保存并关闭文件即可

安装分类插件

npm install hexo-generator-category

创建分类列表页面

hexo new page categories

成功后显示:

INFO  Created: ~/Documents/blog/source/categories/index.md

上面的路径(指~/Documents/blog/source/categories/index.md也就是这个页面的文件)

打开后的默认内容:

---
title: 分类
date: 20XX-XX-XX XX:XX:XX
---

type: "categories"添加进去,添加后如下:

解答---
title: 标签
date: 20XX-XX-XX XX:XX:XX
type: "categories"
---

随后不必再书写其他内容保存并关闭文件即可

安装RSS插件

npm install hexo-generator-feed

安装好之后就可以使用了,RSS地址就是你的域名/atom.xml

部署到Github Pages

终于,正片

如果你已经设置好了Git,那么你可以直接部署到Github Pages了

hexo clean(删除缓存)
hexo g (生成)
hexo d (部署)

如果你遇到更改主题没有效果的问题通常清除缓存即可

当然你如果等不了那么久或者觉得太麻烦你可以直接一条命令搞定

hexo clean && hexo g && hexo d

疑难解答

该文段将会记录一些常见的问题以便给大家解决

Node.js

为什么我的NPM安装插件的时候遇到了audit报错?

audit是安全报错,通常来说不会有什么安全问题,但是也不是不可以直接绕过安全检查

例如:

npm install --no-audit 软件包