]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/bugs/correct_published_and_updated_time_information_for_the_feeds.mdwn
(no commit message)
[ikiwiki.git] / doc / bugs / correct_published_and_updated_time_information_for_the_feeds.mdwn
index 53f2c2d42e23e05ab0df25b8257e249d472475d3..565f3b16c9a35a788dfc85c88f579591ddbcfa72 100644 (file)
@@ -4,50 +4,110 @@ publication date, but an update can be mentioned with the [`dc:modified`](http:/
 element (whose datetime format is [iso 8601](http://www.w3.org/TR/NOTE-datetime)). 
 This patch updates :) `inline.pm` and the two relevant templates.
 
-    --- inline.pm.orig      2007-08-07 05:44:26.000000000 +0200
-    +++ inline.pm   2007-08-07 05:47:37.000000000 +0200
-    @@ -362,7 +362,9 @@
-                            url => $u,
-                            permalink => $u,
-                            date_822 => date_822($pagectime{$p}),
-    +                       mdate_822 => date_822($pagemtime{$p}),
-                            date_3339 => date_3339($pagectime{$p}),
-    +                       mdate_3339 => date_3339($pagemtime{$p}),
-                    );
-     
-                    if ($itemtemplate->query(name => "enclosure")) {
-    @@ -397,7 +399,7 @@
-                    $content.=$itemtemplate->output;
-                    $itemtemplate->clear_params;
-     
-    -               $lasttime = $pagectime{$p} if $pagectime{$p} > $lasttime;
-    +               $lasttime = $pagemtime{$p} if $pagemtime{$p} > $lasttime;
-            }
-     
-            my $template=template($feedtype."page.tmpl", blind_cache => 1);
-    --- atomitem.tmpl.orig  2007-08-07 05:44:43.000000000 +0200
-    +++ atomitem.tmpl       2007-08-07 05:46:14.000000000 +0200
-    @@ -11,7 +11,8 @@
-            <category term="<TMPL_VAR CATEGORY>" />
-            </TMPL_LOOP>
-            </TMPL_IF>
-    -       <updated><TMPL_VAR DATE_3339></updated>
-    +       <updated><TMPL_VAR MDATE_3339></updated>
-    +       <published><TMPL_VAR DATE_3339></published>
-            <TMPL_IF NAME="ENCLOSURE">
-            <link rel="enclosure" type="<TMPL_VAR TYPE>" href="<TMPL_VAR ENCLOSURE>" length="<TMPL_VAR LENGTH>" />
-            <TMPL_ELSE>
-    --- rssitem.tmpl.orig   2007-08-07 05:44:58.000000000 +0200
-    +++ rssitem.tmpl        2007-08-07 06:06:36.000000000 +0200
-    @@ -5,6 +5,7 @@
-            <TMPL_ELSE>
-            <title><TMPL_VAR TITLE></title>
-            </TMPL_IF>
-    +       <dc:modified><TMPL_VAR MDATE_3339></dc:modified>
-            <guid><TMPL_VAR URL></guid>
-            <link><TMPL_VAR PERMALINK></link>
-            <TMPL_IF NAME="CATEGORIES">
-
-— NicolasLimare
-
-[[tag patch]]
+> I tested a slightly modified patch, which I've put below for now.
+> feedvalidator.org complains that dc:modified is not a known element. I'll
+> bet some header needs to be added to make the dublin core stuff available.
+> The atom feeds seem ok. --[[Joey]]
+
+<pre>
+Index: debian/changelog
+===================================================================
+--- debian/changelog   (revision 4066)
++++ debian/changelog   (working copy)
+@@ -15,8 +15,11 @@
+   * Updated French translation from Cyril Brulebois. Closes: #437181
+   * The toc directive doesn't work well or make sense inside an inlined page.
+     Disable it when the page with the toc is nested inside another page.
++  * Apply a patch from NicolasLimare adding modification date tags to rss and
++    atom feeds, and also changing the publication time for a feed to the
++    newest modiciation time (was newest creation time).
+- -- Joey Hess <joeyh@debian.org>  Sat, 11 Aug 2007 17:40:45 -0400
++ -- Joey Hess <joeyh@debian.org>  Sat, 11 Aug 2007 18:25:28 -0400
+ ikiwiki (2.5) unstable; urgency=low
+Index: templates/atomitem.tmpl
+===================================================================
+--- templates/atomitem.tmpl    (revision 4066)
++++ templates/atomitem.tmpl    (working copy)
+@@ -11,7 +11,8 @@
+       <category term="<TMPL_VAR CATEGORY>" />
+       </TMPL_LOOP>
+       </TMPL_IF>
+-      <updated><TMPL_VAR DATE_3339></updated>
++      <updated><TMPL_VAR MDATE_3339></updated>
++      <published><TMPL_VAR CDATE_3339></published>
+       <TMPL_IF NAME="ENCLOSURE">
+       <link rel="enclosure" type="<TMPL_VAR TYPE>" href="<TMPL_VAR ENCLOSURE>" length="<TMPL_VAR LENGTH>" />
+       <TMPL_ELSE>
+Index: templates/rssitem.tmpl
+===================================================================
+--- templates/rssitem.tmpl     (revision 4066)
++++ templates/rssitem.tmpl     (working copy)
+@@ -12,7 +12,8 @@
+       <category><TMPL_VAR CATEGORY></category>
+       </TMPL_LOOP>
+       </TMPL_IF>
+-      <pubDate><TMPL_VAR DATE_822></pubDate>
++      <pubDate><TMPL_VAR CDATE_822></pubDate>
++      <dc:modified><TMPL_VAR MDATE_3339></dc:modified>
+       <TMPL_IF NAME="ENCLOSURE">
+       <enclosure url="<TMPL_VAR ENCLOSURE>" type="<TMPL_VAR TYPE>" length="<TMPL_VAR LENGTH>" />
+       <TMPL_ELSE>
+Index: IkiWiki/Plugin/inline.pm
+===================================================================
+--- IkiWiki/Plugin/inline.pm   (revision 4066)
++++ IkiWiki/Plugin/inline.pm   (working copy)
+@@ -361,8 +361,10 @@
+                       title => pagetitle(basename($p)),
+                       url => $u,
+                       permalink => $u,
+-                      date_822 => date_822($pagectime{$p}),
+-                      date_3339 => date_3339($pagectime{$p}),
++                      cdate_822 => date_822($pagectime{$p}),
++                      mdate_822 => date_822($pagemtime{$p}),
++                      cdate_3339 => date_3339($pagectime{$p}),
++                      mdate_3339 => date_3339($pagemtime{$p}),
+               );
+               if ($itemtemplate->query(name => "enclosure")) {
+@@ -397,7 +399,7 @@
+               $content.=$itemtemplate->output;
+               $itemtemplate->clear_params;
+-              $lasttime = $pagectime{$p} if $pagectime{$p} > $lasttime;
++              $lasttime = $pagemtime{$p} if $pagemtime{$p} > $lasttime;
+       }
+       my $template=template($feedtype."page.tmpl", blind_cache => 1);
+</pre>
+
+
+
+>> Yes I noticedthe bug today; the correct (tested on feedvalidator) rssitem.tmpl template must start with the following content:
+
+    <item>
+        <TMPL_IF NAME="AUTHOR">                                                    
+        <title><TMPL_VAR AUTHOR ESCAPE=HTML>: <TMPL_VAR TITLE></title>             
+        <dcterms:creator><TMPL_VAR AUTHOR ESCAPE=HTML></dcterms:creator>           
+        <TMPL_ELSE>                                                                
+        <title><TMPL_VAR TITLE></title>                                            
+        </TMPL_IF>                                                                 
+        <dcterms:modified><TMPL_VAR MDATE_3339></dcterms:modified>                 
+        <dcterms:created><TMPL_VAR DATE_3339></dcterms:created>                    
+        ....
+>> and rsspage.tmpl must start with:
+
+    <?xml version="1.0"?>                                                              
+    <rss version="2.0"                                                                 
+         xmlns:dc="http://purl.org/dc/elements/1.1/"                                   
+         xmlns:dcterms="http://purl.org/dc/terms/" >        
+         ....
+
+>> — [[NicolasLimare]]
+
+[[done]] --[[Joey]]
+
+[[!tag patch]]