diff options
| author | Mitchell Riedstra <mitch@riedstra.dev> | 2021-07-12 23:08:58 -0400 |
|---|---|---|
| committer | Mitchell Riedstra <mitch@riedstra.dev> | 2021-07-12 23:18:44 -0400 |
| commit | 904e37a88a6a2eab3919f7f2c40bbb2c07544a7c (patch) | |
| tree | 07ec38801bf572a2933d51d272fc4cd3ab74b61c /cmd/server/handlers.go | |
| parent | e6d53f71c9718ecdb9fde16a924d75a71aadd2d2 (diff) | |
| download | go-website-904e37a88a6a2eab3919f7f2c40bbb2c07544a7c.tar.gz go-website-904e37a88a6a2eab3919f7f2c40bbb2c07544a7c.tar.xz | |
Add atom feed to the go website
Diffstat (limited to 'cmd/server/handlers.go')
| -rw-r--r-- | cmd/server/handlers.go | 13 |
1 files changed, 13 insertions, 0 deletions
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) } |
