mirror of https://github.com/docker/docs.git
				
				
				
			
		
			
				
	
	
		
			34 lines
		
	
	
		
			830 B
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			830 B
		
	
	
	
		
			Go
		
	
	
	
package templates
 | 
						|
 | 
						|
import (
 | 
						|
	"encoding/json"
 | 
						|
	"strings"
 | 
						|
	"text/template"
 | 
						|
)
 | 
						|
 | 
						|
// basicFunctions are the set of initial
 | 
						|
// functions provided to every template.
 | 
						|
var basicFunctions = template.FuncMap{
 | 
						|
	"json": func(v interface{}) string {
 | 
						|
		a, _ := json.Marshal(v)
 | 
						|
		return string(a)
 | 
						|
	},
 | 
						|
	"split": strings.Split,
 | 
						|
	"join":  strings.Join,
 | 
						|
	"title": strings.Title,
 | 
						|
	"lower": strings.ToLower,
 | 
						|
	"upper": strings.ToUpper,
 | 
						|
}
 | 
						|
 | 
						|
// Parse creates a new annonymous template with the basic functions
 | 
						|
// and parses the given format.
 | 
						|
func Parse(format string) (*template.Template, error) {
 | 
						|
	return NewParse("", format)
 | 
						|
}
 | 
						|
 | 
						|
// NewParse creates a new tagged template with the basic functions
 | 
						|
// and parses the given format.
 | 
						|
func NewParse(tag, format string) (*template.Template, error) {
 | 
						|
	return template.New(tag).Funcs(basicFunctions).Parse(format)
 | 
						|
}
 |