diff --git a/hugolib/page.go b/hugolib/page.go
index 0c66c2154..206652334 100644
--- a/hugolib/page.go
+++ b/hugolib/page.go
@@ -28,7 +28,6 @@ import (
"github.com/spf13/cast"
"github.com/spf13/hugo/helpers"
"github.com/spf13/hugo/parser"
- "github.com/spf13/hugo/template/bundle"
jww "github.com/spf13/jwalterweatherman"
"github.com/spf13/viper"
"github.com/theplant/blackfriday"
@@ -49,7 +48,7 @@ type Page struct {
contentType string
Draft bool
Aliases []string
- Tmpl bundle.Template
+ Tmpl Template
Markup string
renderable bool
layout string
@@ -519,7 +518,7 @@ func (page *Page) parse(reader io.Reader) error {
return nil
}
-func (p *Page) ProcessShortcodes(t bundle.Template) {
+func (p *Page) ProcessShortcodes(t Template) {
p.rawContent = []byte(ShortcodesHandle(string(p.rawContent), p, t))
p.Summary = template.HTML(ShortcodesHandle(string(p.Summary), p, t))
}
diff --git a/template/bundle/path_seperators_windows_test.go b/hugolib/path_seperators_windows_test.go
similarity index 96%
rename from template/bundle/path_seperators_windows_test.go
rename to hugolib/path_seperators_windows_test.go
index e5f168b4f..5cdd7c5f6 100644
--- a/template/bundle/path_seperators_windows_test.go
+++ b/hugolib/path_seperators_windows_test.go
@@ -1,4 +1,4 @@
-package bundle
+package hugolib
import (
"testing"
diff --git a/hugolib/shortcode.go b/hugolib/shortcode.go
index 92e81195e..67204b740 100644
--- a/hugolib/shortcode.go
+++ b/hugolib/shortcode.go
@@ -20,7 +20,6 @@ import (
"strings"
"unicode"
- "github.com/spf13/hugo/template/bundle"
jww "github.com/spf13/jwalterweatherman"
)
@@ -78,7 +77,7 @@ func (scp *ShortcodeWithPage) Get(key interface{}) interface{} {
type Shortcodes map[string]ShortcodeFunc
-func ShortcodesHandle(stringToParse string, p *Page, t bundle.Template) string {
+func ShortcodesHandle(stringToParse string, p *Page, t Template) string {
leadStart := strings.Index(stringToParse, `{{%`)
if leadStart >= 0 {
leadEnd := strings.Index(stringToParse[leadStart:], `%}}`) + leadStart
@@ -147,7 +146,7 @@ func FindEnd(str string, name string) (int, int) {
return startPos, endPos
}
-func GetTemplate(name string, t bundle.Template) *template.Template {
+func GetTemplate(name string, t Template) *template.Template {
if x := t.Lookup("shortcodes/" + name + ".html"); x != nil {
return x
}
diff --git a/hugolib/site.go b/hugolib/site.go
index 050eaafbf..20d03cb01 100644
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -27,7 +27,6 @@ import (
"github.com/spf13/hugo/helpers"
"github.com/spf13/hugo/source"
"github.com/spf13/hugo/target"
- "github.com/spf13/hugo/template/bundle"
"github.com/spf13/hugo/transform"
jww "github.com/spf13/jwalterweatherman"
"github.com/spf13/nitro"
@@ -57,7 +56,7 @@ var DefaultTimer *nitro.B
// 5. The entire collection of files is written to disk.
type Site struct {
Pages Pages
- Tmpl bundle.Template
+ Tmpl Template
Taxonomies TaxonomyList
Source source.Input
Sections Taxonomy
@@ -72,19 +71,20 @@ type Site struct {
}
type SiteInfo struct {
- BaseUrl template.URL
- Taxonomies TaxonomyList
- Indexes *TaxonomyList // legacy, should be identical to Taxonomies
- Recent *Pages
- Title string
- Author string
- AuthorEmail string
- LanguageCode string
- Copyright string
- LastChange time.Time
- ConfigGet func(key string) interface{}
- Permalinks PermalinkOverrides
- Params map[string]interface{}
+ BaseUrl template.URL
+ Taxonomies TaxonomyList
+ Indexes *TaxonomyList // legacy, should be identical to Taxonomies
+ Recent *Pages
+ Title string
+ Author map[string]string
+ LanguageCode string
+ DisqusShortname string
+ Copyright string
+ LastChange time.Time
+ ConfigGet func(key string) interface{}
+ Permalinks PermalinkOverrides
+ Params map[string]interface{}
+}
}
type runmode struct {
@@ -130,7 +130,7 @@ func (s *Site) Analyze() {
}
func (s *Site) prepTemplates() {
- s.Tmpl = bundle.NewTemplate()
+ s.Tmpl = NewTemplate()
s.Tmpl.LoadTemplates(s.absLayoutDir())
if s.hasTheme() {
s.Tmpl.LoadTemplatesWithPrefix(s.absThemeDir()+"/layouts", "theme")
@@ -234,16 +234,16 @@ func (s *Site) initializeSiteInfo() {
permalinks = make(PermalinkOverrides)
}
- s.Info = SiteInfo{
- BaseUrl: template.URL(helpers.SanitizeUrl(viper.GetString("BaseUrl"))),
- Title: viper.GetString("Title"),
- Author: viper.GetString("author"),
- AuthorEmail: viper.GetString("authoremail"),
- LanguageCode: viper.GetString("languagecode"),
- Copyright: viper.GetString("copyright"),
- Recent: &s.Pages,
- Params: params,
- Permalinks: permalinks,
+ s.Info = &SiteInfo{
+ BaseUrl: template.URL(helpers.SanitizeUrl(viper.GetString("BaseUrl"))),
+ Title: viper.GetString("Title"),
+ Author: viper.GetStringMapString("author"),
+ LanguageCode: viper.GetString("languagecode"),
+ Copyright: viper.GetString("copyright"),
+ DisqusShortname: viper.GetString("DisqusShortname"),
+ Recent: &s.Pages,
+ Params: params,
+ Permalinks: permalinks,
}
}
diff --git a/template/bundle/template.go b/hugolib/template.go
similarity index 97%
rename from template/bundle/template.go
rename to hugolib/template.go
index 30d24144b..f7bd52815 100644
--- a/template/bundle/template.go
+++ b/hugolib/template.go
@@ -1,4 +1,4 @@
-package bundle
+package hugolib
import (
"errors"
@@ -192,7 +192,11 @@ func (t *GoHtmlTemplate) LoadEmbedded() {
}
func (t *GoHtmlTemplate) AddInternalTemplate(prefix, name, tpl string) error {
- return t.AddTemplate("_internal/"+prefix+"/"+name, tpl)
+ if prefix != "" {
+ return t.AddTemplate("_internal/"+prefix+"/"+name, tpl)
+ } else {
+ return t.AddTemplate("_internal/"+name, tpl)
+ }
}
func (t *GoHtmlTemplate) AddInternalShortcode(name, content string) error {
diff --git a/template/bundle/embedded.go b/hugolib/template_embedded.go
similarity index 67%
rename from template/bundle/embedded.go
rename to hugolib/template_embedded.go
index 45e182b7a..2555f9a21 100644
--- a/template/bundle/embedded.go
+++ b/hugolib/template_embedded.go
@@ -11,7 +11,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package bundle
+package hugolib
type Tmpl struct {
Name string
@@ -49,7 +49,7 @@ func (t *GoHtmlTemplate) EmbedTemplates() {