4

我有一个 github 存储库,我想将我的 hugo 站点添加到其中。从我的存储库中的 docs 文件夹中,我可以运行 github 页面。

因此,我已将publishDirhugo 配置中的参数更改为docs.

publishDir = "docs"

现在,当我构建 hugo 时,它会输出 docs 文件夹中的所有内容,这很好,问题是从那里运行一个子域。

如何在 hugo 上获得一个子域,该子域生成到我的 docs 文件夹中,其作用类似于 github 页面上的子域?

我知道我需要使用 CNAME,然后告诉它/docs/subdomain实际上是subdomain.site.com

但我不确定如何在 HUGO 中进行设置。我在哪里放置子域文件夹?在静态文件夹中,所以它将theme_name/static/subdomain输出到文档中,例如docs/subdomain

如果是这样,我可以使用静态文件夹中的所有参数和简码吗?

另外,如果我需要创建 2 个 hugo 安装,一个用于主站点,一个用于子域站点,它们是共享站点参数、配置、静态文件和布局文件等的一种方式吗?

4

2 回答 2

0

您必须创建一个自定义脚本来创建两个不同的构建,然后

将 CNAME 文件添加到项目的存储库。此文件的内容必须是为您的项目的自定义子域(例如 pjname.mydomain.com)指定裸子域的单行。在您的 DNS 提供商的设置中,创建一个新的 CNAME 记录,将项目名称指向根目录(通常用 @ 表示),如果您之前设置了一个 apex 域,或者指向 myusername.github.io,如果您已经设置了一个自定义子域。它应该看起来像这样:

于 2019-10-31T14:43:59.957 回答
0

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

在您的 username.github.io 存储库中,您正在使用“docs”文件夹为您的站点提供服务。但是,此过程不适用于其他存储库。要从其他存储库提供服务,请将存储库命名为您喜欢的任何名称,并在其上创建一个“gh-pages”分支。分支根必须包含整个站点。您可以使用username.github.io/your-repo-name/访问此站点。

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

于 2020-10-28T14:16:53.180 回答