* Allow preprocessor directives to span multiple lines, both to make

long ones with lots of values easier to write, and to allow for ones with
  multi-line quoted values.
master
joey 2006-08-23 03:25:40 +00:00
parent 63c79e7f5b
commit 78b279c3d8
4 changed files with 18 additions and 3 deletions

View File

@ -18,7 +18,6 @@ use vars qw{%config %links %oldlinks %oldpagemtime %pagectime %pagecase
sub defaultconfig () { #{{{
wiki_file_prune_regexp => qr{((^|/).svn/|\.\.|^\.|\/\.|\.x?html?$|\.rss$)},
wiki_link_regexp => qr/\[\[(?:([^\]\|]+)\|)?([^\s\]]+)\]\]/,
wiki_processor_regexp => qr/\[\[(\w+)\s+([^\]]*)\]\]/,
wiki_file_regexp => qr/(^[-[:alnum:]_.:\/+]+$)/,
verbose => 0,
syslog => 0,

View File

@ -123,7 +123,7 @@ sub preprocess ($$$;$) { #{{{
}
};
$content =~ s{(\\?)$config{wiki_processor_regexp}}{$handle->($1, $2, $3)}eg;
$content =~ s{(\\?)\[\[(\w+)\s+((?:(?:\w+=)?(?:"[^"]+"|[^\s\]]+)\s*)*)\]\]}{$handle->($1, $2, $3)}eg;
return $content;
} #}}}

View File

@ -15,3 +15,16 @@ Note that if a preprocessor directive has no parameters, a space still must
be put after its name, to avoid confusion with a [[WikiLink]]. For example:
\[[pagecount ]]
A preprocessor directive does not need to all be on one line. Also,
multiple lines of *quoted* text can be used for a value. Examples:
\[[directive foo="baldersnatch"
bar="supercalifragalisticexpealadocious" baz=11]]
\[[directive text="
1. foo
2. bar
3. baz
more lines
"]]

5
debian/changelog vendored
View File

@ -5,8 +5,11 @@ ikiwiki (1.22) UNRELEASED; urgency=low
new more general variable can be used to link to other things (eg, images)
from the template, as well as stylesheets.
* Fix a bug introduced last version to do with nested inlines.
* Allow preprocessor directives to span multiple lines, both to make
long ones with lots of values easier to write, and to allow for ones with
multi-line quoted values.
-- Joey Hess <joeyh@debian.org> Tue, 22 Aug 2006 12:53:05 -0400
-- Joey Hess <joeyh@debian.org> Tue, 22 Aug 2006 23:09:46 -0400
ikiwiki (1.21) unstable; urgency=low