diff --git a/deps/deps.go b/deps/deps.go index 188863876..99763c115 100644 --- a/deps/deps.go +++ b/deps/deps.go @@ -8,6 +8,7 @@ import ( "github.com/spf13/hugo/config" "github.com/spf13/hugo/helpers" "github.com/spf13/hugo/hugofs" + "github.com/spf13/hugo/output" "github.com/spf13/hugo/tpl" jww "github.com/spf13/jwalterweatherman" ) @@ -39,6 +40,9 @@ type Deps struct { Language *helpers.Language + // All the output formats available for the current site. + OutputFormatsConfig output.Formats + templateProvider ResourceProvider WithTemplate func(templ tpl.TemplateHandler) error `json:"-"` diff --git a/hugolib/hugo_sites.go b/hugolib/hugo_sites.go index 491bbd809..9ef2dc91e 100644 --- a/hugolib/hugo_sites.go +++ b/hugolib/hugo_sites.go @@ -101,6 +101,7 @@ func applyDepsIfNeeded(cfg deps.DepsCfg, sites ...*Site) error { return err } + d.OutputFormatsConfig = s.outputFormatsConfig s.Deps = d if err = d.LoadResources(); err != nil { @@ -112,6 +113,7 @@ func applyDepsIfNeeded(cfg deps.DepsCfg, sites ...*Site) error { if err != nil { return err } + d.OutputFormatsConfig = s.outputFormatsConfig s.Deps = d } diff --git a/tpl/tplimpl/template.go b/tpl/tplimpl/template.go index 68528a775..c14d24146 100644 --- a/tpl/tplimpl/template.go +++ b/tpl/tplimpl/template.go @@ -276,8 +276,7 @@ func (t *textTemplates) setFuncs(funcMap map[string]interface{}) { // A prefix can be given to indicate a template namespace to load the templates // into, i.e. "_internal" etc. func (t *templateHandler) LoadTemplates(absPath, prefix string) { - // TODO(bep) output formats. Will have to get to complete list when that is ready. - t.loadTemplates(absPath, prefix, output.Formats{output.HTMLFormat, output.RSSFormat, output.CalendarFormat, output.AMPFormat, output.JSONFormat}) + t.loadTemplates(absPath, prefix) } @@ -376,7 +375,7 @@ func (t *templateHandler) RebuildClone() { t.text.clone = texttemplate.Must(t.text.cloneClone.Clone()) } -func (t *templateHandler) loadTemplates(absPath string, prefix string, formats output.Formats) { +func (t *templateHandler) loadTemplates(absPath string, prefix string) { t.Log.DEBUG.Printf("Load templates from path %q prefix %q", absPath, prefix) walker := func(path string, fi os.FileInfo, err error) error { if err != nil { @@ -428,7 +427,7 @@ func (t *templateHandler) loadTemplates(absPath string, prefix string, formats o RelPath: relPath, Prefix: prefix, Theme: t.PathSpec.Theme(), - OutputFormats: formats, + OutputFormats: t.OutputFormatsConfig, FileExists: func(filename string) (bool, error) { return helpers.Exists(filename, t.Fs.Source) },