Skip to content

Commit 7e88f1f

Browse files
committed
GetPage etc.
1 parent b013e7a commit 7e88f1f

File tree

2 files changed

+37
-7
lines changed

2 files changed

+37
-7
lines changed

‎hugolib/site.go‎

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -338,10 +338,6 @@ func NewHugoSites(cfg deps.DepsCfg) (*HugoSites, error) {
338338
s.Deps = d
339339
}
340340

341-
s.siteRefLinker, err = newSiteRefLinker(s)
342-
if err != nil {
343-
return nil, err
344-
}
345341
// Set up the main publishing chain.
346342
pub, err := publisher.NewDestinationPublisher(
347343
firstSiteDeps.ResourceSpec,
@@ -396,6 +392,7 @@ func NewHugoSites(cfg deps.DepsCfg) (*HugoSites, error) {
396392
siteVersionRoles[types.Ints2{i, j}] = append(siteVersionRoles[types.Ints2{i, j}], vrs.role)
397393
vrs.pageMap = newPageMap(vrs, memCache, pageTrees)
398394
vrs.pageFinder = newPageFinder(vrs.pageMap)
395+
vrs.siteRefLinker = newSiteRefLinker(vrs)
399396
vrs.prepareInits()
400397
v2[k] = vrs
401398
}
@@ -974,15 +971,15 @@ type siteRefLinker struct {
974971
notFoundURL string
975972
}
976973

977-
func newSiteRefLinker(s *Site) (siteRefLinker, error) {
974+
func newSiteRefLinker(s *Site) siteRefLinker {
978975
logger := s.Log.Error()
979976

980977
notFoundURL := s.conf.RefLinksNotFoundURL
981978
errLevel := s.conf.RefLinksErrorLevel
982979
if strings.EqualFold(errLevel, "warning") {
983980
logger = s.Log.Warn()
984981
}
985-
return siteRefLinker{s: s, errorLogger: logger, notFoundURL: notFoundURL}, nil
982+
return siteRefLinker{s: s, errorLogger: logger, notFoundURL: notFoundURL}
986983
}
987984

988985
func (s siteRefLinker) logNotFound(ref, what string, p page.Page, position text.Position) {

‎hugolib/sitesmatrix/sitematrix_integration_test.go‎

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,8 +267,9 @@ tags: {{ range $term, $taxonomy := .Site.Taxonomies.tags }}{{ $term }}: {{ range
267267
}
268268
}
269269

270-
const filesVariationsSitesMatrix = `
270+
const filesVariationsSitesMatrixBase = `
271271
-- hugo.toml --
272+
baseURL = "https://example.org/"
272273
disableKinds = ["rss", "sitemap", "section"]
273274
defaultContentLanguage = "en"
274275
defaultContentLanguageInSubDir = true
@@ -313,6 +314,8 @@ target = 'content'
313314
title: "English Home"
314315
tags: ["tag1"]
315316
---
317+
318+
Ref home: {{< ref "/" >}}|
316319
-- content/en/p1.md --
317320
---
318321
title: "English p1"
@@ -322,6 +325,11 @@ title: "English p1"
322325
title: "Nynorsk Heim"
323326
tags: ["tag2"]
324327
---
328+
329+
Ref home: {{< ref "/" >}}|
330+
`
331+
332+
const filesVariationsSitesMatrix = filesVariationsSitesMatrixBase + `
325333
-- layouts/all.html --
326334
title: {{ .Title }}|
327335
tags: {{ range $term, $taxonomy := .Site.Taxonomies.tags }}{{ $term }}: {{ range $taxonomy.Pages }}{{ .Title }}: {{ .RelPermalink}}|{{ end }}{{ end }}$
@@ -373,6 +381,31 @@ sites:
373381
b.AssertFileContent("public/guest/v1.4.0/en/p2/index.html", "title: EN p2|")
374382
}
375383

384+
func TestGetPageAndRef(t *testing.T) {
385+
t.Parallel()
386+
387+
files := filesVariationsSitesMatrixBase + `
388+
-- layouts/all.html --
389+
Title: {{ .Title }}|
390+
Home: {{ with .Site.GetPage "/" }}{{ with .Site }}Language: {{ .Language.Name }}|Version: {{ .Version.Name }}|Role: {{ .Role.Name }}{{ end }}|{{ end }}$
391+
Content: {{ .Content }}$
392+
`
393+
394+
b := hugolib.Test(t, files)
395+
b.AssertFileContent(
396+
"public/guest/v2.0.0/en/index.html", "Home: Language: en|Version: v2.0.0|Role: guest|$",
397+
"Ref home: https://example.org/guest/v2.0.0/en/|",
398+
)
399+
b.AssertFileContent(
400+
"public/member/v1.4.0/nn/index.html", "Home: Language: nn|Version: v1.4.0|Role: member|$",
401+
)
402+
403+
b.AssertFileContent(
404+
"public/guest/v1.2.3/nn/index.html", "Home: Language: nn|Version: v1.2.3|Role: guest|$",
405+
"Ref home: https://example.org/guest/v1.2.3/nn/|",
406+
)
407+
}
408+
376409
func TestFrontMatterSitesMatrixShouldBeMergedWithMount(t *testing.T) {
377410
t.Parallel()
378411

0 commit comments

Comments
 (0)