diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2017-04-30 23:06:28 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2017-05-01 15:13:41 +0200 |
commit | 4a3463463fe55be8f57b1ef2217f9dd99ac9b839 (patch) | |
tree | d1a4af0529af2a31c8fa82307e68c24e08a04aca /tpl/safe | |
parent | b958c0c1091574d0bd8118045fdf421c7d946893 (diff) |
tpl/safe: Make it a package that stands on its own
See #3042
Diffstat (limited to 'tpl/safe')
-rw-r--r-- | tpl/safe/init.go | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/tpl/safe/init.go b/tpl/safe/init.go new file mode 100644 index 000000000..fc47c66a7 --- /dev/null +++ b/tpl/safe/init.go @@ -0,0 +1,54 @@ +// 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 safe + +import ( + "github.com/spf13/hugo/deps" + "github.com/spf13/hugo/tpl/internal" +) + +const name = "safe" + +func init() { + f := func(d *deps.Deps) *internal.TemplateFuncsNamespace { + ctx := New() + + examples := [][2]string{ + {`{{ "Bat&Man" | safeCSS | safeCSS }}`, `Bat&Man`}, + {`{{ "Bat&Man" | safeHTML | safeHTML }}`, `Bat&Man`}, + {`{{ "Bat&Man" | safeHTML }}`, `Bat&Man`}, + {`{{ "(1*2)" | safeJS | safeJS }}`, `(1*2)`}, + {`{{ "http://gohugo.io" | safeURL | safeURL }}`, `http://gohugo.io`}, + } + + return &internal.TemplateFuncsNamespace{ + Name: name, + Context: func() interface{} { return ctx }, + Aliases: map[string]interface{}{ + "safeCSS": ctx.CSS, + "safeHTML": ctx.HTML, + "safeHTMLAttr": ctx.HTMLAttr, + "safeJS": ctx.JS, + "safeJSStr": ctx.JSStr, + "safeURL": ctx.URL, + "sanitizeURL": ctx.SanitizeURL, + "sanitizeurl": ctx.SanitizeURL, + }, + Examples: examples, + } + + } + + internal.AddTemplateFuncsNamespace(f) +} |