From 492327368848bcf21cfd23d5490bc47b6ea44897 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Mon, 27 Mar 2017 10:25:29 +0200 Subject: [PATCH] tplimpl: Fix lookup with non-standard layout folder --- tpl/tplimpl/template.go | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/tpl/tplimpl/template.go b/tpl/tplimpl/template.go index 545d5994a..ea12cde7a 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 }