diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2017-03-08 13:45:33 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2017-03-27 15:43:56 +0200 |
commit | c8fff9501d424882a42f750800d9982ec47df640 (patch) | |
tree | 03b49241a12ddcf98212959b8e3c7f954ae94685 /hugolib/page.go | |
parent | 3ec5fc35043639e7592819014180666b1a8e926b (diff) |
Implement the first generic JSON output testcase
Diffstat (limited to 'hugolib/page.go')
-rw-r--r-- | hugolib/page.go | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/hugolib/page.go b/hugolib/page.go index 17d3e9af6..8efe78225 100644 --- a/hugolib/page.go +++ b/hugolib/page.go @@ -851,8 +851,13 @@ func (p *Page) createPermalink() (*url.URL, error) { func (p *Page) Extension() string { if p.extension != "" { + // TODO(bep) output remove/deprecate this return p.extension } + // + // TODO(bep) return p.outputType.MediaType.Suffix + + // TODO(bep) remove this config option => return p.s.Cfg.GetString("defaultExtension") } @@ -1025,6 +1030,20 @@ func (p *Page) update(f interface{}) error { if err != nil { p.s.Log.ERROR.Printf("Failed to parse lastmod '%v' in page %s", v, p.File.Path()) } + case "outputs": + outputs := cast.ToStringSlice(v) + if len(outputs) > 0 { + // Output types are exlicitly set in front matter, use those. + outTypes, err := output.GetTypes(outputs...) + if err != nil { + p.s.Log.ERROR.Printf("Failed to resolve output types: %s", err) + } else { + p.outputTypes = outTypes + p.Params[loki] = outTypes + } + + } + //p.Params[loki] = p.Keywords case "publishdate", "pubdate": p.PublishDate, err = cast.ToTimeE(v) if err != nil { @@ -1545,7 +1564,8 @@ func (p *Page) prepareLayouts() error { if p.Kind == KindPage { var layouts []string if !p.IsRenderable() { - self := "__" + p.TargetPath() + // TODO(bep) output + self := "__" + p.UniqueID() _, err := p.s.Tmpl.GetClone().New(self).Parse(string(p.Content)) if err != nil { return err |