diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2022-01-11 15:07:04 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2022-01-11 18:06:23 +0100 |
commit | 7396aa945a6ea7720d5dc77414ff02a4cbef7dfa (patch) | |
tree | 9882f02947ea693da48bc5936ab5ab80314f304c /hugolib | |
parent | d82cef5c53903dc52a353b3bd67d7ee11c55e4a4 (diff) |
Add hugo.Deps
Fixes #8949
Diffstat (limited to 'hugolib')
-rw-r--r-- | hugolib/hugo_smoke_test.go | 2 | ||||
-rw-r--r-- | hugolib/site.go | 29 |
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) |