Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tpl/lang
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2017-04-30 12:34:45 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2017-05-01 16:13:41 +0300
commitc5373efcf07aeb161324b3ce844d41a172da42bc (patch)
tree71e2616ea98ebd84f07dbb97ebaf87dc37bc62f1 /tpl/lang
parent8f95172c7af334f61d75faad74cc75016804eca6 (diff)
tpl: Add TemplateFuncsNamespaceRegistry
As a first step to remove the hard ties between `tplimpl` and the different namespace packages. The `lang` package is used as the first example use case. See #3042
Diffstat (limited to 'tpl/lang')
-rw-r--r--tpl/lang/init.go44
-rw-r--r--tpl/lang/lang.go6
2 files changed, 45 insertions, 5 deletions
diff --git a/tpl/lang/init.go b/tpl/lang/init.go
new file mode 100644
index 000000000..a902c7a66
--- /dev/null
+++ b/tpl/lang/init.go
@@ -0,0 +1,44 @@
+// 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 lang
+
+import (
+ "github.com/spf13/hugo/deps"
+ "github.com/spf13/hugo/tpl/internal"
+)
+
+const name = "lang"
+
+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{}{
+ "i18n": ctx.Translate,
+ "T": ctx.Translate,
+ },
+ Examples: examples,
+ }
+
+ }
+
+ internal.AddTemplateFuncsNamespace(f)
+}
diff --git a/tpl/lang/lang.go b/tpl/lang/lang.go
index 04d187603..cd6e7c563 100644
--- a/tpl/lang/lang.go
+++ b/tpl/lang/lang.go
@@ -31,6 +31,7 @@ type Namespace struct {
}
// Namespace returns a pointer to the current namespace instance.
+// TODO(bep) namespace remove this and other unused when done.
func (ns *Namespace) Namespace() *Namespace { return ns }
// Translate ...
@@ -42,8 +43,3 @@ func (ns *Namespace) Translate(id interface{}, args ...interface{}) (string, err
return ns.deps.Translate(sid, args...), nil
}
-
-// T is an alias to Translate.
-func (ns *Namespace) T(id interface{}, args ...interface{}) (string, error) {
- return ns.Translate(id, args...)
-}