table: Find links in external files in scan pass.
parent
e45f13c2a4
commit
4ce73f2d88
|
@ -8,7 +8,7 @@ use IkiWiki 3.00;
|
|||
|
||||
sub import {
|
||||
hook(type => "getsetup", id => "table", call => \&getsetup);
|
||||
hook(type => "preprocess", id => "table", call => \&preprocess);
|
||||
hook(type => "preprocess", id => "table", call => \&preprocess, scan => 1);
|
||||
}
|
||||
|
||||
sub getsetup () {
|
||||
|
@ -27,13 +27,31 @@ sub preprocess (@) {
|
|||
);
|
||||
|
||||
if (exists $params{file}) {
|
||||
if (! $pagesources{$params{file}}) {
|
||||
if (! exists $pagesources{$params{file}}) {
|
||||
error gettext("cannot find file");
|
||||
}
|
||||
$params{data} = readfile(srcfile($params{file}));
|
||||
add_depends($params{page}, $params{file});
|
||||
}
|
||||
|
||||
if (! defined wantarray) {
|
||||
# scan mode -- if the table uses an external file, need to
|
||||
# scan that file too.
|
||||
return unless exists $params{file};
|
||||
|
||||
IkiWiki::run_hooks(scan => sub {
|
||||
shift->(
|
||||
page => $params{page},
|
||||
content => $params{data},
|
||||
);
|
||||
});
|
||||
|
||||
# Preprocess in scan-only mode.
|
||||
IkiWiki::preprocess($params{page}, $params{page}, $params{data}, 1);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (lc $params{format} eq 'auto') {
|
||||
# first try the more simple format
|
||||
if (is_dsv_data($params{data})) {
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
ikiwiki (3.02) UNRELEASED; urgency=low
|
||||
|
||||
* table: Fix misparsed links in external files.
|
||||
* table: Find links in external files in scan pass.
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Tue, 06 Jan 2009 15:02:52 -0500
|
||||
|
||||
|
|
|
@ -5,3 +5,5 @@ table when the pages the links point to change (are added, removed, etc).
|
|||
There seem only two solutions to that bug -- either really make wikilinks
|
||||
in an external table file not work (probably by escaping them),
|
||||
or run the preprocess code also in scan (expensive!). --[[Joey]]
|
||||
|
||||
[[done]]
|
||||
|
|
|
@ -15,5 +15,7 @@ use IkiWiki::Setup::Standard {
|
|||
userdir => "users",
|
||||
usedirs => 0,
|
||||
prefix_directives => 1,
|
||||
cgiurl => "http://me",
|
||||
url => "http://me",
|
||||
add_plugins => [qw{goodstuff version haiku polygen fortune}],
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-01-05 18:53-0500\n"
|
||||
"POT-Creation-Date: 2009-01-06 14:31-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
Loading…
Reference in New Issue