]> sipb.mit.edu Git - ikiwiki.git/commitdiff
fixes, and make dir optional
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Sun, 30 Jul 2006 05:14:35 +0000 (05:14 +0000)
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Sun, 30 Jul 2006 05:14:35 +0000 (05:14 +0000)
IkiWiki/Plugin/aggregate.pm
doc/plugins/aggregate.mdwn
templates/aggregatepost.tmpl

index 5c8151b58830709ae4172a194eb2cd6cc24894fc..89885464106e5b2c5c6e89c15ff7fbb09f9bc9cf 100644 (file)
@@ -53,7 +53,7 @@ sub filter (@) { #{{{
 sub preprocess (@) { #{{{
        my %params=@_;
 
 sub preprocess (@) { #{{{
        my %params=@_;
 
-       foreach my $required (qw{name url dir}) {
+       foreach my $required (qw{name url}) {
                if (! exists $params{$required}) {
                        return "[[aggregate plugin missing $required parameter]]";
                }
                if (! exists $params{$required}) {
                        return "[[aggregate plugin missing $required parameter]]";
                }
@@ -70,10 +70,12 @@ sub preprocess (@) { #{{{
        $feed->{name}=$name;
        $feed->{sourcepage}=$params{page};
        $feed->{url}=$params{url};
        $feed->{name}=$name;
        $feed->{sourcepage}=$params{page};
        $feed->{url}=$params{url};
-       ($feed->{dir})=$params{dir}=~/$IkiWiki::config{wiki_file_regexp}/;
-       $feed->{dir}=~s/^\/+//;
+       my $dir=exists $params{dir} ? $params{dir} : IkiWiki::titlepage($params{name});
+       $dir=~s/^\/+//;
+       ($dir)=$dir=~/$IkiWiki::config{wiki_file_regexp}/;
+       $feed->{dir}=$dir;
        $feed->{feedurl}=defined $params{feedurl} ? $params{feedurl} : $params{url};
        $feed->{feedurl}=defined $params{feedurl} ? $params{feedurl} : $params{url};
-       $feed->{updateinterval}=defined $params{updateinterval} ? $params{updateinterval} : 15;
+       $feed->{updateinterval}=defined $params{updateinterval} ? $params{updateinterval} * 60 : 15 * 60;
        $feed->{expireage}=defined $params{expireage} ? $params{expireage} : 0;
        $feed->{expirecount}=defined $params{expirecount} ? $params{expirecount} : 0;
        delete $feed->{remove};
        $feed->{expireage}=defined $params{expireage} ? $params{expireage} : 0;
        $feed->{expirecount}=defined $params{expirecount} ? $params{expirecount} : 0;
        delete $feed->{remove};
@@ -179,7 +181,7 @@ sub aggregate () { #{{{
        die $@ if $@;
 
 FEED:  foreach my $feed (values %feeds) {
        die $@ if $@;
 
 FEED:  foreach my $feed (values %feeds) {
-               # TODO: check updateinterval
+               next unless time - $feed->{lastupdate} >= $feed->{updateinterval};
                $feed->{lastupdate}=time;
                $feed->{newposts}=0;
                $IkiWiki::forcerebuild{$feed->{sourcepage}}=1;
                $feed->{lastupdate}=time;
                $feed->{newposts}=0;
                $IkiWiki::forcerebuild{$feed->{sourcepage}}=1;
@@ -269,7 +271,7 @@ sub add_page (@) { #{{{
        $template->param(name => $feed->{name});
        $template->param(link => $params{link}) if defined $params{link};
        if (ref $feed->{tags}) {
        $template->param(name => $feed->{name});
        $template->param(link => $params{link}) if defined $params{link};
        if (ref $feed->{tags}) {
-               $template->param(tags => map { tag => $_ }, @{$feed->{tags}});
+               $template->param(tags => [map { tag => $_ }, @{$feed->{tags}}]);
        }
        IkiWiki::writefile($guid->{page}.".html", $IkiWiki::config{srcdir},
                $template->output);
        }
        IkiWiki::writefile($guid->{page}.".html", $IkiWiki::config{srcdir},
                $template->output);
index 690904f73452e08dd635a2d6ff6c33139cbc750e..95c8534b0b7a8a01083e4b00f5869a3a7803c70e 100644 (file)
@@ -1,7 +1,7 @@
 This plugin allows content from other blogs to be aggregated into the wiki.
 Aggregate a blog as follows:
 
 This plugin allows content from other blogs to be aggregated into the wiki.
 Aggregate a blog as follows:
 
-       \[[aggregate name="example blog" feedurl="http://example.com/index.rss" url="http://example.com/" updateinterval="15" dir="example"]
+       \[[aggregate name="example blog" feedurl="http://example.com/index.rss" url="http://example.com/" updateinterval="15"]
 
 That example aggregates posts from the expecified RSS feed, updating no
 more frequently than once every 15 minutes, and puts a page per post under
 
 That example aggregates posts from the expecified RSS feed, updating no
 more frequently than once every 15 minutes, and puts a page per post under
@@ -30,7 +30,8 @@ directive:
   Required.
 * `url` - The url to the web page for the blog that's being aggregated.
   Required.
   Required.
 * `url` - The url to the web page for the blog that's being aggregated.
   Required.
-* `dir` - The directory in the wiki where pages should be saved. Required.
+* `dir` - The directory in the wiki where pages should be saved. Optional,
+  if not specified, the directory is based on the name of the feed.
 * `feedurl` - The url to the feed. Optional, if it's not specified ikiwiki
   will look for feeds on the `blogurl`. RSS and atom feeds are supported.
 * `updateinterval` - How often to check for new posts, in minutes. Default
 * `feedurl` - The url to the feed. Optional, if it's not specified ikiwiki
   will look for feeds on the `blogurl`. RSS and atom feeds are supported.
 * `updateinterval` - How often to check for new posts, in minutes. Default
index 4dfedf53da00e47cb63ee0ca96bb45d536b7fbda..ef7a5f1ae1351454cd77431922689af8841bde76 100644 (file)
@@ -9,5 +9,5 @@ From <a href="<TMPL_VAR URL>"><TMPL_VAR NAME></a>
 </i>
 </p>
 <TMPL_LOOP NAME="TAGS">
 </i>
 </p>
 <TMPL_LOOP NAME="TAGS">
-[[<TMPL_VAR TAG>]]
+[[tag <TMPL_VAR TAG>]]
 </TMPL_LOOP>
 </TMPL_LOOP>