38 lines
709 B
Go
Raw Normal View History

2025-03-01 12:32:16 +01:00
package pages
import (
"bytes"
"sort"
"git.urbach.dev/go/web"
"git.urbach.dev/go/web/send"
"git.urbach.dev/web/urbach.dev/server/app"
)
func Sitemap(ctx web.Context) error {
html := bytes.Buffer{}
html.WriteString("https://urbach.dev\n")
html.WriteString("https://urbach.dev/blog\n")
articles := []*app.Post{}
for _, post := range app.Posts {
if !post.Published {
continue
}
articles = append(articles, post)
}
sort.Slice(articles, func(i, j int) bool {
return articles[i].Created > articles[j].Created
})
for _, post := range articles {
html.WriteString("https://urbach.dev/")
html.WriteString(post.Slug)
html.WriteByte('\n')
}
return send.Text(ctx, html.String())
}