Package: ikiwiki
Version: 1.12
Severity: wishlist
Tags: patch
A new feature I'd like to request: [[inline pages=... rss="no"]], so
that you can include a generated page without creating an RSS feed for
the including page. Also, allows to have several sets of inlined
pages and choose which one of them becomes RSS. My blog.mdwn page
currently reads:
,----[ blog.mdwn ]
| [[inline pages="catlinks"]]
| [[inline pages="datelinks"]]
|
| [[inline pages="articles/* !*/Discussion" show="10" rootpage="blog"]]
`----
I had to put the catlinks and datelinks includes above, because the
last [[inline]] directive overwrites blog.rss.
Patch follows (sorry it's not incremental -- it also includes the
date-limiting feature patch mentioned in #380680). Basically, it adds
a new parameter named rss, defaulting to "yes", controlling whether to
generate a .rss page for the current inlining.
--- inline.pm~ 2006-07-29 23:38:19.000000000 +0200
+++ inline.pm 2006-08-01 11:46:17.000000000 +0200
@@ -32,10 +32,25 @@
if (! exists $params{archive}) {
$params{archive}="no";
}
- if (! exists $params{show} && $params{archive} eq "no") {
+ if (! exists $params{rss}) {
+ $params{rss}="yes";
+ }
+ if (! exists $params{show} && ! exists $params{year} &&
$params{archive} eq "no") {
$params{show}=10;
}
-
+ if (exists $params{day} && ($params{day} !~ /^\d{2}$/ || ! exists
$params{month})) {
+ return "";
+ }
+ if (exists $params{month} && ($params{month} !~ /^\d{2}$/ || ! exists
$params{year})) {
+ return "";
+ }
+ if ($params{year} && $params{year} !~ /^\d{4}$/) {
+ return "";
+ }
+ if ($params{year}) {
+ delete $params{show} ;
+ }
+
# Avoid nested inlines, to avoid loops etc.
if ($processing_inline) {
return "";
@@ -45,6 +60,11 @@
my @list;
foreach my $page (keys %pagesources) {
next if $page eq $params{page};
+ my (undef,undef,undef,$d,$m,$y,undef,undef,undef) =
+ gmtime($pagectime{$page}) ;
+ next if $params{year} && $y + 1900 != $params{year} ;
+ next if $params{month} && $m + 1 != $params{month} ;
+ next if $params{day} && $d != $params{day} ;
if (globlist_match($page, $params{pages})) {
push @list, $page;
}
@@ -63,12 +83,12 @@
my $formtemplate=template("blogpost.tmpl", blind_cache => 1);
$formtemplate->param(cgiurl => $config{cgiurl});
$formtemplate->param(rootpage => $params{rootpage});
- if ($config{rss}) {
+ if ($config{rss} && $params{rss} eq "yes") {
$formtemplate->param(rssurl =>
rsspage(basename($params{page})));
}
$ret.=$formtemplate->output;
}
- elsif ($config{rss}) {
+ elsif ($config{rss} && $params{rss} eq "yes") {
# Add a rss link button.
my $linktemplate=template("rsslink.tmpl", blind_cache => 1);
$linktemplate->param(rssurl =>
rsspage(basename($params{page})));
@@ -105,7 +125,7 @@
# TODO: should really add this to renderedfiles and call
# check_overwrite, but currently renderedfiles
# only supports listing one file per page.
- if ($config{rss}) {
+ if ($config{rss} && $params{rss} eq "yes") {
writefile(rsspage($params{page}), $config{destdir},
genrss($params{page}, @list));
$toping{$params{page}}=1 unless $config{rebuild};
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-1-k7
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Versions of packages ikiwiki depends on:
ii gcc [c-compiler] 4:4.1.1-5 The GNU C compiler
ii gcc-3.3 [c-compiler] 1:3.3.6-13 The GNU C compiler
ii gcc-4.0 [c-compiler] 4.0.3-6 The GNU C compiler
ii gcc-4.1 [c-compiler] 4.1.1-10 The GNU C compiler
ii libc6-dev [libc-dev] 2.3.6-16 GNU C Library: Development Librari
ii libcgi-formbuilder-perl 3.03.01-1 Easily generate and process statef
ii libcgi-session-perl 4.14-1 Persistent session data in CGI app
ii libhtml-scrubber-perl 0.08-3 Perl extension for scrubbing/sanit
ii libhtml-template-perl 2.8-1 HTML::Template : A module for usin
ii libmail-sendmail-perl 0.79-4 Send email from a perl script
ii libtime-duration-perl 1.02-1 Time::Duration -- rounded or exact
ii libtimedate-perl 1.1600-5 Time and date functions for Perl
ii libxml-simple-perl 2.14-4 Perl module for reading and writin
ii markdown 1.0.1-3 Text-to-HTML conversion tool
ii perl 5.8.8-6 Larry Wall's Practical Extraction
Versions of packages ikiwiki recommends:
ii hyperestraier 1.3.5-1 a full-text search system for comm
ii subversion 1.3.2-5 Advanced version control system
-- no debconf information
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]