diff options
author | Simon McVittie <smcv@ http://smcv.pseudorandom.co.uk/> | 2009-01-18 16:27:43 +0000 |
---|---|---|
committer | Simon McVittie <smcv@ http://smcv.pseudorandom.co.uk/> | 2009-01-18 21:58:24 +0000 |
commit | c89925048f6c0b149d09b76ff122da2205b6ec86 (patch) | |
tree | 677cb1d6b7aa3b735c0f51ea1053e783a9b979cf /IkiWiki/Plugin/inline.pm | |
parent | 1e6dd2fc3761e071a4c3b65ea99022ac006e7a6d (diff) | |
download | ikiwiki-c89925048f6c0b149d09b76ff122da2205b6ec86.tar ikiwiki-c89925048f6c0b149d09b76ff122da2205b6ec86.tar.gz |
Add meta field "updated", which can alter the <updated> Atom element
Some aggregators, like Planet, sort by mtime rather than ctime. This
means that posts with modified content come to the top (which seems odd
to me, but is presumably what the aggregator's author or operator
wants), but it also means that posts with insignificant edits (like
adding tags) come to the top too. Atom defines <updated> to be the date
of the last *significant* change, so it's fine that ikiwiki defaults to
using the mtime, but it would be good to have a way for the author to
say "that edit was insignificant, don't use that mtime".
Diffstat (limited to 'IkiWiki/Plugin/inline.pm')
-rw-r--r-- | IkiWiki/Plugin/inline.pm | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm index d8b5f8548..2205ebffc 100644 --- a/IkiWiki/Plugin/inline.pm +++ b/IkiWiki/Plugin/inline.pm @@ -519,9 +519,15 @@ sub genfeed ($$$$$@) { mdate_3339 => date_3339($pagemtime{$p}), ); - if (exists $pagestate{$p} && - exists $pagestate{$p}{meta}{guid}) { - $itemtemplate->param(guid => $pagestate{$p}{meta}{guid}); + if (exists $pagestate{$p}) { + if (exists $pagestate{$p}{meta}{guid}) { + $itemtemplate->param(guid => $pagestate{$p}{meta}{guid}); + } + + if (exists $pagestate{$p}{meta}{updated}) { + $itemtemplate->param(mdate_822 => date_822($pagestate{$p}{meta}{updated})); + $itemtemplate->param(mdate_3339 => date_3339($pagestate{$p}{meta}{updated})); + } } if ($itemtemplate->query(name => "enclosure")) { |