【问题标题】:Hugo theme submodule marked as dirty, doesn't update雨果主题子模块标记为脏,不更新
【发布时间】:2021-03-05 04:45:48
【问题描述】:

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

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

我该怎么做才能重新控制我的主题?我可以在不依赖这个脏子模块的情况下改变颜色吗?

【问题讨论】:

  • 请添加您收到的错误

标签: themes git-submodules hugo


【解决方案1】:

有很多方法可以自定义 Hugo 主题。例如,您可以:

  • 直接编辑主题,让它脱离原始项目,
  • 创建一个 fork 并将其用作主题以便能够拉取更新 在开发自己的版本时从原始主题出发,
  • 在网站内部编辑主题。

最后一个选项意味着您不会触及主题本身,而是在您的网站树中复制您想要编辑的任何文件,遵循相同的路径结构,然后编辑该文件。

对于同时存在于您网站树下和主题树下的任何自定义文件(布局、css、scss 等)的任何元素,Hugo 将优先考虑树下文件中的元素网站。

对于您网站树中不存在的任何元素,Hugo 将使用主题树中的元素。这意味着您不必复制网站中的整个主题甚至整个文件,而只需复制您想要自定义的元素。

如果您选择这种方法,并且如果您将主题设置为Git submodule manual 之后的子模块,您将永远不会陷入脏子模块的情况。

示例

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

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

你需要保留树结构并在下面创建一个文件:

your_site
  + assets
    + scss
      _content.scss

您可以从头开始创建文件,但更简单的选择是从主题复制文件并将其粘贴到那里。在该文件中,您可以随意自定义背景颜色(或任何其他设置)。

注意

我发现这种自定义主题的方式(实际上是 Hugo 文档中建议的方式)是最简单的。

此方法不是最佳的一种情况是,如果您计划为多个网站使用同一个主题的自定义版本。在这种情况下,创建原始主题的分支更有意义,因为您可以将自定义主题(您的分支)添加为所有这些网站的子模块,因此您的自定义是可移植的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    • 1970-01-01
    • 2019-01-29
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    相关资源
    最近更新 更多