summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/http/posts.go5
-rw-r--r--src/http/tpl.go15
-rw-r--r--src/http/tpl/base.html2
3 files changed, 20 insertions, 2 deletions
diff --git a/src/http/posts.go b/src/http/posts.go
index 2c6f896..872ea89 100644
--- a/src/http/posts.go
+++ b/src/http/posts.go
@@ -271,7 +271,10 @@ func (a *api) getPostHandler() http.Handler {
return
}
- executeTemplate(rw, r, tpl, tplPayload)
+ executeTemplate(
+ rw, r, tpl, tplPayload,
+ executeTemplateWithTitlePrefix(storedPost.Title),
+ )
})
}
diff --git a/src/http/tpl.go b/src/http/tpl.go
index 0f6b531..bb5750d 100644
--- a/src/http/tpl.go
+++ b/src/http/tpl.go
@@ -133,11 +133,21 @@ func (a *api) mustParseBasedTpl(name string) *template.Template {
type tplData struct {
Payload interface{}
+ Title string
}
func newTPLData(r *http.Request, payload interface{}) tplData {
return tplData{
Payload: payload,
+ Title: "mediocregopher's lil web corner",
+ }
+}
+
+type executeTemplateOpt func(*tplData)
+
+func executeTemplateWithTitlePrefix(prefix string) executeTemplateOpt {
+ return func(d *tplData) {
+ d.Title = prefix + " - " + d.Title
}
}
@@ -145,10 +155,15 @@ func newTPLData(r *http.Request, payload interface{}) tplData {
func executeTemplate(
rw http.ResponseWriter, r *http.Request,
tpl *template.Template, payload interface{},
+ opts ...executeTemplateOpt,
) {
tplData := newTPLData(r, payload)
+ for _, opt := range opts {
+ opt(&tplData)
+ }
+
if err := tpl.Execute(rw, tplData); err != nil {
apiutil.InternalServerError(
rw, r, fmt.Errorf("rendering template: %w", err),
diff --git a/src/http/tpl/base.html b/src/http/tpl/base.html
index fa65911..01b5386 100644
--- a/src/http/tpl/base.html
+++ b/src/http/tpl/base.html
@@ -2,7 +2,7 @@
<html>
<head>
- <title>mediocregopher's lil web corner</title>
+ <title>{{ .Title }}</title>
<style>{{ StaticInlineCSS "new.css" }}</style>
<style>{{ StaticInlineCSS "mediocre.css" }}</style>