Simplify rendering

This commit is contained in:
Jan-Lukas Else 2021-03-10 19:21:23 +01:00
parent d9afd0cb49
commit 302e290ea2
3 changed files with 16 additions and 21 deletions

View File

@ -124,25 +124,20 @@ func initRendering() error {
"asset": assetFileName,
"string": getTemplateStringVariant,
"include": func(templateName string, data ...interface{}) (template.HTML, error) {
if len(data) == 1 {
if rd, ok := data[0].(*renderData); ok {
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")
if len(data) == 0 || len(data) > 2 {
return "", errors.New("wrong argument count")
}
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{} {
if len(given) == 0 {

View File

@ -12,11 +12,11 @@
{{ if (or .Data.Title .Data.Description) }}
<hr>
{{ end }}
{{ $blog := .Blog }}
{{ if .Data.Posts }}
{{ $summaryTemplate := .Data.SummaryTemplate }}
{{ $rd := . }}
{{ range $i, $post := .Data.Posts }}
{{ include $summaryTemplate $blog $post }}
{{ include $summaryTemplate $rd $post }}
{{ end }}
{{ else }}
<p>{{ string .Blog.Lang "noposts" }}</p>

View File

@ -1,7 +1,7 @@
{{ define "photosummary" }}
<article class="h-entry border-bottom">
{{ with p .Data "title" }}<h2>{{ . }}</h2>{{ end }}
{{ include "postmeta" . }}
{{ include "summarymeta" . }}
{{ range $i, $photo := ( ps .Data .Blog.Photos.Parameter ) }}
{{ md ( printf "![](%s)" $photo ) }}
{{ end }}