new blog added

This commit is contained in:
d0zingcat
2019-11-21 08:42:20 +08:00
parent 2cdded6660
commit 229a344862
4 changed files with 137 additions and 80 deletions

View File

@@ -21,6 +21,6 @@ Gohugo是个非常高效的静态博客生成器而且是用我当时最痴
3. fork一个主题的分支因为我们需要自己对主题做一些更改而且又希望能够拉取到上游的更新这意味着我们需要维持repo的git目录且需要有自己的主题仓库。比如我就fork了[even](https://github.com/D0zingcat/hexo-theme-even)。
4. 进入目录`blog`之后clone主题比如`git clone https://github.com/D0zingcat/hexo-theme-even themes/even`, 如果是even的话还需要安装一个依赖 `npm install hexo-renderer-scss --save`,同时复制一份主题的配置文件出来到一个全新的配置文件 `cp themes/even/_config.yml.example themes/even/_config.yml`
5. 使用Github授权登陆Netlify并且授权blog那个repo的访问权限设置好部署命令 `hexo generate` 设置好域名CNAME指向这个netlify的域名其他的默认就会启用这个生成的功能只要那个repo有提交就会自动启动拉取数据并部署。
6. 设置Rss。hexo默认是不启用rss的需要启用的话需要自己安装一个插件 `npm install hexo-generator-feed --save` ,当然配置文件可以参考[我的repo](https://github.com/D0zingcat/blog.d0zingcat.xyz)也可以看even[官方的wiki](https://github.com/ahonn/hexo-theme-even/wiki/设置-RSS),写的已经很详细了。
6. 设置Rss。hexo默认是不启用rss的需要启用的话需要自己安装一个插件 `npm install hexo-generator-feed --save` ,当然配置文件可以参考[我的repo](https://github.com/D0zingcat/blog.d0zingcat.xyz)也可以看even[官方的wiki](https://github.com/ahonn/hexo-theme-even/wiki/设置-RSS),写的已经很详细了。另外我发现主题中feed是default的时候会报错`Hexo Unhandled rejection TypeError: path.startsWith is not a function` 没有细究因为不懂js查到说把rss关了就好了尝试了一下果然是可以的。但是这个方式不够清真因为万一自己的读者喜欢用rss呢所以我捣鼓了一下发现把主题的`_config.yml`中的feed从default改成'atom.xml'就可以解决这个问题,神奇,我也不知道为什么。
比较坑的是Netlify在拉取信息的时候如果主Repo中有repo的嵌套必须添加submodule但是submodule中不一定会追踪文件的更改。可以使用命令 `git submodule add -b master https://github.com/D0zingcat/hexo-theme-even themes/even` 进行添加子模块然后重新提交一下整个项目文件即可。submodule不会追踪子模块的更改换言之如果要对子模块进行更改那么需要进入到子模块提交文件修改之后再在主目录下进行提交这时子模块是作为一个特殊的文件引用160000 mode提交的。如果子模块添加错了可以参考[这个](https://stackoverflow.com/questions/1260748/how-do-i-remove-a-submodule)。但是有个比较坑的地方是even这个主题里面的`.gitignore`中有`_config.yml`所以自己自定义的配置文件更改都默认被忽略掉了我找了半天的问题就是不明白为什么submodule会没法追踪文件的修改记得从中删除之后[重新提交](https://blog.csdn.net/yingpaixiaochuan/article/details/53729446)配置文件不然Netlify也没法拿到正确的配置。同时Even因为有gh-pages的分支Netlify会自动拉取这个分支然后就报错了具体原因未知也懒得追溯。手动[删除master之外的分支](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository)之后重新deploy得到解决。