如何将模板与站点合并?

How to merge a template with a site?

Hugo works with themes one can download (or create from scratch)。它们位于站点根目录的子文件夹中(即 themes)。

在阅读customizing themes并一起玩时,我意识到一个主题再现了根站点的结构(它有layoutstatic和类似的文件夹,与根站点)。

是否可以(并且不气馁)将主题复制到站点的根目录并从那里自定义它?

我知道我将失去更新主题的能力,但这应该不重要,因为无论如何我都会大量更新它。为了完整起见,我实际上做了副本并且我的网站没有改变(它现在构建时没有 --theme=)但这可能只是运气(或气馁的做法)

这是可能的,是的。主题中的主要文件夹(layoutsstaticarchetypesdatai18n)可以复制到根站点文件夹而无需任何更改在功能上。您复制的其他文件夹将被忽略(例如 exampleSite)。根目录中的大多数文件(例如 theme.toml)也将被忽略。所以你应该能够复制所有东西并让它正常工作,除非主题作者决定在他们的 repo 中放置 config.tomlcontent 目录。

然而,修改主题最简单的方法可能是将 git 存储库克隆到主题目录中,在 git 中创建一个新分支,然后在那里进行修改。这样您就可以使用 git 将主存储库中的任何更改合并到您的版本中。如果没有 git,这需要做更多的工作。它还可以更轻松地将您的自定义主题换成另一个主题 - 只需将新主题添加到主题目录并更改您的 config.toml.