Redefine theme root issue
更改背景图片问题
更改背景图片出现本地正常,推送网页无法更新,具体原因不明确,通过更改图片名称为简单小写英文后,clean之后hexo g-d即可正常。
1 | hexo d: |
redefine这个主题,如果图片名称复杂,名字中含有符号或大小写,会有影响。
在typora中出现过图片名称复杂无法正确加载,昨天更改背景图片也是图片名称问题,甚至大小写都有影响,对本地部署没有问题,hexo d到GitHub上网页图片加载易出问题,所以图片名称尽量简单且为小写。
PS:又试了一下更改背景图片,此次直接将图片名称命名简单且小写,依然是本地正常网页无法更新,本地重新给背景图片改名,再次hexo cl=>hexo g=>hexo d出现以下提示后,网页背景图片更新。具体原因不详。
1 | rename images/blogpicture/{emma.jpg => dark.jpg} (100%) |
瀑布流相册图片地址
1 | - image: ../masonry/瀑布流相册/1.jpg 图片地址需增加..相对路径,不加的话本地无法加载 |

Hexo-redefine主题应用在子仓库中的问题
使用redefine主题,hexo-config配置文件中url地址,如果使用根仓库 url: https://username.github.io 不会出现问题;如果使用子仓库 url: https://username.github.io/test 则会出现以下问题:
- hexo s本地部署,无法加载背景图片,推送GitHub后网页能加载背景图片。
- hexo s本地部署,无法加载头像图片,推送后网页也无法加载头像图片。
- hexo s本地部署,网页logo和logo图像索引均指向根仓库,无法指向子仓库。推送后网页logo索引也指向根仓库,无法指向子仓库。
1.背景图片本地部署无法加载
背景图片本地加载不显示的问题还没有解决,但是不影响使用,推送后网页可以正常加载背景图片。
PS:该问题已经解决。
在主题配置文件图片地址前加上../成为相对路径,本地部署图片正常加载。

2.主页及文章页头像图片无法加载
问题已解决,路径代码错误导致图片加载路径出错。
index.html文件图片路径错误:

原代码:

修改后:

关于头像图片加载问题,还有文章页也需要修改该行代码

3.logo图片和内容索引错误
问题已解决,主要问题就是href路径代码问题。
原代码:

修改后:

修改后,本地和网页都能正确指向子仓库。
后记
上周用了两天的时间,主要解决了redefine主题url放置在子仓库中无法加载背景图片和头像图片,以及主页logo和图像索引指向根仓库的问题。
如果将redefine主题应用在根仓库无/root/,则都不用更改正常使用,因为没有root路径,转化生成时不会出现路径错误。有了root之后,路径引用就容易出现问题,因为这个主题的目标就是根目录,最根本的代码还是没有找到原因。
1 | <div class="article-content markdown-body"> |
1 | <!--- Inject Part--> |
问题解决看着很简单,就是路径的问题,可是由于对代码不熟悉,大部分时间都用在找代码上面了。先从index.html入手,看本地和网页版代码,确定路径引用错误引起指向错误和图片无法加载,然后找到主题原代码位置,确定具体代码行对其修改。
Typora图片无法正常加载
解决redefine主题应用在子仓库中的问题,新建文章后,使用Typora插入图片,加载又出现问题,还是url中有/root/的问题,图片路径在转义时会出现错误,具体哪里的原因目前不清楚。通过调试,在Typora中添加图片根目录可解决。
修改scaffolds中post.md默认内容如下:
1 | title: {{ title }} |
图片即可正常加载,如下图实例
hexo new test5 插入图片,本地、推送网页均可正常加载。
