我目前使用简单的HTML / CSS制作了[username]/github.io
个页面。
现在我正在尝试切换到Hugo以更有效地管理网站。
据我所知,Hugo(静态站点生成器)生成public
目录,我可以将内容复制到[username]/github.io
存储库。
但是,通过这种方式,我必须拥有两个不同的存储库来保存Hugo项目本身以及生成的网站。
保留Hugo存储库的正确方法是什么?
我相信Jekyll,推送的项目将在GitHub的服务器端生成github.io页面。
对于Hugo项目,我是否应该拥有两个不同的存储库,一个用于Hugo,另一个用于生成的站点?
答案 0 :(得分:1)
您可能需要两个存储库,一个用于Hugo的内容,第二个存储库将是一个包含公用文件夹内容的git子模块。
查看Hugo文档Host on Github Step-by-step Instructions:
在GitHub上创建一个<YOUR-PROJECT>
(例如博客)存储库。该存储库将包含Hugo的内容和其他源文件。
创建一个<USERNAME>.github.io
GitHub存储库。这是包含Hugo网站完全呈现版本的存储库。
git clone <YOUR-PROJECT-URL> && cd <YOUR-PROJECT>
让您的网站在本地运行(hugo服务器或hugo服务器-t)并打开浏览器http://localhost:1313。
一旦您对结果感到满意:
Press Ctrl+C to kill the server
rm -rf public
完全删除公共目录
git submodule add -b master git@github.com:<username>/<username>.github.io.git public
。这会创建一个git子模块。现在,当您运行hugo命令将站点构建为public时,创建的公共目录将具有不同的远程源(即托管的GitHub存储库)。您可以使用以下脚本自动执行其中一些步骤。