From 683526b38442a9873d83a542b5cba1d15efc14d5 Mon Sep 17 00:00:00 2001 From: erdgeist Date: Fri, 31 Jul 2026 18:55:35 +0200 Subject: Bind aggregates over scoped tags to their subtree CccConventions::TAG_SCOPES maps "update" and "pressemitteilung" to /updates and "disclosure" to /disclosure. Page.aggregate applies the mapping, so an aggregate over one of those tags is bounded by its subtree regardless of what the shortcode says. Tags stay unrestricted; positions are publish-gated. Both RSS actions call Page.aggregate rather than repeating its tag join. Empty feeds no longer crash: Atom falls back to the current time for the required , and the optional dc:date is omitted. --- app/views/rss/updates.rdf.builder | 2 +- app/views/rss/updates.xml.builder | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'app/views') diff --git a/app/views/rss/updates.rdf.builder b/app/views/rss/updates.rdf.builder index b02d34ff..b4fecdb0 100644 --- a/app/views/rss/updates.rdf.builder +++ b/app/views/rss/updates.rdf.builder @@ -6,7 +6,7 @@ xml.tag!("rdf:RDF", "xmlns:rdf" => "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xml.title("Chaos Computer Club: Updates") xml.link("https://www.ccc.de") xml.description("Kabelsalat ist gesund.") - xml.tag!("dc:date", @items.first.published_at.xmlschema) + xml.tag!("dc:date", @items.first&.published_at&.xmlschema) if @items.any? end xml.image( "rdf:about" => "https://www.ccc.de/images/chaosknoten.gif") do diff --git a/app/views/rss/updates.xml.builder b/app/views/rss/updates.xml.builder index 27845c4c..f261de89 100644 --- a/app/views/rss/updates.xml.builder +++ b/app/views/rss/updates.xml.builder @@ -4,7 +4,7 @@ xml.feed(:xmlns => "http://www.w3.org/2005/Atom", "xml:base" => @host) do xml.title("Chaos Computer Club Updates") xml.link(:href => "https://www.ccc.de/") xml.link(:rel => "self", :href => "#{@host}/rss/updates.xml") - xml.updated(@items.first.published_at.xmlschema) + xml.updated((@items.first&.published_at || Time.now).xmlschema) xml.author do xml.name("Chaos Computer Club e.V.") end -- cgit v1.3