From 904e37a88a6a2eab3919f7f2c40bbb2c07544a7c Mon Sep 17 00:00:00 2001 From: Mitchell Riedstra Date: Mon, 12 Jul 2021 23:08:58 -0400 Subject: Add atom feed to the go website --- cmd/server/handlers.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'cmd/server/handlers.go') diff --git a/cmd/server/handlers.go b/cmd/server/handlers.go index 60e0a35..5ea89cd 100644 --- a/cmd/server/handlers.go +++ b/cmd/server/handlers.go @@ -1,6 +1,7 @@ package main import ( + "fmt" "net/http" "path/filepath" @@ -8,9 +9,20 @@ import ( "riedstra.dev/mitch/go-website/page" ) +var FeedPrefixDefault = ".feeds" + type App struct { ReIndexPath string StaticDirectory string + + // Related to the Atom feed + Title string + Description string // aka, "subtitle" + Author Author + SiteURL string + FeedId string + Updated page.PageTime + FeedPrefix string } func (a *App) PageHandler(w http.ResponseWriter, r *http.Request) { @@ -48,6 +60,7 @@ func (a *App) ServeHTTP(w http.ResponseWriter, r *http.Request) { rtr := mux.NewRouter() rtr.HandleFunc(a.ReIndexPath, a.RebuildIndexHandler) rtr.PathPrefix("/static/").Handler(a.StaticHandler()) + rtr.PathPrefix(fmt.Sprintf("/%s/{tag}", a.FeedPrefix)).HandlerFunc(a.FeedHandler) rtr.PathPrefix("/").HandlerFunc(a.PageHandler) rtr.ServeHTTP(w, r) } -- cgit v1.2.3