diff options
author | Bjørn Erik Pedersen <[email protected]> | 2017-04-30 22:43:26 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <[email protected]> | 2017-05-01 15:13:41 +0200 |
commit | fc77b6303c8aeda6362d7e2fc5d0fe52067c1a8d (patch) | |
tree | e3268c855b63c922d929404c06a90035bcf25e32 /tpl/inflect | |
parent | a432c90aee51b2f3ddd92b9c4f4cbe762f67adfc (diff) | |
download | hugo-fc77b6303c8aeda6362d7e2fc5d0fe52067c1a8d.tar.gz hugo-fc77b6303c8aeda6362d7e2fc5d0fe52067c1a8d.zip |
tpl/inflect: Make it a package that stands on its own
See #3042
Diffstat (limited to 'tpl/inflect')
-rw-r--r-- | tpl/inflect/init.go | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/tpl/inflect/init.go b/tpl/inflect/init.go new file mode 100644 index 000000000..b42ae5af3 --- /dev/null +++ b/tpl/inflect/init.go @@ -0,0 +1,50 @@ +// 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 inflect + +import ( + "github.com/spf13/hugo/deps" + "github.com/spf13/hugo/tpl/internal" +) + +const name = "inflect" + +func init() { + f := func(d *deps.Deps) *internal.TemplateFuncsNamespace { + ctx := New() + + examples := [][2]string{ + {`{{ humanize "my-first-post" }}`, `My first post`}, + {`{{ humanize "myCamelPost" }}`, `My camel post`}, + {`{{ humanize "52" }}`, `52nd`}, + {`{{ humanize 103 }}`, `103rd`}, + {`{{ "cat" | pluralize }}`, `cats`}, + {`{{ "cats" | singularize }}`, `cat`}, + } + + return &internal.TemplateFuncsNamespace{ + Name: name, + Context: func() interface{} { return ctx }, + Aliases: map[string]interface{}{ + "humanize": ctx.Humanize, + "pluralize": ctx.Pluralize, + "singularize": ctx.Singularize, + }, + Examples: examples, + } + + } + + internal.AddTemplateFuncsNamespace(f) +} |