Hexo 搭建个人网站

Hexo 搭建个人网站

引入

最近难得有段空闲时间,是时候折腾折腾那闲置已久的云服务器。

我平时有使用 Obsidian 记录一些个人技术笔记,有一些可以分享的东西。

虽然掘金等技术分享平台很不错,但哪有自己搭个人网站自在、有意思。于是,在一番寻找与对比后,我决定用 Hexo 搭建 Blog。

本地搭建

安装

一般来说全局安装即可,方便使用

1
npm install -g hexo-cli

初始化

进入本地存放博客源码的路径,执行 hexo init,等待脚手架初始化博客即可。

提示

若需要配合 obsidian 使用,建议在 source 文件夹中新建 obsidian 库,避免大量冗余文件拖累 obsidian 的运行

值得注意的是,或许是因为我全局安装了 pnpm ,脚手架初始化最终用的是 pnpm 来下载安装依赖。这导致后来主题的安装出了一些问题。因此,建议初始化后,若目录中有 pnpm-lock.yaml ,那么将 node_modulespnpm-lock.yaml 全部删除,重新执行 npm install

主题

我用的是 Icarus 主题,挺清爽的,而且⭐多总没错哈哈

NPM

不需要个性化修改可以直接 npm 安装:

1
npm install -S hexo-theme-icarus hexo-renderer-inferno

记得在 Hexo 配置中切换主题为 icarus

源码

有个性化需求的建议通过源码安装:

  1. 从 GitHub 的仓库中下载源码的压缩包,解压为 Hexo 目录下的 .\themes\icarus
  2. Hexo 配置中切换主题为 icarus
  3. 执行 hexo server ,根据报错,缺少什么就 npm 安装什么

配置

Hexo 的配置文件为 _config.yml

Icarus 主题的配置文件为 _config.icarus.yml

Icarus 主题自带了很多插件,不需要的可以从配置文件中删去

参考:

  1. 配置 | Hexo
  2. Icarus User Guide - Configuring the Theme
  3. Tag: Icarus用户指南 - Icarus (ppoffice.github.io)

运行

1
hexo server -d

-d 参数,可以让 Hexo 本地服务器热重载,避免每次修改后都要手动重载。

打开默认地址 http://localhost:4000/ 就可以看到本地搭建好的博客了。

云端部署

本地搭建好,确认无误之后就可以开始部署了。

官方给出的部署方案中,最简单、最适合个人云服务器的一定是 SFTP 部署。

SFTP 部署会将编译后的网页选择性上传到云端,简洁高效。

对于多台本地设备的用户,要做好博客源码的同步。我使用的是 Obsidian 中的同步插件,将整个库同步到 Github。

安装插件

1
npm install hexo-deployer-sftp

编辑配置

1
2
3
4
5
6
7
# _config.yml
deploy:
type: 'sftp'
host: 'akichase.top'
user: 'root'
remotePath: "/opt/1panel/apps/openresty/openresty/www/sites/akichase.top/index"
privateKey: 'C:/Users/AkiChase/.ssh/id_rsa'

参考 SFTP 部署 | Hexo

提示

推荐使用 SSH 秘钥,而不是密码

执行

1
hexo deploy --generate

该指令会将博客源码编译,然后通过配置好的部署方式上传到云服务器。

最后

我的第一篇分享到这里就结束了。

   Vector Landscape Vectors by Vecteezy
作者

AkiChase

发布于

2024-01-02

更新于

2024-01-09

许可协议