From a9337d346ca6d82bbe203d50b176af9b7c146db0 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Wed, 5 Jun 2024 22:15:05 +0200 Subject: generate sitemap and robots.txt --- internal/builder/template.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'internal/builder/template.go') diff --git a/internal/builder/template.go b/internal/builder/template.go index 5e2af1a..ab36c85 100644 --- a/internal/builder/template.go +++ b/internal/builder/template.go @@ -8,6 +8,7 @@ import ( "os" "strings" "sync" + "text/template" "time" "website/internal/atom" "website/internal/config" @@ -295,6 +296,24 @@ func renderHomepage(config config.Config, posts []Post, url string) (io.Reader, return renderHTML(doc), nil } +func renderRobotsTXT(config config.Config) (io.Reader, error) { + r, w := io.Pipe() + tpl, err := template.ParseFiles("templates/robots.tmpl") + if err != nil { + return nil, err + } + go func() { + err = tpl.Execute(w, map[string]interface{}{ + "BaseURL": config.BaseURL, + }) + if err != nil { + w.CloseWithError(err) + } + w.Close() + }() + return r, nil +} + func render404(config config.Config, url string) (io.Reader, error) { doc, err := layout("templates/404.html", config, "404 Not Found", url) if err != nil { -- cgit 1.4.1