HUGO + GitHub Pages:如何设置子域名。

3
我有一个github仓库,希望将我的Hugo网站添加到其中。从仓库的docs文件夹中,我可以运行github页面。
因此,我已经在hugo配置文件中更改了我的publishDir参数为docs
publishDir = "docs"

现在,当我构建HUGO时,它会输出到docs文件夹中,这很好,但是在这里运行子域却有问题。
我如何在HUGO上生成一个子域,使其像在Github Pages上一样作为我的docs文件夹的子域?
我知道我需要使用CNAME,然后告诉它将/docs/subdomain显示为 subdomain.site.com
但我不确定如何在HUGO中设置它。而且我应该把子域文件夹放在哪里?放在静态文件夹中吗,这样它就会像theme_name/static/subdomain一样输出到docs中,比如docs/subdomain
如果是这样,请问我能在我的静态文件夹中使用所有参数和简码吗?
另外,如果我需要创建两个HUGO安装程序,一个用于主站点,一个用于子域站点,有办法共享站点参数、配置、静态文件和布局文件等吗?

你是否应该将subdomain.site.com作为Hugo项目的baseURL? 如果它是另一个Hugo项目,则将site.com作为baseURL? 如果我是你,我会将Hugo项目拆分为两个不相关的存储库:项目本身和构建站点。从你的问题中无法清楚地知道你想要暴露什么——项目的源代码、仅站点、两个站点等等... - badbishop
2个回答

0
你需要创建一个自定义脚本来创建两个不同的构建,然后
将一个 CNAME 文件添加到项目仓库中。该文件的内容必须是一行,指定项目自定义子域的裸域名(例如 pjname.mydomain.com)。 在 DNS 提供商的设置中,创建一个新的 CNAME 记录,将项目名称指向根目录(通常用 @ 表示),如果您之前设置过顶级域名,则指向 myusername.github.io 如果您设置了自定义子域名。它应该看起来像这样:

0

如果您有两个网站想要在两个域名/子域名(甚至子路径)下分别提供服务,最好为此创建两个不同的存储库。

在您的username.github.io存储库中,您正在使用“docs”文件夹来提供您的网站。但是,这种方法对其他存储库无效。要从其他存储库提供服务,请随意命名存储库并在其上创建一个“gh-pages”分支。分支根必须包含整个站点。您可以使用username.github.io/your-repo-name/访问此站点。

在这个新的存储库中,您可以添加CNAME。希望这个方法有效。我做了几乎相同的事情,只是使用了子路径而不是子域名。这是我的主要资料rafed.github.io和我的博客rafed.github.io/devra/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接