From a432c90aee51b2f3ddd92b9c4f4cbe762f67adfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Sun, 30 Apr 2017 22:36:26 +0200 Subject: [PATCH] tpl/images: Make it a package that stands on its own See #3042 --- tpl/images/init.go | 43 +++++++++++++++++++++++++++++++++ tpl/tplimpl/templateFuncster.go | 3 --- tpl/tplimpl/template_funcs.go | 3 +-- 3 files changed, 44 insertions(+), 5 deletions(-) create mode 100644 tpl/images/init.go diff --git a/tpl/images/init.go b/tpl/images/init.go new file mode 100644 index 000000000..0c2cb57c4 --- /dev/null +++ b/tpl/images/init.go @@ -0,0 +1,43 @@ +// Copyright 2017 The Hugo Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package images + +import ( + "github.com/spf13/hugo/deps" + "github.com/spf13/hugo/tpl/internal" +) + +const name = "images" + +func init() { + f := func(d *deps.Deps) *internal.TemplateFuncsNamespace { + ctx := New(d) + + examples := [][2]string{ + {}, + } + + return &internal.TemplateFuncsNamespace{ + Name: name, + Context: func() interface{} { return ctx }, + Aliases: map[string]interface{}{ + "imageConfig": ctx.Config, + }, + Examples: examples, + } + + } + + internal.AddTemplateFuncsNamespace(f) +} diff --git a/tpl/tplimpl/templateFuncster.go b/tpl/tplimpl/templateFuncster.go index 79a9f29ad..5b2594cdc 100644 --- a/tpl/tplimpl/templateFuncster.go +++ b/tpl/tplimpl/templateFuncster.go @@ -21,7 +21,6 @@ import ( bp "github.com/spf13/hugo/bufferpool" "github.com/spf13/hugo/deps" - "github.com/spf13/hugo/tpl/images" "github.com/spf13/hugo/tpl/inflect" "github.com/spf13/hugo/tpl/os" "github.com/spf13/hugo/tpl/safe" @@ -36,7 +35,6 @@ type templateFuncster struct { cachedPartials partialCache // Namespaces - images *images.Namespace inflect *inflect.Namespace os *os.Namespace safe *safe.Namespace @@ -53,7 +51,6 @@ func newTemplateFuncster(deps *deps.Deps) *templateFuncster { cachedPartials: partialCache{p: make(map[string]interface{})}, // Namespaces - images: images.New(deps), inflect: inflect.New(), os: os.New(deps), safe: safe.New(), diff --git a/tpl/tplimpl/template_funcs.go b/tpl/tplimpl/template_funcs.go index 0f855787c..cc9711fa9 100644 --- a/tpl/tplimpl/template_funcs.go +++ b/tpl/tplimpl/template_funcs.go @@ -29,6 +29,7 @@ import ( _ "github.com/spf13/hugo/tpl/crypto" _ "github.com/spf13/hugo/tpl/data" _ "github.com/spf13/hugo/tpl/encoding" + _ "github.com/spf13/hugo/tpl/images" _ "github.com/spf13/hugo/tpl/lang" _ "github.com/spf13/hugo/tpl/math" _ "github.com/spf13/hugo/tpl/strings" @@ -85,7 +86,6 @@ func (t *templateFuncster) partialCached(name string, context interface{}, varia func (t *templateFuncster) initFuncMap() { funcMap := template.FuncMap{ // Namespaces - "images": t.images.Namespace, "inflect": t.inflect.Namespace, "os": t.os.Namespace, "safe": t.safe.Namespace, @@ -102,7 +102,6 @@ func (t *templateFuncster) initFuncMap() { "htmlEscape": t.transform.HTMLEscape, "htmlUnescape": t.transform.HTMLUnescape, "humanize": t.inflect.Humanize, - "imageConfig": t.images.Config, "int": func(v interface{}) (int, error) { return cast.ToIntE(v) }, "markdownify": t.transform.Markdownify, "now": t.time.Now,