我本来通过大模型写了一个官网,然后顺便又搭建了一个wordpress。但是发现wordpress有几个问题。第一是内存占用高,2G的内存只有200M,经常会很卡;第二就是wordpress对于markdown的支持很不好,虽然安装了插件,但是依旧需要人为的再次检查,影响效率。以前也新建了hexo作为博客,重新再次整理总结。目前我对于博客的要求如下:

  1. 可以快速上传obsidian的markdown文件,快速进行呈现而不用更改,特别是图片,wordpress很麻烦。
  2. 博客支持个人简介、头像、标签、分类和管理,可以在侧面快速查看。
  3. 博客的文章封面支持图片进行呈现,如果不支持可以自动通过AI生成图片支持。
  4. 博客可以单独已有域名展示展示,也可以通过iframe内嵌的方式展示,并且iframe展示没有title。
    整体和GPT聊了聊需求,GPT再次推荐hexo。YES!

hexo安装

安装hexo很简单,如下几个命令就可以完成。

1
2
3
4
5
6
7
8
9
10
11
# 安装hexo
npm install -g hexo-cli

# 初始化hexo
hexo init blog

# 进入文件夹
cd blog

# 安装依赖
npm install

安装主题

安装主题,目前热度最高的是next主题,我询问了一下GPT,并且用我的官网让他给我搭配了一下,他给我推荐的是butterfly。

1
2
3
4
5
6
7
8
9
# 安装butterfly主题
git clone https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly

# 安装必要插件
npm install hexo-renderer-jade hexo-renderer-stylus
npm install hexo-deployer-git

# 启动本地预览,设置端口号
hexo server -p 2010

配置主题

个人推荐官网配置,网上看到的butterfly教学都是作者的配置,最好看作者自身的 。

1
2
# github的配置
https://github.com/jerryc127/hexo-theme-butterfly.git

使用指南配置:

1
2
3
4
5
# butterfly官网
https://butterfly.js.org/

# hexo官网
https://hexo.io/zh-cn/docs/front-matter

功能设置

1. markdown配置文章封面

markdown的每篇文章头部使用yaml配置,我的配置如下,记得把注释去掉

1
2
3
4
5
6
7
8
9
10
11
12
---
title: <% tp.file.title %> # 标题,自动加载
date: <% tp.date.now("YYYY-MM-DD HH:mm") %> #日期,自动加载
updated: # 更新日期
tags: # 标签
categories: #分类
series: # 系列
comments: #是否运行评论
cover: #封面图
published: "true" #是否公开
sticky: #是否置顶
---

2. 设置评论系统

可以参考

1
https://waline.js.org/guide/get-started

常见问题

1. 长时间无反应

有可能是网络问题,npm的服务器是海外,可以根据自己的服务器选择使用腾讯或者淘宝的npm镜像加速。

1
2
3
4
# 腾讯镜像加速
npm config set registry https://mirrors.cloud.tencent.com/npm/
# 淘宝镜像加速
npm config set registry https://registry.npmmirror.com

查看npm是否设置

1
2
3
4
5
# 查看配置
npm config get registry

# 如果不想使用,清除配置
npm config delete registry

安装并查看日志

1
npm install -g hexo-cli --verbose

更新npm和node.js

1
npm install -g npm@latest

清理缓存

1
npm cache clean --force

也可以使用yarn来安装

1
2
npm install -g yarn  
yarn global add hexo-cli