mirror of https://github.com/jlelse/GoBlog
Simplify rendering
This commit is contained in:
parent
d9afd0cb49
commit
302e290ea2
31
render.go
31
render.go
|
@ -124,25 +124,20 @@ func initRendering() error {
|
||||||
"asset": assetFileName,
|
"asset": assetFileName,
|
||||||
"string": getTemplateStringVariant,
|
"string": getTemplateStringVariant,
|
||||||
"include": func(templateName string, data ...interface{}) (template.HTML, error) {
|
"include": func(templateName string, data ...interface{}) (template.HTML, error) {
|
||||||
if len(data) == 1 {
|
if len(data) == 0 || len(data) > 2 {
|
||||||
if rd, ok := data[0].(*renderData); ok {
|
return "", errors.New("wrong argument count")
|
||||||
buf := new(bytes.Buffer)
|
|
||||||
err := templates[templateName].ExecuteTemplate(buf, templateName, rd)
|
|
||||||
return template.HTML(buf.String()), err
|
|
||||||
}
|
|
||||||
return "", errors.New("wrong argument")
|
|
||||||
} else if len(data) == 2 {
|
|
||||||
if blog, ok := data[0].(*configBlog); ok {
|
|
||||||
buf := new(bytes.Buffer)
|
|
||||||
err := templates[templateName].ExecuteTemplate(buf, templateName, &renderData{
|
|
||||||
Blog: blog,
|
|
||||||
Data: data[1],
|
|
||||||
})
|
|
||||||
return template.HTML(buf.String()), err
|
|
||||||
}
|
|
||||||
return "", errors.New("wrong arguments")
|
|
||||||
}
|
}
|
||||||
return "", errors.New("wrong argument count")
|
if rd, ok := data[0].(*renderData); ok {
|
||||||
|
if len(data) == 2 {
|
||||||
|
nrd := *rd
|
||||||
|
nrd.Data = data[1]
|
||||||
|
rd = &nrd
|
||||||
|
}
|
||||||
|
buf := new(bytes.Buffer)
|
||||||
|
err := templates[templateName].ExecuteTemplate(buf, templateName, rd)
|
||||||
|
return template.HTML(buf.String()), err
|
||||||
|
}
|
||||||
|
return "", errors.New("wrong arguments")
|
||||||
},
|
},
|
||||||
"default": func(dflt interface{}, given ...interface{}) interface{} {
|
"default": func(dflt interface{}, given ...interface{}) interface{} {
|
||||||
if len(given) == 0 {
|
if len(given) == 0 {
|
||||||
|
|
|
@ -12,11 +12,11 @@
|
||||||
{{ if (or .Data.Title .Data.Description) }}
|
{{ if (or .Data.Title .Data.Description) }}
|
||||||
<hr>
|
<hr>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ $blog := .Blog }}
|
|
||||||
{{ if .Data.Posts }}
|
{{ if .Data.Posts }}
|
||||||
{{ $summaryTemplate := .Data.SummaryTemplate }}
|
{{ $summaryTemplate := .Data.SummaryTemplate }}
|
||||||
|
{{ $rd := . }}
|
||||||
{{ range $i, $post := .Data.Posts }}
|
{{ range $i, $post := .Data.Posts }}
|
||||||
{{ include $summaryTemplate $blog $post }}
|
{{ include $summaryTemplate $rd $post }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
<p>{{ string .Blog.Lang "noposts" }}</p>
|
<p>{{ string .Blog.Lang "noposts" }}</p>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{{ define "photosummary" }}
|
{{ define "photosummary" }}
|
||||||
<article class="h-entry border-bottom">
|
<article class="h-entry border-bottom">
|
||||||
{{ with p .Data "title" }}<h2>{{ . }}</h2>{{ end }}
|
{{ with p .Data "title" }}<h2>{{ . }}</h2>{{ end }}
|
||||||
{{ include "postmeta" . }}
|
{{ include "summarymeta" . }}
|
||||||
{{ range $i, $photo := ( ps .Data .Blog.Photos.Parameter ) }}
|
{{ range $i, $photo := ( ps .Data .Blog.Photos.Parameter ) }}
|
||||||
{{ md ( printf "![](%s)" $photo ) }}
|
{{ md ( printf "![](%s)" $photo ) }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
Loading…
Reference in New Issue