all: Use the configured output types to resolve template type

Closes #320
This commit is contained in:
Bjørn Erik Pedersen 2017-04-04 14:10:20 +02:00
parent 868f89d5c6
commit 7da1b65968
3 changed files with 9 additions and 4 deletions

4
deps/deps.go vendored
View file

@ -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:"-"`

View file

@ -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
}

View file

@ -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)
},