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/sitemap.go | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 internal/builder/sitemap.go (limited to 'internal/builder/sitemap.go') diff --git a/internal/builder/sitemap.go b/internal/builder/sitemap.go new file mode 100644 index 0000000..81e3a31 --- /dev/null +++ b/internal/builder/sitemap.go @@ -0,0 +1,29 @@ +package builder + +import ( + "io" + "website/internal/config" + + "github.com/snabb/sitemap" +) + +type Sitemap struct { + config *config.Config + Sitemap *sitemap.Sitemap +} + +func NewSitemap(cfg config.Config) *Sitemap { + return &Sitemap{ + config: &cfg, + Sitemap: sitemap.New(), + } +} + +func (s *Sitemap) Add(u *sitemap.URL) { + u.Loc = s.config.BaseURL.JoinPath(u.Loc).String() + s.Sitemap.Add(u) +} + +func (s *Sitemap) WriteTo(w io.Writer) (int64, error) { + return s.Sitemap.WriteTo(w) +} -- cgit 1.4.1