# Twitter: https://twitter.com/gohugoio
# Website: https://gohugo.io/
-ARG GO_VERSION="1.24.0"
+ARG GO_VERSION="1.24"
ARG ALPINE_VERSION="3.22"
ARG DART_SASS_VERSION="1.79.3"
COPY --from=xx / /
ARG TARGETPLATFORM
-RUN xx-apk add musl-dev gcc g++
+RUN xx-apk add musl-dev gcc g++
# Optionally set HUGO_BUILD_TAGS to "none" or "withdeploy" when building like so:
# docker build --build-arg HUGO_BUILD_TAGS=withdeploy .
adduser -Sg hugo -u 1000 -h /var/hugo hugo && \
chown -R hugo: /var/hugo /cache && \
# For the Hugo's Git integration to work.
- runuser -u hugo -- git config --global --add safe.directory /project && \
+ runuser -u hugo -- git config --global --add safe.directory /project && \
# See https://github.com/gohugoio/hugo/issues/9810
runuser -u hugo -- git config --global core.quotepath false
WarnRenderShortcodesInHTML = "warning-rendershortcodes-in-html"
WarnGoldmarkRawHTML = "warning-goldmark-raw-html"
WarnPartialSuperfluousPrefix = "warning-partial-superfluous-prefix"
+ WarnHomePageIsLeafBundle = "warning-home-page-is-leaf-bundle"
)
// Field/method names with special meaning.
"github.com/gohugoio/hugo/hugofs/files"
"github.com/gohugoio/hugo/resources"
+ "github.com/gohugoio/hugo/common/constants"
"github.com/gohugoio/hugo/common/maps"
"github.com/gohugoio/hugo/common/paths"
// Make sure that any partially created page part is marked as stale.
m.MarkStale()
}
+
+ if p != nil && pth != nil && p.IsHome() && pth.IsLeafBundle() {
+ msg := "Using %s in your content's root directory is usually incorrect for your home page. "
+ msg += "You should use %s instead. If you don't rename this file, your home page will be "
+ msg += "treated as a leaf bundle, meaning it won't be able to have any child pages or sections."
+ h.Log.Warnidf(constants.WarnHomePageIsLeafBundle, msg, pth.PathNoLeadingSlash(), strings.ReplaceAll(pth.PathNoLeadingSlash(), "index", "_index"))
+ }
+
return p, pth, err
}
"deprecated: path in front matter was deprecated",
)
}
+
+// Issue 13538
+func TestHomePageIsLeafBundle(t *testing.T) {
+ t.Parallel()
+
+ files := `
+-- hugo.toml --
+defaultContentLanguage = 'de'
+defaultContentLanguageInSubdir = true
+[languages.de]
+weight = 1
+[languages.en]
+weight = 2
+-- layouts/all.html --
+{{ .Title }}
+-- content/index.de.md --
+---
+title: home de
+---
+-- content/index.en.org --
+---
+title: home en
+---
+`
+
+ b := Test(t, files, TestOptWarn())
+
+ b.AssertFileContent("public/de/index.html", "home de")
+ b.AssertFileContent("public/en/index.html", "home en")
+ b.AssertLogContains("Using index.de.md in your content's root directory is usually incorrect for your home page. You should use _index.de.md instead.")
+ b.AssertLogContains("Using index.en.org in your content's root directory is usually incorrect for your home page. You should use _index.en.org instead.")
+}