template

package module
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 23, 2019 License: BSD-3-Clause Imports: 4 Imported by: 0

README

tmplate helper

Build Status Go Report Card GoDoc License

Example

package main

import (
	"fmt"

	"github.com/chai2010/template"
)

func main() {
	fmt.Println(
		template.MustRender(`Hello, {{.}}`, "Neo"),
	)
	fmt.Println(
		template.MustRender(`Hello, {{index . 0}}`, []string{"Go"}),
	)
	fmt.Println(
		template.MustRender(`Hello, {{index . "Name"}}`,
			map[string]string{"Name": "凹(Wa)"},
		),
	)

	fmt.Println(
		template.MustRender(`Hello, {{.Name}}`, map[string]string{
			"Name": "Lua",
		}),
	)
	fmt.Println(
		template.MustRender(`Hello, {{.Name}}`, struct{ Name string }{
			Name: "Ruby",
		}),
	)

	fmt.Println(
		template.MustRender(
			`Hello, {{upper .Name}}`, struct{ Name string }{Name: "chai2010"},
			template.FuncMap{"upper": strings.ToUpper},
		),
	)

	fmt.Println(
		template.MustRender(
			`{{range $i, $v := .}}{{$v.Book}}{{end}}`,
			[]struct{ Name, Book string }{
				{Name: "chai2010", Book: "《Go语言高级编程》"},
				{Name: "chai2010 & ending", Book: "《WebAssembly标准入门》"},
				{Name: "ending & chai2010", Book: "《C/C++面向WebAssembly编程》"},
			},
		),
	)

	fmt.Println(
		template.MustRenderWithDelims(`Hello, {{<<.))}}`, `<<`, `))`, "Neo"),
	)

	// Output:
	// Hello, Neo
	// Hello, Go
	// Hello, 凹(Wa)
	// Hello, Lua
	// Hello, Ruby
	// Hello, CHAI2010
	// 《Go语言高级编程》《WebAssembly标准入门》《C/C++面向WebAssembly编程》
	// Hello, {{Neo}}
}

BUGS

Report bugs to chaishushan@gmail.com.

Thanks!

Documentation

Overview

Package template provides some template helper functions.

Example
package main

import (
	"fmt"
	"strings"

	"github.com/chai2010/template"
)

func main() {
	fmt.Println(
		template.MustRender(`Hello, {{.}}`, "Neo"),
	)
	fmt.Println(
		template.MustRender(`Hello, {{index . 0}}`, []string{"Go"}),
	)
	fmt.Println(
		template.MustRender(`Hello, {{index . "Name"}}`,
			map[string]string{"Name": "凹(Wa)"},
		),
	)

	fmt.Println(
		template.MustRender(`Hello, {{.Name}}`, map[string]string{
			"Name": "Lua",
		}),
	)
	fmt.Println(
		template.MustRender(`Hello, {{.Name}}`, struct{ Name string }{
			Name: "Ruby",
		}),
	)

	fmt.Println(
		template.MustRender(
			`Hello, {{upper .Name}}`, struct{ Name string }{Name: "chai2010"},
			template.FuncMap{"upper": strings.ToUpper},
		),
	)

	fmt.Println(
		template.MustRender(
			`{{range $i, $v := .}}{{$v.Book}}{{end}}`,
			[]struct{ Name, Book string }{
				{Name: "chai2010", Book: "《Go语言高级编程》"},
				{Name: "chai2010 & ending", Book: "《WebAssembly标准入门》"},
				{Name: "ending & chai2010", Book: "《C/C++面向WebAssembly编程》"},
			},
		),
	)

	fmt.Println(
		template.MustRenderWithDelims(`Hello, {{<<.))}}`, `<<`, `))`, "Neo"),
	)

}
Output:

Hello, Neo
Hello, Go
Hello, 凹(Wa)
Hello, Lua
Hello, Ruby
Hello, CHAI2010
《Go语言高级编程》《WebAssembly标准入门》《C/C++面向WebAssembly编程》
Hello, {{Neo}}

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func MustRender

func MustRender(tmpl string, data interface{}, funcMap ...FuncMap) string

func MustRenderFile

func MustRenderFile(filename string, data interface{}, funcMap ...FuncMap) string

func MustRenderFileWithDelims added in v1.2.0

func MustRenderFileWithDelims(filename, left, right string, data interface{}, funcMap ...FuncMap) string

func MustRenderHTML

func MustRenderHTML(tmpl string, data interface{}, funcMap ...HTMLFuncMap) string

func MustRenderHTMLFile

func MustRenderHTMLFile(filename string, data interface{}, funcMap ...HTMLFuncMap) string

func MustRenderHTMLFileWithDelims added in v1.2.0

func MustRenderHTMLFileWithDelims(filename, left, right string, data interface{}, funcMap ...HTMLFuncMap) string

func MustRenderHTMLWithDelims added in v1.2.0

func MustRenderHTMLWithDelims(tmpl, left, right string, data interface{}, funcMap ...HTMLFuncMap) string

func MustRenderWithDelims added in v1.2.0

func MustRenderWithDelims(tmpl, left, right string, data interface{}, funcMap ...FuncMap) string

func Render

func Render(tmpl string, data interface{}, funcMap ...FuncMap) (string, error)

func RenderFile

func RenderFile(filename string, data interface{}, funcMap ...FuncMap) (string, error)

func RenderFileWithDelims added in v1.2.0

func RenderFileWithDelims(filename, left, right string, data interface{}, funcMap ...FuncMap) (string, error)

func RenderHTML

func RenderHTML(tmpl string, data interface{}, funcMap ...HTMLFuncMap) (string, error)

func RenderHTMLFile

func RenderHTMLFile(filename string, data interface{}, funcMap ...HTMLFuncMap) (string, error)

func RenderHTMLFileWithDelims added in v1.2.0

func RenderHTMLFileWithDelims(filename, left, right string, data interface{}, funcMap ...HTMLFuncMap) (string, error)

func RenderHTMLWithDelims added in v1.2.0

func RenderHTMLWithDelims(tmpl, left, right string, data interface{}, funcMap ...HTMLFuncMap) (string, error)

func RenderWithDelims added in v1.2.0

func RenderWithDelims(tmpl, left, right string, data interface{}, funcMap ...FuncMap) (string, error)

Types

type FuncMap

type FuncMap = template.FuncMap

type HTMLFuncMap

type HTMLFuncMap = template.FuncMap

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL