前言
在这篇文章中,我将会教你如何从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密钥
执行以下命令,并复制ssh密钥
cd /root/.ssh
cat id_rsa.pub
创建密钥容器
打开github
,新建一个ssh key
,名字自拟,把刚才复制的密钥粘贴进去即可
粘贴本地ssh密钥
复制github ssh密钥
打开仓库主页面,复制仓库ssh地址
安装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 软件包
在我发现Waline这个东西的时候,试了一下,发现这是个好东西,所以我就没有用Valine了