80.将Hexo博客迁移到子目录下

1.hexo配置文件

如果url设置为https://username.github.io,那么root可以不要。
如果url设置为子目录,那么要加入root并将值设置为子目录。
例如:

1
2
3
4
不在子目录的例子
# URL
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
url: https://username.github.io/blog
1
2
3
4
5
在一级子目录的例子
# URL
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
url: https://username.github.io/blog
root: /blog/
1
2
3
4
5
在多级子目录的例子
# URL
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
url: https://username.github.io/blog/1122/abab
root: /blog/1122/abab/

2.ayer主题配置文件

主题封面(cover)在切换url后路径不会跟着变,需要在ayer主题配置文件中修改path: /images/cover.jpgpath: /blog/images/cover.jpg
同理,favicon、logo和鼠标的path: /images/mouse.cur等等应该都需要改,如果确实是启用了的话,没启用改不改应该影响不大

3.ayer主题js和css文件

多数的js和css文件引用都在blog\themes\ayer\layout\_partial文件夹下定义,如果切换后有报错,在对应的ejs文件中修改js和css文件路径即可
有一个为意外,如果启用了搜索功能,那么搜索需要的search.js和search.xml文件路径被定义在blog\themes\ayer\source\dist\main.js文件中

4.图片路径出错

切换为子路径后,原hexo-asset-image无法正确获取路径,需修改插件的index.js。
修改后的文件:点击查看文件
修改后的commit:点击查看commit记录

  • Copyrights © 2023-2024 kukusun