diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml index 26e0e99..997ac38 100644 --- a/.woodpecker/build.yaml +++ b/.woodpecker/build.yaml @@ -36,7 +36,6 @@ steps: image: alpine when: branch: main - event: manual commands: - apk add --no-cache openssh-client - mkdir -p ~/.ssh diff --git a/internal/build/templates/base.html b/internal/build/templates/base.html index 876a092..2effa31 100644 --- a/internal/build/templates/base.html +++ b/internal/build/templates/base.html @@ -71,6 +71,8 @@ + + {{block "scripts" .}}{{end}} diff --git a/internal/server/blog.go b/internal/server/blog.go index 848e8e4..da86848 100644 --- a/internal/server/blog.go +++ b/internal/server/blog.go @@ -98,7 +98,7 @@ func (s *Server) blogHome(w http.ResponseWriter, r *http.Request) { s.recordPageView(q, r, "/", "") if html, etag, err := q.GetPage(r.Context(), "/"); err == nil && html != nil { - s.servePreRendered(w, r, html, etag, "public, s-maxage=31536000, max-age=0") + s.servePreRendered(w, r, html, etag, "public, max-age=0, must-revalidate") return } @@ -156,7 +156,7 @@ func (s *Server) blogHome(w http.ResponseWriter, r *http.Request) { return } - s.servePreRendered(w, r, html, computeETag(html), "public, s-maxage=31536000, max-age=0") + s.servePreRendered(w, r, html, computeETag(html), "public, max-age=0, must-revalidate") } func (s *Server) blogList(w http.ResponseWriter, r *http.Request) { @@ -172,7 +172,7 @@ func (s *Server) blogList(w http.ResponseWriter, r *http.Request) { s.recordPageView(q, r, "/posts", "") if html, etag, err := q.GetPage(r.Context(), "/posts"); err == nil && html != nil { - s.servePreRendered(w, r, html, etag, "public, s-maxage=31536000, max-age=0") + s.servePreRendered(w, r, html, etag, "public, max-age=0, must-revalidate") return } @@ -223,7 +223,7 @@ func (s *Server) blogList(w http.ResponseWriter, r *http.Request) { return } - s.servePreRendered(w, r, html, computeETag(html), "public, s-maxage=31536000, max-age=0") + s.servePreRendered(w, r, html, computeETag(html), "public, max-age=0, must-revalidate") } func (s *Server) blogPost(w http.ResponseWriter, r *http.Request) { @@ -249,7 +249,7 @@ func (s *Server) blogPost(w http.ResponseWriter, r *http.Request) { s.recordPageView(q, r, path, slug) if html, etag, err := q.GetPage(r.Context(), path); err == nil && html != nil { - s.servePreRendered(w, r, html, etag, "public, s-maxage=31536000, max-age=0") + s.servePreRendered(w, r, html, etag, "public, max-age=0, must-revalidate") return } } @@ -457,7 +457,7 @@ func (s *Server) blogPost(w http.ResponseWriter, r *http.Request) { return } - s.servePreRendered(w, r, html, computeETag(html), "public, s-maxage=31536000, max-age=0") + s.servePreRendered(w, r, html, computeETag(html), "public, max-age=0, must-revalidate") } func (s *Server) canPreview(r *http.Request, tenantID string) bool { @@ -543,7 +543,7 @@ func (s *Server) sitemap(w http.ResponseWriter, r *http.Request) { baseURL := getBaseURL(r.Host) w.Header().Set("Content-Type", "application/xml; charset=utf-8") - w.Header().Set("Cache-Control", "public, s-maxage=31536000, max-age=0") + w.Header().Set("Cache-Control", "public, max-age=0, must-revalidate") w.Write([]byte(` diff --git a/internal/server/build.go b/internal/server/build.go index 116d845..ed1c846 100644 --- a/internal/server/build.go +++ b/internal/server/build.go @@ -162,15 +162,5 @@ func (s *Server) rebuildSite(ctx context.Context, tenantID string, db *sql.DB, h } } - if s.cloudflare.IsConfigured() { - urls := make([]string, len(pages)) - for i, p := range pages { - urls[i] = baseURL + p.path - } - if err := s.cloudflare.PurgeURLs(ctx, urls); err != nil { - slog.Error("rebuildSite: purge cache", "error", err) - } - } - slog.Info("rebuildSite: complete", "tenantID", tenantID, "pages", len(pages)) }