From: Bjørn Erik Pedersen Date: Mon, 27 Mar 2017 08:25:29 +0000 (+0200) Subject: tplimpl: Fix lookup with non-standard layout folder X-Git-Tag: v0.20~62 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=492327368848bcf21cfd23d5490bc47b6ea44897;p=brevno-suite%2Fhugo tplimpl: Fix lookup with non-standard layout folder --- diff --git a/tpl/tplimpl/template.go b/tpl/tplimpl/template.go index 545d5994..ea12cde7 100644 --- a/tpl/tplimpl/template.go +++ b/tpl/tplimpl/template.go @@ -476,25 +476,23 @@ func (t *GoHTMLTemplate) loadTemplates(absPath string, prefix string) { return nil } - workingDir := t.PathSpec.WorkingDir() - themeDir := t.PathSpec.GetThemeDir() + var ( + workingDir = t.PathSpec.WorkingDir() + themeDir = t.PathSpec.GetThemeDir() + layoutDir = t.PathSpec.LayoutDir() + ) if themeDir != "" && strings.HasPrefix(absPath, themeDir) { workingDir = themeDir + layoutDir = "layouts" } - li := strings.LastIndex(path, t.PathSpec.LayoutDir()) + len(t.PathSpec.LayoutDir()) + 1 - - if li < 0 { - // Possibly a theme - li = strings.LastIndex(path, "layouts") + 8 - } - + li := strings.LastIndex(path, layoutDir) + len(layoutDir) + 1 relPath := path[li:] descriptor := output.TemplateLookupDescriptor{ WorkingDir: workingDir, - LayoutDir: t.PathSpec.LayoutDir(), + LayoutDir: layoutDir, RelPath: relPath, Prefix: prefix, Theme: t.PathSpec.Theme(), @@ -509,6 +507,7 @@ func (t *GoHTMLTemplate) loadTemplates(absPath string, prefix string) { tplID, err := output.CreateTemplateNames(descriptor) if err != nil { t.Log.ERROR.Printf("Failed to resolve template in path %q: %s", path, err) + return nil }