From 302e290ea2df9ef3ddab46506521903a25f67a5e Mon Sep 17 00:00:00 2001 From: Jan-Lukas Else Date: Wed, 10 Mar 2021 19:21:23 +0100 Subject: [PATCH] Simplify rendering --- render.go | 31 +++++++++++++------------------ templates/index.gohtml | 4 ++-- templates/photosummary.gohtml | 2 +- 3 files changed, 16 insertions(+), 21 deletions(-) diff --git a/render.go b/render.go index 041783e..b220855 100644 --- a/render.go +++ b/render.go @@ -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 { diff --git a/templates/index.gohtml b/templates/index.gohtml index d660fa7..297e7ed 100644 --- a/templates/index.gohtml +++ b/templates/index.gohtml @@ -12,11 +12,11 @@ {{ if (or .Data.Title .Data.Description) }}
{{ 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 }}

{{ string .Blog.Lang "noposts" }}

diff --git a/templates/photosummary.gohtml b/templates/photosummary.gohtml index 6efa673..e80c262 100644 --- a/templates/photosummary.gohtml +++ b/templates/photosummary.gohtml @@ -1,7 +1,7 @@ {{ define "photosummary" }}
{{ with p .Data "title" }}

{{ . }}

{{ end }} - {{ include "postmeta" . }} + {{ include "summarymeta" . }} {{ range $i, $photo := ( ps .Data .Blog.Photos.Parameter ) }} {{ md ( printf "![](%s)" $photo ) }} {{ end }}