Hexo可以作为一个Server使用(hexo server 运行), hexo-deployer-git
是官方开发的插件用于 Github 上搭建博客。
需要的环境
Hexo基于node.js,故需要先装nodejs以及npm。推荐装LTS的。
确保git版本是最新的
最好了解下nodejs项目
请注意 hexo-deployer-git 第一次登陆时不能设置 Socks5代理(蛋疼的是中文 cmd 下显示乱码),实际显示的是ServicePointManager 不支持具有 socks5 方案的代理
—
安装
1 | npm install hexo-cli -g |
创建文件夹并进入
1 | npm install hexo-deployer-git --save |
其中-g
是--global
的简写,使用后是安装到系统中,你可以在任何地方使用Hexo命令,而下面则是将hexo-deployer-git
直接安装到文件夹(项目中)
初始化blog(下面命令blog的name可以改为你想要的名字)
1 | hexo init blog |
需要注意的是这个blog文件夹是一个独立的项目,你可以挪出来放到你想要的地方,或者改名都行
命令文档
https://hexo.io/zh-cn/docs/commands.html
Github上的操作
新增一个仓库(Repositories),仓库名为yourname.github.io
修改配置
找到”blog”文件夹里的_config.yml
改最下面
1 | deploy: |
另外注意可以加上 username 跟 mail
1 | name: [git user] |
写博客
.\source\_posts
这里放的博客文本, hexo new [layout] <title>
用于生成一个新博客。
不过一般我会手动建
部署
1 | hexo d -g |
意思可以看上面的命令文档,基本等同于hexo g -d
这里有个Issue
第一次使用的时候会需要你输入 username 和 token (虽然显示的是密码,但实际要输入 github token,至于怎么生成就自己去搜索下好了)
安装一个主题
这个就自己折腾吧,很多主题还要装依赖
还有很多的坑
注意事项
网页有缓存
升级Hexo
1 | npm install -g hexo-cli |
(我这好像没成功,因为cli版本其实没有升级,Hexo版本倒是到了6)
最终是看了这个成功的 –2022-06-29
https://novnan.github.io/Hexo/update_hexo/
而且是试了下就好了,完全没搞懂之前啥毛病。
可能跟npm update --save
这个有关
只有用了这个才会更新项目的npm包
7.3.0 升级 -2024-09-14
1 | npm install hexo@7.3.0 |
之前的办法没法升级,估计是因为大版本更新的缘故。hexo 的官方文档感觉不太完善。默认给的安装方式是npm install -g hexo-cli
,这个是装到全局目录,hexo-cli 是hexo
这个可执行文件(添加了环境变量),所以是全局。然后hexo init blog
创建一个博客(项目文件),hexo -v
可以查看版本。
因此升级是在项目文件夹里更新包(我因为长期乱用命令,可能会有点乱,例如 hexo-cli也被我装到了博客的文件夹里,实际应该不需要)。
本地Debug
1 | hexo s --debug |
可以本地debug好了再提交,不用像逗逼的我一样每次提交了看有问题再改。
algolia
不再使用
可以看下这里
https://github.com/fi3ework/hexo-theme-archer/issues/304
https://ted423.github.io/etc/hexo-theme-icarus/
1 | hexo algolia --help |
flush 什么的,很少有教程说,不过文件换路径会非常有用
相对连接
https://hexo.io/zh-cn/docs/asset-folders
Note
- hexo 的相对链接只能在图片或者
[]()
里使用,<>
里不会解析 - Win 不区分大小写,文件名或者 tag 可能会造成问题,处理时需要手动删文件或文件夹(包括 public .git_deploy 里的),还要删掉 db.json
- LF CRLF 可以搜下博客的 git 换行符问题,可以在 .git_deploy 里弄