summaryrefslogtreecommitdiffstats
path: root/hugolib
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2022-01-11 15:07:04 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2022-01-11 18:06:23 +0100
commit7396aa945a6ea7720d5dc77414ff02a4cbef7dfa (patch)
tree9882f02947ea693da48bc5936ab5ab80314f304c /hugolib
parentd82cef5c53903dc52a353b3bd67d7ee11c55e4a4 (diff)
Add hugo.Deps
Fixes #8949
Diffstat (limited to 'hugolib')
-rw-r--r--hugolib/hugo_smoke_test.go2
-rw-r--r--hugolib/site.go29
2 files changed, 29 insertions, 2 deletions
diff --git a/hugolib/hugo_smoke_test.go b/hugolib/hugo_smoke_test.go
index 798504f0d..46aecf9cc 100644
--- a/hugolib/hugo_smoke_test.go
+++ b/hugolib/hugo_smoke_test.go
@@ -162,7 +162,7 @@ Some **Markdown** in JSON shortcode.
b.WithContent("blog/mybundle/mydata.csv", "Bundled CSV")
const (
- commonPageTemplate = `|{{ .Kind }}|{{ .Title }}|{{ .Path }}|{{ .Summary }}|{{ .Content }}|RelPermalink: {{ .RelPermalink }}|WordCount: {{ .WordCount }}|Pages: {{ .Pages }}|Data Pages: Pages({{ len .Data.Pages }})|Resources: {{ len .Resources }}|Summary: {{ .Summary }}`
+ commonPageTemplate = `|{{ .Kind }}|{{ .Title }}|{{ .File.Path }}|{{ .Summary }}|{{ .Content }}|RelPermalink: {{ .RelPermalink }}|WordCount: {{ .WordCount }}|Pages: {{ .Pages }}|Data Pages: Pages({{ len .Data.Pages }})|Resources: {{ len .Resources }}|Summary: {{ .Summary }}`
commonPaginatorTemplate = `|Paginator: {{ with .Paginator }}{{ .PageNumber }}{{ else }}NIL{{ end }}`
commonListTemplateNoPaginator = `|{{ $pages := .Pages }}{{ if .IsHome }}{{ $pages = .Site.RegularPages }}{{ end }}{{ range $i, $e := ($pages | first 1) }}|Render {{ $i }}: {{ .Kind }}|{{ .Render "li" }}|{{ end }}|Site params: {{ $.Site.Params.hugo }}|RelPermalink: {{ .RelPermalink }}`
commonListTemplate = commonPaginatorTemplate + `|{{ $pages := .Pages }}{{ if .IsHome }}{{ $pages = .Site.RegularPages }}{{ end }}{{ range $i, $e := ($pages | first 1) }}|Render {{ $i }}: {{ .Kind }}|{{ .Render "li" }}|{{ end }}|Site params: {{ $.Site.Params.hugo }}|RelPermalink: {{ .RelPermalink }}`
diff --git a/hugolib/site.go b/hugolib/site.go
index 624630d80..13d5482b1 100644
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -31,6 +31,7 @@ import (
"time"
"github.com/gohugoio/hugo/common/types"
+ "github.com/gohugoio/hugo/modules"
"golang.org/x/text/unicode/norm"
"github.com/gohugoio/hugo/common/paths"
@@ -1333,6 +1334,32 @@ func (s *Site) initializeSiteInfo() error {
}
}
+ // Assemble dependencies to be used in hugo.Deps.
+ // TODO(bep) another reminder: We need to clean up this Site vs HugoSites construct.
+ var deps []*hugo.Dependency
+ var depFromMod func(m modules.Module) *hugo.Dependency
+ depFromMod = func(m modules.Module) *hugo.Dependency {
+ dep := &hugo.Dependency{
+ Path: m.Path(),
+ Version: m.Version(),
+ Time: m.Time(),
+ Vendor: m.Vendor(),
+ }
+
+ // These are pointers, but this all came from JSON so there's no recursive navigation,
+ // so just create new values.
+ if m.Replace() != nil {
+ dep.Replace = depFromMod(m.Replace())
+ }
+ if m.Owner() != nil {
+ dep.Owner = depFromMod(m.Owner())
+ }
+ return dep
+ }
+ for _, m := range s.Paths.AllModules {
+ deps = append(deps, depFromMod(m))
+ }
+
s.Info = &SiteInfo{
title: lang.GetString("title"),
Author: lang.GetStringMap("author"),
@@ -1351,7 +1378,7 @@ func (s *Site) initializeSiteInfo() error {
permalinks: permalinks,
owner: s.h,
s: s,
- hugoInfo: hugo.NewInfo(s.Cfg.GetString("environment")),
+ hugoInfo: hugo.NewInfo(s.Cfg.GetString("environment"), deps),
}
rssOutputFormat, found := s.outputFormats[page.KindHome].GetByName(output.RSSFormat.Name)