Add atom:link support to rss20.
[matthijs/upstream/blosxom-plugins.git] / gavinc / rss20
index 6a4e417ee6ac547a70b88c4c27fcd0fcba764738..bbfe46e105fca30c0f9a7b219119ec1e0f160c97 100644 (file)
@@ -1,9 +1,9 @@
 # Blosxom Plugin: rss20
 # Author(s): Gavin Carr <gavin@openfusion.com.au>
-# Version: 0.001000
-# Requires: lastmodified2
+# Version: 0.001002
+# Requires: storydate, lastmodified2
 # Suggests: absolute
-# Follows:  lastmodified2
+# Follows:  storydate, lastmodified2
 
 package rss20;
 
@@ -46,9 +46,6 @@ $copyright = '';
 # Generator that produced this feed
 $generator_url = "http://blosxom.sourceforge.net/?v=$blosxom::version";
 
-# Debug verbosity
-my $debug_level = 0;
-
 # --------------------------------
 
 $error_email ||= $author_email;
@@ -62,29 +59,31 @@ sub start {
 # --- Private subroutines
 
 sub _load_templates {
-  $blosxom::template{$flavour}{'content_type'} = 'text/xml';
+  $blosxom::template{$flavour}{'content_type'} = 'text/xml; charset=$blog_encoding';
 
   $blosxom::template{$flavour}{'date'} = "\n";
 
-  $blosxom::template{$flavour}{'head'} = <<'HEAD';
-<?xml version="1.0" encoding="iso-8859-1"?>
+  $blosxom::template{$flavour}{'head'} = <<HEAD;
+<?xml version="1.0" encoding="$blosxom::blog_encoding"?>
 <rss version="2.0"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
     xmlns:admin="http://webns.net/mvcb/"
+    xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:content="http://purl.org/rss/1.0/modules/content/">
 
     <channel>
-        <title>$blog_title</title>
-        <link>$url</link>
-        <description>$blog_description</description>
-        <dc:date>$lastmodified2::latest_iso8601</dc:date>
+        <title>$blosxom::blog_title</title>
+        <link>$blosxom::url</link>
+        <description>$blosxom::blog_description</description>
+        <dc:date>\$lastmodified2::latest_iso8601</dc:date>
         <dc:language>$blosxom::blog_language</dc:language>
         <dc:creator>mailto:$rss20::author_email</dc:creator>
         <dc:rights>$rss20::copyright</dc:rights>
         <admin:generatorAgent rdf:resource="$rss20::generator_url" />
         <admin:errorReportsTo rdf:resource="mailto:$rss20::error_email" />
+        <atom:link href="$blosxom::url$ENV{PATH_INFO}" rel="self" type="application/rss+xml" />
         <sy:updatePeriod>hourly</sy:updatePeriod>
         <sy:updateFrequency>1</sy:updateFrequency>
         <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
@@ -98,7 +97,7 @@ HEAD
             <description>\$body</description>                                                   
             <comments>$rss20::trackback_link</comments>                                                            
             <guid isPermaLink="true">$rss20::permalink</guid>                                                          
-            <dc:date>\$lastmodified2::story_iso8601</dc:date>
+            <dc:date>\$storydate::story_iso8601</dc:date>
         </item>
 STORY