背景

最近没事干,倒腾倒腾博客

毕竟之前的notion-blog也已经用很久了,
那玩意看上去美观,
实际上配置个时间线都不行

一开始我看上了obsidian的工作区编辑,
发现Quartz 4似乎还不错,

但Quartz 4十分简陋,
还没有主题配置,

便想到了Nodejs驱动的Hexo,
部署也简单。

正文

Hexo部署

Requirements: Nodejs、Git

先把hexo-cli装上:

1
npm i -g hexo-cli

Hexo站点初始化:

1
2
3
hexo init <folder>
cd <folder>
npm i

摘抄一段Hexo文档:

初始化后,您的项目文件夹将如下所示:

1
2
3
4
5
6
7
8
.  
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes

其中,_config.yml是站点的配置文件,
通常需要修改:

1
2
3
4
5
6
7
...
title: "<site-title>"
...
author: <author>
avatar: <author-avatar>
language: zh-CN
timezone: 'Asia/Shanghai'

剩下的看文档去:https://hexo.io/zh-cn/docs/configuration

source/_posts文件夹中,安放markdown格式的文章
建议带有以下属性:

1
2
3
4
5
6
7
8
---
title: <article-title>
date: <publish-date>
tags:
- tag1
- tag2
- ...
---

可选命令:
hexo generate:生成public文件夹
hexo clean:清除生成缓存
hexo server:预览

主题配置

Hexo主题页面:https://hexo.io/themes/
Github的Hexo-Theme Topic:https://github.com/topics/hexo-theme

找到想要的主题后:
Stellar主题为例

简易配置

按照主题提供者应提供的主题安装方式进行安装
如Stellar主题为例:
(省略版本检查)

1
npm i hexo-theme-stellar

随后在_config.yml中配置

1
2
...
theme: stellar

并按照文档进行配置即可

进阶配置

将整个git库克隆到themes文件夹内,
_config.yml中配置

1
2
...
theme: stellar

按照文档进行配置后,

可进入themes/stellar/layout/_partial/script.ejs
进行进阶配置,
如安装katexhighlight.js等第三方插件

部署

类别一

请注意,本类部署方式不建议使用Hexo-Admin等动态生成插件

方式一:边缘生成(Recommand)

将整个项目文件夹推送至Github,
使用
Vercel:Hexo预设
GithubPages:文档
GitlabPages:文档
直接部署。

方式二:本地生成

本地进行hexo generate后,
仅将public文件夹推送,
使用GithubPages或Vercel部署。

类别二

本类部署方式即为:
hexo generate后,
使用hexo server --port <port>
启动服务器,随后在相应端口即可访问。
本类部署方式可拓展性更高,
Hexo-Admin等插件可直接使用。

尾声

本次开发日志到此为止,
愿能帮到更多的人。