Hexo Fluid建站小记

之前一直用的Hugo搭建博客,因为Hugo很便携,不需要配一堆Node.js的环境。但它的生态、主题、帮助文档和Hexo比起来差远了。所以无奈又回到了用Hexo建站。

关于如何建站,Fluid主题的用户手册和Hexo的官方文档都已经说得很清楚了。这里只记录碰到的一些问题。

EACCES错误

用apt安装的Node.js是在系统目录下,这会导致npm install -g hexo-cli出现EACCES权限错误。

所以我按照Node.js官方指示,安装了nvm,再安装Node.js。

1
2
3
4
5
6
7
8
# 安装Nodejs Version Manager (nvm)
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

# 用nvm安装Node.js
nvm install --lts

# 安装Hexo
npm install -g hexo-cli

这样Node.js和Hexo都安装在用户目录下,就没有EACCES错误了。

图片路径问题

Hexo和Hugo一样,在处理图片路径的时候,不是按照Typora等编辑器的逻辑来的,导致生成的网页图片加载不出来。

我希望的功能是:

  1. 用Typora、Obsidian写作时能正常看到图片
  2. 生成的网页中能够正常加载图片
  3. 图片和文章放一起,而不是用图床

Hexo默认把所有图片都放到根目录下,生成的地址都是类似于localhost:4000/img.png这样的。但我写Markdown的时候一般都把图片放在同级文件夹下。这种不一致会导致图片加载失败。

几经搜索,hexo-simple-image插件刚好可以满足我所有需求。使用方法参考它的README以及这篇博客

唯一一个小缺点在于,安装了这个插件后,必须把所有图片放到同名文件夹下。如果你在Markdown里引用了无效的图片地址,就无法生成网页,而且没有任何错误说明。

image-20220902201552586

Hexo Fluid建站小记
https://yalandhong.github.io/2022/09/02/markdown/blog-building/
作者
Yaland Hong
发布于
2022年9月2日
许可协议