【问题标题】:HUGO + GitHub Pages: How to set up subdomainHUGO + GitHub Pages:如何设置子域
【发布时间】:2020-10-28 22:16:53
【问题描述】:

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

因此,我将 hugo 配置中的 publishDir 参数更改为 docs

publishDir = "docs"

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

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

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

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

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

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

【问题讨论】:

  • 您不应该在 Hugo 项目中将 subdomain.site.com 设为您的 baseURL 吗?在您的另一个 Hugo 项目中将 site.com 设为 baseURL(如果是一个)?如果我是你,我会将你的 Hugo 项目分成两个不相关的存储库:项目本身和构建的站点。从您的问题中不清楚,您要公开什么 - 项目的源代码,仅站点,或两个站点,或等等......

标签: subdomain github-pages hugo static-site hugo-shortcode


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-21
      • 2018-11-08
      • 2022-11-28
      • 2021-12-11
      • 2018-04-30
      • 1970-01-01
      • 2013-12-27
      相关资源
      最近更新 更多