From: Joey Hess <joeyh@joeyh.name>
Date: Mon, 29 Aug 2022 23:14:17 +0000 (-0400)
Subject: hack to support media:content
X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/4a5cab56d0fbd18e0e6e30b6d8b5930eb9b16237?ds=inline

hack to support media:content

This is ugly, but XML::Feed does not support the tag.
---

diff --git a/CHANGELOG b/CHANGELOG
index f33c3bd14..a30a5de00 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,7 @@ ikiwiki (3.20200202.4) UNRELEASED; urgency=medium
 
   * aggregate: When a feed has an enclosure that is an image, audio, or
     video, include the enclosure in the generated page.
+  * aggregate: Also support feeds with media:content tags.
 
  -- Joey Hess <id@joeyh.name>  Sat, 25 Dec 2021 12:41:34 -0400
 
diff --git a/IkiWiki/Plugin/aggregate.pm b/IkiWiki/Plugin/aggregate.pm
index 01e026c88..2069a352e 100644
--- a/IkiWiki/Plugin/aggregate.pm
+++ b/IkiWiki/Plugin/aggregate.pm
@@ -535,6 +535,14 @@ sub aggregate (@) {
 			next;
 		}
 		my $content=$res->content;
+
+		# This is a hack to support the media:content extension
+		# to RSS. XML::Feed does not support it, but it's the same
+		# as an enclosure, so converting it to that tag will let it
+		# parse.
+		$content=~s/<media:content/<enclosure/g;
+		$content=~s/<\/media:content/<\/enclosure/g;
+
 		my $f=eval{XML::Feed->parse(\$content)};
 		if ($@) {
 			# One common cause of XML::Feed crashing is a feed