parent
8e87eb0adf
commit
3f10f7b912
@ -1,24 +1,66 @@ |
|||||||
package templates |
package templates |
||||||
|
|
||||||
import "html/template" |
import ( |
||||||
|
"html/template" |
||||||
|
"net/url" |
||||||
|
"sync" |
||||||
|
) |
||||||
|
|
||||||
// UseFuncs returns a func map with template helpers functions
|
type Funcs struct { |
||||||
func UseFuncs() template.FuncMap { |
Version string |
||||||
|
|
||||||
|
compiledJSAppURL string |
||||||
|
|
||||||
|
initOnce sync.Once |
||||||
|
} |
||||||
|
|
||||||
|
func (f *Funcs) init() { |
||||||
|
|
||||||
|
jsAppURL, err := url.Parse(URLJSApp) |
||||||
|
if err != nil { |
||||||
|
panic(err) |
||||||
|
} |
||||||
|
|
||||||
|
{ |
||||||
|
q := jsAppURL.Query() |
||||||
|
q.Add("version", f.Version) |
||||||
|
|
||||||
|
jsAppURL.RawQuery = q.Encode() |
||||||
|
} |
||||||
|
|
||||||
|
f.compiledJSAppURL = jsAppURL.String() |
||||||
|
} |
||||||
|
|
||||||
|
func (f *Funcs) add(i int) int { |
||||||
|
return i + 1 |
||||||
|
} |
||||||
|
|
||||||
|
func (f *Funcs) sub(i int) int { |
||||||
|
return i - 1 |
||||||
|
} |
||||||
|
|
||||||
|
func (f *Funcs) getJSAppURL() string { |
||||||
|
|
||||||
|
f.initOnce.Do(f.init) |
||||||
|
|
||||||
|
return f.compiledJSAppURL |
||||||
|
} |
||||||
|
|
||||||
|
func (f *Funcs) getIndexURL() string { |
||||||
|
return URLIndex |
||||||
|
} |
||||||
|
|
||||||
|
func (f *Funcs) getBlogURL() string { |
||||||
|
return URLBlog |
||||||
|
} |
||||||
|
|
||||||
|
// Use returns a func map with template helpers functions
|
||||||
|
func (f *Funcs) Use() template.FuncMap { |
||||||
return template.FuncMap{ |
return template.FuncMap{ |
||||||
"add": func(i int) int { |
"add": f.add, |
||||||
return i + 1 |
"sub": f.sub, |
||||||
}, |
"getJSAppURL": f.getJSAppURL, |
||||||
"sub": func(i int) int { |
"getIndexURL": f.getIndexURL, |
||||||
return i - 1 |
"getBlogURL": f.getBlogURL, |
||||||
}, |
|
||||||
"getJSAppURL": func() string { |
|
||||||
return URLJSApp |
|
||||||
}, |
|
||||||
"getIndexURL": func() string { |
|
||||||
return URLIndex |
|
||||||
}, |
|
||||||
"getBlogURL": func() string { |
|
||||||
return URLBlog |
|
||||||
}, |
|
||||||
} |
} |
||||||
} |
} |
||||||
|
Loading…
Reference in new issue