最近终于偶然了解了怎么给GitHub项目建主页。

GitHub Pages

GitHub Pages是一个让用户很方便托管项目网页在GitHub的服务。 比如我这个博客就是GitHub Pages建成的

但是这样只能托管一个名为 GitHub用户名 + “.github.com”的项目(lki.github.io)

假如我还有一个项目也想用域名访问怎么办呢?

于是我机智的我git submodule来解决了这个问题

Git Submodule

git submodule其实是一个很蠢的解决方案:

  1. 为了保证最新的内容,父项目要随着子项目更新而更新。

  2. 这个做法其实是hack了jekyll build,感觉不是特别靠谱。

  3. remove a git submodule实在是太痛苦了! 所以没有必要就不要加git submodule啦。

更好的解决方案

前几天在逛羡辙学姐的GitHub的时候发现了这么一条Issue

里面这么说道:

主页用 CNAME 指向 zhangwenli.com 后,ovilia.github.io 将跳转到 zhangwenli.com 其他项目 xxx 的 gh-pages 分支将会自动对应到 ovilia.github.io/xxx

喔!原来GitHub会默认地把some-repo项目的“gh-pages”分支映射到some-one.github.com/some-repo下面去。

所以我们就可以用新建分支把菜谱映射到/mymenu了。

总结

  1. GitHub项目可以建一个gh-pages分支来映射到github.com下面的github.com/repository-name.

  2. 多看多学多试.

  3. 假如不是绝妙的hack就要追求best practice.