hexo3:南辕北辙——从hexo主题丢失到手动添加submodule

「摘要」本文记录了楼主遭遇hexo部署github后,url访问主题丢失,尝试了3个截然不同方向,最后用手动配置submodule脱离困境的故事。
「关键词」hexo;主题丢失;submodule;南辕北辙

0.hexo主题丢失

运用hexo和github构建博客。本地serve预览成功,配置了DNS后,安装了hexo-git-deployer,使用命令hexo d后,查看github 对应仓库页面,能够跳转到指定域名,但域名下的博客主题样式丢失。

1.尝试:修改config.yml的root目录

通过bing搜索,获得参考资源Ubuntu下部署Hexo,本地serve预览成功,部署到网站却不能显示主题样式,如何解决? - 知乎

文章说 路径不对。楼主将自己根目录下的_config.ymlroot: /Users/zsy/Documents/zsy.hexo修改为root: /Users/zsy/Documents/zsy.hexo/hexoroot: /等。

重新部署后,主题样式在网页上依然都没有显示。看来并不是路径的问题。

2.尝试:使用submodule add返回already exists

通过怼圈资源,获得参考资源重建Hexo的教训 | 浚宇的博客Git的Hexo博客搭建和运维实例讲解-初级 | 浚宇的博客

浚宇指出,如果用git clone ...下载主题,本地server虽然可以正常显示,但是部署到github上很可能引用出问题。应该使用git submodule add命令。

于是楼主在博客根目录下,添加博客主题 git submodule add https://github.com/xing5/hexo-theme-codeland.git themes/codeland 。结构返回的却是'hexo/themes/codeland' already exists in the index。主题不能添加submodule。

3.尝试:放弃使用git rm ..命令采用手动配置submodule

通过bing搜索,获得参考资源基于Hexo的博客同步中的一些问题 - CSDN博客hexo next主题保存 | Victor的博客手动配置Git的Submodule | Strago’s Corner

这些文章提出解决submodule的两种方案。一种是,删除原来主题,然后再submodule新主题。另外一种是在已下载好的主题目录内,手动添加submodule。

其中第一种方案需要使用git rm -r --cached theme/next。好在之前先看了浚宇的博客,提醒了楼主如果使用git rm命令,可能导致之前配置好的主题文件全部丢失,即使新下载主题,也需要从头配置。

于是采用第二种手动配置方案。在hexo博客根目录下,新建文件名为.gitmodules的文件,并在该文件里配置主题信息,如下。

[submodule “themes/codeland”]
path = themes/codeland
url = git@github.com:xing5/hexo-theme-codeland.git

再次打开域名网页,主题样式成功显示。✧(≖ ◡ ≖✿)嘿嘿.

4.尝试:收集怼圈怼友博客地址

文章虽然阐述简单,但过程惊险又曲折。最让楼主不爽的是,如果不是先读怼友的博客,楼主仅仅通过bing搜索,是很难把主题样式问题从config的目录路径转向为submodule的配置上。如果不是先读怼友的博客,可能就会先尝试使用危险系数比较高的git-rm命令。

所以又回到zoom quiet提出的经典问题∞h[ASK]如何判定当前资料/图书靠谱度?

也许靠谱资料需要从收集靠谱人博客开始做起。本文最后将增添楼主曾经参考过或认为将来有参考价值的怼员博客地址。

5.怼员博客

changelog

18.02.06-08 实验 3hr
18.02.09 成文、投稿 2hr

^