这是我搭建完博客后写的第一篇文章,也浅浅记录一下搭建过程以及遇到的bug和解决方法

Hexo相关指令

创建新帖子

1
$ hexo new "My New Post"

More info: Writing

运行服务器

1
$ hexo server

More info: Server

生成静态文件

1
$ hexo generate

More info: Generating

部署到远程站点(github)

1
$ hexo deploy

More info: Deployment
.


报错 & 解决方法

404 这里没有GitHub Pages网站。

Git Bash 中 执行 hexo s 本地运行可以看到博客页面,在执行 hexo d 部署到 github 上后,通过 https://wujueBlog.github.io 访问页面出现 404 警告。
github 项目中存在部署的文件, 排除 hexo init 初始化博客文件部署失败的可能性。

github404

将 github 项目名改为 [github名称].github.io

说明: 在hexo中使用GitHub页面,默认将url设置为 ‘https:username.github.io’

Hexo启动页面显示extends includes/layout.pug block content include includes/recent-posts.pug include

Hexo 更换 Butterfly 主题后启动服务器,界面显如下字符:

extends includes/layout.pug block content include includes/recent-posts.pug include includes/partial

在 Gie Bash 界面执行

1
$ npm install hexo-renderer-pug hexo-renderer-stylus --save

清除缓存 & 生成静态文件

1
$ hexo c & hexo g

说明: 没有 pug 以及 stylus 的渲染器

网页无法显示图片

在项目文件中加入图片,不论以相对路径还是绝对路径在 Markdowm 中引用图片,在网页无法显示。

将图片放到 themes/butterfly/source/img 路径下,在 Markdowm 里使用 img/xxx.png 引用图片

说明: hexo g 生成静态文件只会同步生成 themes/butterfly/source/img 路径下的图片,使用要使用这个路径;而 Markdowm 引用路径在静态文件对应的 index.html 中会默认在引用前加’/‘,由于两个文件路径引用不统一不兼容,因而这种方法虽然不需要插件,但是不便于管理,本地无法查看图片,绝。

hexo d 部署报错

在 Bash 中使用 hexo s 部署在本地服务器时网页咩问题,使用 hexo d 命令部署到github时,报错如下:

FATAL Something’s wrong. Maybe you can find the solution here:https://hexo.io/docs/troubleshooting.html
Error: Spawn failed
——–at ChildProcess. (D:\Toolbox\apps\PhpStorm\workspace\WuJueBlog\node_modules\hexo-util\lib\spawn.js:51:21)
——–at ChildProcess.emit (node:events:513:28)
——–at cp.emit (D:\Toolbox\apps\PhpStorm\workspace\WuJueBlog\node_modules\cross-spawn\lib\enoent.js:34:29)
——–at ChildProcess._handle.onexit (node:internal/child_process:291:12)

ErrSpawn_failed

修改 _config.yml 文件中的仓库地址,如果是HTTPS地址则改为SSH地址,反之亦然

1
2
3
4
5
6
# https://github.com/WuJiaoJue/wujueblog.github.io.git
# git@github.com:WuJiaoJue/WuJiaoJue.github.io.git
deploy:
type: git
repository: https://github.com/WuJiaoJue/WuJiaoJue.github.io.git #你的仓库地址
branch: main

npm install … 无响应或报错ERR

开代理,挂“全局模式”,然后执行 npm install

说明:很经典了,国内访问国外的库网缺少存在可能被墙的问题,本来应该是换源解决的吧,懒得换源了,反正全局模式的延迟就很低