From cb99fc8b8f5668ed79a9560dd31ee80a64da563a Mon Sep 17 00:00:00 2001 From: Graham Barber Date: Sun, 18 Aug 2024 18:59:13 -0700 Subject: [PATCH] add site title template --- handlers/routes.go | 4 +-- html/layouts/default.templ | 12 ++++++--- html/layouts/default_templ.go | 50 +++++++++++++++++++++++++++-------- services/indieauth.go | 2 +- 4 files changed, 50 insertions(+), 18 deletions(-) diff --git a/handlers/routes.go b/handlers/routes.go index 9d7352c..ca0fe3e 100644 --- a/handlers/routes.go +++ b/handlers/routes.go @@ -18,7 +18,7 @@ func ServeHomePage(w http.ResponseWriter, r *http.Request) { panic(result.Error) } - layouts.RenderDefault(pages.Home(posts)).ServeHTTP(w, r) + layouts.RenderDefault("", pages.Home(posts)).ServeHTTP(w, r) } func ServePostPage(w http.ResponseWriter, r *http.Request) { @@ -32,5 +32,5 @@ func ServePostPage(w http.ResponseWriter, r *http.Request) { return } - layouts.RenderDefault(pages.Post(post)).ServeHTTP(w, r) + layouts.RenderDefault(string(post.MicroformatType), pages.Post(post)).ServeHTTP(w, r) } diff --git a/html/layouts/default.templ b/html/layouts/default.templ index 43fd285..afe92e7 100644 --- a/html/layouts/default.templ +++ b/html/layouts/default.templ @@ -3,18 +3,22 @@ package layouts import "net/http" import "github.com/puregarlic/space/storage" -func RenderDefault(page templ.Component) http.Handler { +func RenderDefault(title string, page templ.Component) http.Handler { rels := storage.GetRels() - document := Default(page, rels) + document := Default(title, page, rels) return templ.Handler(document) } -templ Default(body templ.Component, rels []*storage.RelEntry) { +templ Default(title string, body templ.Component, rels []*storage.RelEntry) { - puregarlic dot space + if len(title) > 0 { + {title} | puregarlic dot space + } else { + puregarlic dot space + } diff --git a/html/layouts/default_templ.go b/html/layouts/default_templ.go index 43a9a31..7683106 100644 --- a/html/layouts/default_templ.go +++ b/html/layouts/default_templ.go @@ -11,14 +11,14 @@ import templruntime "github.com/a-h/templ/runtime" import "net/http" import "github.com/puregarlic/space/storage" -func RenderDefault(page templ.Component) http.Handler { +func RenderDefault(title string, page templ.Component) http.Handler { rels := storage.GetRels() - document := Default(page, rels) + document := Default(title, page, rels) return templ.Handler(document) } -func Default(body templ.Component, rels []*storage.RelEntry) templ.Component { +func Default(title string, body templ.Component, rels []*storage.RelEntry) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) @@ -36,37 +36,65 @@ func Default(body templ.Component, rels []*storage.RelEntry) templ.Component { templ_7745c5c3_Var1 = templ.NopComponent } ctx = templ.ClearChildren(ctx) - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("puregarlic dot space") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - for _, rel := range rels { - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" 0 { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } var templ_7745c5c3_Var2 string - templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(rel.Name) + templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(title) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `html/layouts/default.templ`, Line: 24, Col: 28} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `html/layouts/default.templ`, Line: 18, Col: 21} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2)) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" href=\"") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" | puregarlic dot space") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } else { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("puregarlic dot space") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + for _, rel := range rels { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err diff --git a/services/indieauth.go b/services/indieauth.go index 5faa604..cad4d82 100644 --- a/services/indieauth.go +++ b/services/indieauth.go @@ -57,7 +57,7 @@ func (i *IndieAuth) HandleAuthGET(w http.ResponseWriter, r *http.Request) { nonceId, nonce := nanoid.New(), nanoid.New() storage.NonceCache().Set(nonceId, nonce, 0) - layouts.RenderDefault(pages.Auth(req, app, nonceId, nonce)).ServeHTTP(w, r) + layouts.RenderDefault("authorize", pages.Auth(req, app, nonceId, nonce)).ServeHTTP(w, r) } func (i *IndieAuth) HandleAuthPOST(w http.ResponseWriter, r *http.Request) { -- 2.51.2