通过 github actions 部署的 github 页面上的 Hugo 网站不适用于自定义主题

Hugo website on github pages deployed through github actions is not working with custom theme

提问人:exocortex 提问时间:5/27/2021 更新时间:7/3/2021 访问量:687

问:

我有一个 github 存储库 [1](名为“exo-cortex.github.io”,我想用它来在 github 上制作一个静态网站)。里面有 hugo 源文件。还有一个用于主题“archie”的 git 子模块 [2],我已经分叉了它,因为我想对它进行一些更改(即数学符号的 KaTeX 渲染)。 通过命令“hugo server”,我可以在本地查看网站,一切看起来都很好。 一旦我运行命令

hugo -t archie

Hugo 将项目编译到文件夹 “public” [3] 中的静态网站中。

我了解到,通过 github 操作,我可以让 github 为我做编译和部署。事实上,我得到了某种网站,虽然没有主题,也没有内容。我已经尝试了很多次,但它不起作用。

我的方法是否存在一些常见的陷阱?有更好的方法吗? 例如,我正在考虑使用上面标记的 3 个存储库 [1-3]。在这个星座中,我将有一个不同名称(即不是 exo-cortex.github.io)的主存储库 [1] 和 2 个 git 子模块:[2] 将保持原样,[3](文件夹“public”)将是第二个 git 子模块,我将使用它直接推送到我的 github 页面网站。这样,我就必须在本地计算机上手动构建站点。

主题 git-submodules hugo github-pages-deploy-action

评论

0赞 Caio Gomes 1/24/2023
您可以使用子模块,例如:github.com/caiocsgomes/caiogomes.me

答:

2赞 Rogelio 5/28/2021 #1

陷阱是 github 页面在公共/商业和其他方面具有非常严格的可用性。请参阅此处的链接。

这意味着您正在使用一种方法进行开发,在许多情况下,这种方法不会是您的最终方法。那么这是一个专业网站吗?这会是你用于商业的东西吗?

(例如,如果使用 amplify,则使用不同的模式会更好)

这也取决于有多少人正在做这件事,或者会这样做(你是一个人吗? 例如,一种模式是:

  1. 有 1 个存储库:包含以下分支:
  2. Branch-[main] 是什么 发布 - 即什么是“实时”
  3. [分支 - exo-cortexdev] - 这是你用于暂存的东西 - 你推送到这个,构建,测试 然后拉到你的“实时”网站 - [main]。
  4. [Dudedev] 拥有您的开发分支,或者为各种开发人员或项目提供多少分支。 使用 [Dudedev] 的本地副本,例如使用 github desktop, 并使用本地 Hugo 服务器 (Hugo Server-D) 来测试您的更新 和编辑,推送到本地分支,构建到暂存,然后推送到 您的“实时”网站(这将是主要网站)。

所以总而言之:本地分支,在你的 compu 上测试 - 快乐 - 推送到你在 Github 中的分支 - 拉到暂存分支,构建,测试,确保看起来不错(放大、github 页面,无论你使用什么),然后去 main - 它是实时的、外部的/全世界都可以访问的发布。

这只是一个想法。让我知道。以上之所以有效,是因为您已经从开发人员那里抽象了构建,并确保您可以剥离任何您想要的东西,仍然可以对其进行测试,然后在您满意时部署到您的实时版本。

这将使您的工作流程能够转移到 Amplify 或其他方面。

我不知道这是否有帮助,但这是一个不同的观点供参考。

评论

1赞 exocortex 5/30/2021
嘿,谢谢你的评论。我意识到我听不懂你使用的一半单词,所以问题实际上可能出在其他地方。我设法让它通过其他一些事情工作,现在我在其他地方仍然有一些问题。但我最初的问题是许多我不理解或不知不觉做错的事情的结果。因此,在stackoverflow上帮助其他人不是一个好问题。我稍后会删除这个问题,稍后会发布一个更精确的问题。但感谢您抽出宝贵时间。非常感谢!
0赞 Rogelio 5/31/2021
不是问题,我的意思是,有多少次困惑只是一个人不知道他不知道的东西,这难道不是迈向真正智慧的第一步吗?祝你好运!