雨果主题子模块标记为脏,不会更新

时间:2020-04-29 15:40:03

标签: themes git-submodules hugo

我将Hugo Whiteplain theme用于通过Netlify托管的个人站点。我正在学习教程。当我在GitHub Desktop上推送/发布时,我被告知我的git子模块很脏。结果,我无法更改主题的背景颜色。

[submodule "themes/whiteplain"]
    path = themes/whiteplain
    url = https://github.com/taikii/whiteplain.git

我该怎么做才能重新获得对主题的控制?我可以在不依赖此肮脏子模块的情况下更改颜色吗?

1 个答案:

答案 0 :(得分:1)

有很多方法可以自定义主题(例如,直接编辑主题并使其脱离原始项目,创建派生并将其用作主题,以便在开发自己的主题时从原始项目中获取更新,等)。

但是,一种选择是不要触碰主题,而是按照相同的路径结构在网站本身内部复制要编辑的任何文件,然后编辑该文件。对于您的网站和主题中都存在的任何自定义文件中的任何元素(布局,css,scss等),Hugo都会使用您网站中的内容。但是,如果网站中没有内容,Hugo将使用主题中的内容(因此,您不必复制整个主题,而只需复制您要自定义的主题)。

如果使用此方法,并且将主题设置为Git submodule manual之后的子模块,则不会有任何肮脏的子模块问题。

现在,“在您的站点中”是什么意思?这是一个示例:

假设您要编辑主题的背景色,并且该变量在以下的scss文件中定义:

your_site
  + themes
    + theme_name
      + assets
        + scss
          _content.scss

您需要在以下位置创建文件:

your_site
  + assets
    + scss
      _content.scss

在该文件中,您可以根据需要自定义背景色。

正如我在顶部写的那样,这不是实现此目的的唯一方法,而是一种可以轻松自定义主题而不直接接触主题的方法,从而使主题子模块的维护非常容易。 / p>