shithub: hugo

Download patch

ref: ec23aa998a73ee0aaa31e1c98ac8474c3262b9ab
parent: 5f5fccbc36c1072150d1b665d9d9ef93a5401b82
author: Bjørn Erik Pedersen <[email protected]>
date: Sat Jul 30 13:16:04 EDT 2016

Load templates from the Afero source fs

Fixes #2321

--- a/tpl/template.go
+++ b/tpl/template.go
@@ -15,6 +15,12 @@
 
 import (
 	"fmt"
+	"html/template"
+	"io"
+	"os"
+	"path/filepath"
+	"strings"
+
 	"github.com/eknkc/amber"
 	"github.com/spf13/afero"
 	bp "github.com/spf13/hugo/bufferpool"
@@ -22,11 +28,6 @@
 	"github.com/spf13/hugo/hugofs"
 	jww "github.com/spf13/jwalterweatherman"
 	"github.com/yosssi/ace"
-	"html/template"
-	"io"
-	"os"
-	"path/filepath"
-	"strings"
 )
 
 var localTemplates *template.Template
@@ -376,7 +377,7 @@
 				jww.ERROR.Printf("Cannot read symbolic link '%s', error was: %s", absPath, err)
 				return nil
 			}
-			linkfi, err := os.Stat(link)
+			linkfi, err := hugofs.Source().Stat(link)
 			if err != nil {
 				jww.ERROR.Printf("Cannot stat '%s', error was: %s", link, err)
 				return nil
@@ -414,7 +415,7 @@
 
 				// This may be a view that shouldn't have base template
 				// Have to look inside it to make sure
-				needsBase, err := helpers.FileContainsAny(path, innerMarkers, hugofs.Os())
+				needsBase, err := helpers.FileContainsAny(path, innerMarkers, hugofs.Source())
 				if err != nil {
 					return err
 				}
@@ -442,7 +443,7 @@
 					}
 
 					for _, pathToCheck := range pathsToCheck {
-						if ok, err := helpers.Exists(pathToCheck, hugofs.Os()); err == nil && ok {
+						if ok, err := helpers.Exists(pathToCheck, hugofs.Source()); err == nil && ok {
 							baseTemplatePath = pathToCheck
 							break
 						}