diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2018-07-31 11:35:38 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2018-07-31 13:28:15 +0200 |
commit | 0ba19c57f180c33b41c64335ea1d1c89335d34c0 (patch) | |
tree | df2ca707664574f34eedb3234a781258a01a477c /tpl/templates/init.go | |
parent | 0afa2897a0cf90f4348929ef432202efddc183a0 (diff) |
tpl/partials: Add templates.Exists
Fixes #5010
Diffstat (limited to 'tpl/templates/init.go')
-rw-r--r-- | tpl/templates/init.go | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/tpl/templates/init.go b/tpl/templates/init.go new file mode 100644 index 000000000..a68809e65 --- /dev/null +++ b/tpl/templates/init.go @@ -0,0 +1,44 @@ +// Copyright 2018 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 partials + +import ( + "github.com/gohugoio/hugo/deps" + "github.com/gohugoio/hugo/tpl/internal" +) + +const name = "templates" + +func init() { + f := func(d *deps.Deps) *internal.TemplateFuncsNamespace { + ctx := New(d) + + ns := &internal.TemplateFuncsNamespace{ + Name: name, + Context: func(args ...interface{}) interface{} { return ctx }, + } + + ns.AddMethodMapping(ctx.Exists, + nil, + [][2]string{{`{{ if (templates.Exists "partials/header.html") }}Yes!{{ end }}`, `Yes!`}, + {`{{ if not (templates.Exists "partials/doesnotexist.html") }}No!{{ end }}`, `No!`}, + }, + ) + + return ns + + } + + internal.AddTemplateFuncsNamespace(f) +} |