templates.go (1288B)
1 // Copyright 2018 The Hugo Authors. All rights reserved.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 // http://www.apache.org/licenses/LICENSE-2.0
7 //
8 // Unless required by applicable law or agreed to in writing, software
9 // distributed under the License is distributed on an "AS IS" BASIS,
10 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 // See the License for the specific language governing permissions and
12 // limitations under the License.
13
14 // Package templates provides template functions for working with templates.
15 package templates
16
17 import (
18 "github.com/gohugoio/hugo/deps"
19 )
20
21 // New returns a new instance of the templates-namespaced template functions.
22 func New(deps *deps.Deps) *Namespace {
23 return &Namespace{
24 deps: deps,
25 }
26 }
27
28 // Namespace provides template functions for the "templates" namespace.
29 type Namespace struct {
30 deps *deps.Deps
31 }
32
33 // Exists returns whether the template with the given name exists.
34 // Note that this is the Unix-styled relative path including filename suffix,
35 // e.g. partials/header.html
36 func (ns *Namespace) Exists(name string) bool {
37 return ns.deps.Tmpl().HasTemplate(name)
38 }