关于 Hexo & github & git 搭建个人博客
这是我搭建完博客后写的第一篇文章,也浅浅记录一下搭建过程以及遇到的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 初始化博客文件部署失败的可能性。
将 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.
——–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)
修改 _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
说明:很经典了,国内访问国外的库网缺少存在可能被墙的问题,本来应该是换源解决的吧,懒得换源了,反正全局模式的延迟就很低