Re:从零开始的 Hexo 教程

本文最后更新于 2024年12月21日 晚上

趁着更新底层的机会,写写 Hexo 的基本使用吧。

1. 环境准备

Docker 和软件包

使用 Docker 下载 ubuntu 镜像

映射 /hexo 路径到物理路径,转发 4000 tcp 端口。

hexo的docker设置

启动容器,打开终端:

1
2
3
4
5
apt update 

apt install sudo curl

sudo apt install git #(为 hexo-deploy-git 作准备)

NodeJS 和 npm

不要打开 NodeJS 官网!不用官网方式安装!

打开 Hexo 官网,找到文档

hexo官网的文档位置

下滑找到有关 Linux 安装的这个说明内容,点进 NodeSource

文档中在linux中使用node source安装的说明

找到安装命令,说得很明白,看不懂的话网页翻译。

curl 刚才安装过了可以略过。

第三条命令可能需要选择“国家/地区”,根据提示选择即可。

nodesource的安装命令

验证

验证nodejs和npm安装

至此,NodeJS 和 npm 安装完成。

2. Hexo 安装

仍然是 Hexo 官网,找到安装命令。

安装 hexo-cli

hexo的两种安装方式

这里有两种方式,先安装 cli 工具再安装 hexo 本体;直接安装 hexo 本体。有必要强调,最好使用第一种方式(第一条在官网首页展示,官方实际上也推荐这种方式)

hexo 和 hexo-cli 是两个不同的东西,hexo 是实际上执行操作的工具,而 hexo-cli 是指挥他运行的命令行工具。

命令中的 “-g” 是全局的意思,这里全局安装 cli 工具,可以自动添加环境变量到系统,方便使用。

安装本体

可以执行 hexo init hexo,这样之前的路径映射就能生效了。

安装本体

这步速度会稍慢,完成会提示这个

1
INFO Start blogging with Hexo!

执行 init 后的文件列表

hexo init hexo后

3. Fluid 主题

安装

这里选用的是 Fluid 主题,采用方式一通过 npm 安装主题。

找到 Fluid 官网,进入 Hexo Fluid 用户手册,再点进他的 Github 页面,Readme 里有说明,记得去改 _config.yml 。

用npm安装fluid

安装前,在博客目录内可以查看 npm list

npm_list

安装后,可以看到多了一条主题的

安装fluid后的npm_list

更新

Readme 中有一个指向 “Hexo Fluid 用户手册” 的链接

readme中的更新方式

更新fluid

4. 上传 / Deploy

hexo-deployer-git

1
npm install hexo-deployer-git --save

下载好之后,要更改 _config.yml,但不用根据 Repo 的 Option 说明,参考 Hexo 官方关于 一键部署中 Git 的说明,设置如下条目:

1
2
3
4
deploy:
type: git
repo: [email protected]:username/repository.git # 用 SSH key 的方式,所以改成 ssh 格式
branch: [branch] # Github Pages 应为 gh-pages

使用如下命令生成 SSH 密钥

1
ssh-keygen -t rsa -b 4096 -C "[email protected]"
字段 含义
ssh-keygen 命令的主程序,用于生成、管理和转换 SSH 密钥。
-t rsa -t:指定生成 RSA 类型的密钥。
-b 4096 指定生成 4096 位长度的密钥,安全性较高(默认 2048 位 )。
-C 设置密钥注释,标识用途,随意填写,一般写邮箱。

期间会要求选择路径存放公钥私钥,直接回车使用默认路径即可,方便软件识别,这样我们只要把公钥添加到 Github 就可以立即使用。

路径选择之后,会要求一个密码,这个密码是让我们后续再次使用私钥生成公钥时输入的,看个人情况选择,可以直接回车保持无密码状态。

生成公钥后,使用如下命令把公钥拷贝一份到我们之前映射的路径,方便复制里面的内容上传 Github。

1
cp /root/.ssh/id_rsa.pub /hexo

在 Github 中,按照如下路径添加 SSH key。(⚠️在账号中添加,而非项目中)

头像 - Settings - SSH and GPG keys - SSH keys - New SSH key

打开 .pub 文件,复制其中的内容,粘贴到这个框里,提交即可。

执行 hexo d,报错,要求提供邮箱和用户名

提供邮箱和用户名

这个信息是 git 要求的,Github 中不允许重复用户名,所以通过用户名可以把这次提交关联到你的帐号,即使如此,依然需要邮箱,因为本地的 git 并不会校验用户名是否重复,邮箱可以帮助 Github 区分这次 Deploy 该归因给谁;另外,一个用户名也可能对应多个邮箱。

先不忙往上面打命令,我们先去 Github 找邮箱的隐私设置:

头像 - Settings - Email 最下面有两个选项,全钩上

选项 作用
Keep my email addresses private 隐藏私人邮箱地址(下面小字提示:只在 Web 提交中生效,且提供了一个 noreply 的替代地址)
Block command line pushes that expose my email 阻止在 cli 提交时使用私人邮箱

邮箱可以用第一个选项中小字提供的隐私邮箱,名字就写 Github 帐号名字即可。

现在执行 hexo d,就可以顺利 deploy 到 pages 了。

5. 优化插件

永久链接

1
npm install hexo-abbrlink --save

插件是在 hexo g 命令后写入 Markdown 文件的。

而且要对应修改 _config.yml 的 permalink才能在网页链接上生效。

具体看 How to install

SEO 优化

hexo-generator-sitemap

1
npm install hexo-generator-sitemap --save

RSS 支持

hexo-generator-feed

1
npm install hexo-generator-feed --save

音频支持

hexo-tag-aplayer

1
npm install hexo-tag-aplayer --save

⚠️此插件安装后,执行 npm list 命令会发现有’extraneous’(多余)的插件,不要删。

视频支持

hexo-tag-dplayer

1
npm install hexo-tag-dplayer --save

⚠️此插件安装后,执行 npm list 命令会发现有’extraneous’(多余)的插件,不要删。


Re:从零开始的 Hexo 教程
https://seailor.com/posts/66800b21/
作者
Seailor
发布于
2024年12月21日
许可协议