From 9c5f4761d8bf785ca98d5fda66fbbe9dbe11897c Mon Sep 17 00:00:00 2001 From: joey Date: Tue, 28 Aug 2007 01:59:01 +0000 Subject: [PATCH] * Support for looking in multiple directories for underlay files. * Plugins can add new directories to the search path with the add_underlay function. * Split out smiley underlay files into a separate underlay, so if the plugin isn't used, the wiki isn't bloated with all those files. --- IkiWiki.pm | 21 +++++++- IkiWiki/CGI.pm | 7 +-- IkiWiki/Plugin/smiley.pm | 1 + IkiWiki/Render.pm | 51 ++++++++++--------- Makefile.PL | 10 +++- basewiki/blog.mdwn | 1 - basewiki/favicon.ico | 1 - basewiki/helponformatting.mdwn | 1 - basewiki/index.mdwn | 1 - basewiki/local.css | 1 - basewiki/markdown.mdwn | 1 - basewiki/openid.mdwn | 1 - basewiki/pagespec.mdwn | 1 - basewiki/preprocessordirective.mdwn | 1 - basewiki/sandbox.mdwn | 1 - basewiki/shortcuts.mdwn | 1 - basewiki/smileys | 1 - basewiki/smileys.mdwn | 1 - basewiki/style.css | 1 - basewiki/subpage | 1 - basewiki/subpage.mdwn | 1 - basewiki/templates.mdwn | 1 - basewiki/templates/note.mdwn | 1 - basewiki/templates/popup.mdwn | 1 - basewiki/wikiicons | 1 - basewiki/wikilink.mdwn | 1 - debian/changelog | 9 +++- doc/basewiki.mdwn | 1 - doc/blog.mdwn | 2 +- doc/bugs/brokenlinks_false_positives.mdwn | 6 +++ doc/plugins/write.mdwn | 12 ++++- doc/smileys.mdwn | 4 -- doc/todo/conditional_underlay_files.mdwn | 7 ++- doc/todo/wikiwyg/discussion.mdwn | 3 ++ po/ikiwiki.pot | 42 +++++++-------- t/basewiki_brokenlinks.t | 13 +++-- underlays/basewiki/blog.mdwn | 1 + underlays/basewiki/favicon.ico | 1 + underlays/basewiki/helponformatting.mdwn | 1 + underlays/basewiki/index.mdwn | 1 + underlays/basewiki/local.css | 1 + underlays/basewiki/markdown.mdwn | 1 + underlays/basewiki/openid.mdwn | 1 + underlays/basewiki/pagespec.mdwn | 1 + underlays/basewiki/preprocessordirective.mdwn | 1 + underlays/basewiki/sandbox.mdwn | 1 + underlays/basewiki/shortcuts.mdwn | 1 + underlays/basewiki/style.css | 1 + underlays/basewiki/subpage | 1 + underlays/basewiki/subpage.mdwn | 1 + underlays/basewiki/templates.mdwn | 1 + underlays/basewiki/templates/note.mdwn | 1 + underlays/basewiki/templates/popup.mdwn | 1 + underlays/basewiki/wikiicons | 1 + underlays/basewiki/wikilink.mdwn | 1 + underlays/smiley/smileys | 1 + underlays/smiley/smileys.mdwn | 1 + 57 files changed, 142 insertions(+), 89 deletions(-) delete mode 120000 basewiki/blog.mdwn delete mode 120000 basewiki/favicon.ico delete mode 120000 basewiki/helponformatting.mdwn delete mode 120000 basewiki/index.mdwn delete mode 120000 basewiki/local.css delete mode 120000 basewiki/markdown.mdwn delete mode 120000 basewiki/openid.mdwn delete mode 120000 basewiki/pagespec.mdwn delete mode 120000 basewiki/preprocessordirective.mdwn delete mode 120000 basewiki/sandbox.mdwn delete mode 120000 basewiki/shortcuts.mdwn delete mode 120000 basewiki/smileys delete mode 120000 basewiki/smileys.mdwn delete mode 120000 basewiki/style.css delete mode 120000 basewiki/subpage delete mode 120000 basewiki/subpage.mdwn delete mode 120000 basewiki/templates.mdwn delete mode 120000 basewiki/templates/note.mdwn delete mode 120000 basewiki/templates/popup.mdwn delete mode 120000 basewiki/wikiicons delete mode 120000 basewiki/wikilink.mdwn create mode 100644 doc/bugs/brokenlinks_false_positives.mdwn create mode 120000 underlays/basewiki/blog.mdwn create mode 120000 underlays/basewiki/favicon.ico create mode 120000 underlays/basewiki/helponformatting.mdwn create mode 120000 underlays/basewiki/index.mdwn create mode 120000 underlays/basewiki/local.css create mode 120000 underlays/basewiki/markdown.mdwn create mode 120000 underlays/basewiki/openid.mdwn create mode 120000 underlays/basewiki/pagespec.mdwn create mode 120000 underlays/basewiki/preprocessordirective.mdwn create mode 120000 underlays/basewiki/sandbox.mdwn create mode 120000 underlays/basewiki/shortcuts.mdwn create mode 120000 underlays/basewiki/style.css create mode 120000 underlays/basewiki/subpage create mode 120000 underlays/basewiki/subpage.mdwn create mode 120000 underlays/basewiki/templates.mdwn create mode 120000 underlays/basewiki/templates/note.mdwn create mode 120000 underlays/basewiki/templates/popup.mdwn create mode 120000 underlays/basewiki/wikiicons create mode 120000 underlays/basewiki/wikilink.mdwn create mode 120000 underlays/smiley/smileys create mode 120000 underlays/smiley/smileys.mdwn diff --git a/IkiWiki.pm b/IkiWiki.pm index 18a518f3f..0485da75c 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -17,6 +17,7 @@ use Exporter q{import}; our @EXPORT = qw(hook debug error template htmlpage add_depends pagespec_match bestlink htmllink readfile writefile pagetype srcfile pagename displaytime will_render gettext urlto targetpage + add_underlay %config %links %renderedfiles %pagesources %destsources); our $VERSION = 2.00; # plugin interface version, next is ikiwiki version our $version='unknown'; # VERSION_AUTOREPLACE done by Makefile, DNE @@ -83,6 +84,7 @@ sub defaultconfig () { #{{{ pingurl => [], templatedir => "$installdir/share/ikiwiki/templates", underlaydir => "$installdir/share/ikiwiki/basewiki", + underlaydirs => [], setup => undef, adminuser => undef, adminemail => undef, @@ -285,11 +287,26 @@ sub srcfile ($) { #{{{ my $file=shift; return "$config{srcdir}/$file" if -e "$config{srcdir}/$file"; - return "$config{underlaydir}/$file" if -e "$config{underlaydir}/$file"; - error("internal error: $file cannot be found in $config{srcdir} or $config{underlaydir}"); + foreach my $dir (@{$config{underlaydirs}}, $config{underlaydir}) { + return "$dir/$file" if -e "$dir/$file"; + } + error("internal error: $file cannot be found in $config{srcdir} or underlay"); return; } #}}} +sub add_underlay ($) { #{{{ + my $dir=shift; + + if ($dir=~/^\//) { + unshift @{$config{underlaydirs}}, $dir; + } + else { + unshift @{$config{underlaydirs}}, "$config{underlaydir}/../$dir"; + } + + return 1; +} #}}} + sub readfile ($;$$) { #{{{ my $file=shift; my $binary=shift; diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm index 82b619592..c785e31de 100644 --- a/IkiWiki/CGI.pm +++ b/IkiWiki/CGI.pm @@ -335,7 +335,8 @@ sub cgi_editpage ($$) { #{{{ # characters. my ($page)=$form->field('page'); $page=titlepage(possibly_foolish_untaint($page)); - if (! defined $page || ! length $page || file_pruned($page, $config{srcdir}) || $page=~/^\//) { + if (! defined $page || ! length $page || + file_pruned($page, $config{srcdir}) || $page=~/^\//) { error("bad page name"); } @@ -512,8 +513,8 @@ sub cgi_editpage ($$) { #{{{ my $exists=-e "$config{srcdir}/$file"; - if ($form->field("do") ne "create" && - ! $exists && ! -e "$config{underlaydir}/$file") { + if ($form->field("do") ne "create" && ! $exists && + ! eval { srcfile($file) }) { $form->tmpl_param("page_gone", 1); $form->field(name => "do", value => "create", force => 1); $form->tmpl_param("page_select", 0); diff --git a/IkiWiki/Plugin/smiley.pm b/IkiWiki/Plugin/smiley.pm index 96e714d3d..932c2c4fe 100644 --- a/IkiWiki/Plugin/smiley.pm +++ b/IkiWiki/Plugin/smiley.pm @@ -9,6 +9,7 @@ my %smileys; my $smiley_regexp; sub import { #{{{ + add_underlay("smiley"); hook(type => "filter", id => "smiley", call => \&filter); } # }}} diff --git a/IkiWiki/Render.pm b/IkiWiki/Render.pm index 5fd0dea0d..35d663a7a 100644 --- a/IkiWiki/Render.pm +++ b/IkiWiki/Render.pm @@ -270,34 +270,37 @@ sub refresh () { #{{{ } }, }, $config{srcdir}); - find({ - no_chdir => 1, - wanted => sub { - $_=decode_utf8($_); - if (file_pruned($_, $config{underlaydir})) { - $File::Find::prune=1; - } - elsif (! -d $_ && ! -l $_) { - my ($f)=/$config{wiki_file_regexp}/; # untaint - if (! defined $f) { - warn(sprintf(gettext("skipping bad filename %s"), $_)."\n"); + foreach my $dir (@{$config{underlaydirs}}, $config{underlaydir}) { + find({ + no_chdir => 1, + wanted => sub { + $_=decode_utf8($_); + if (file_pruned($_, $dir)) { + $File::Find::prune=1; } - else { - # Don't add pages that are in the - # srcdir. - $f=~s/^\Q$config{underlaydir}\E\/?//; - if (! -e "$config{srcdir}/$f" && - ! -l "$config{srcdir}/$f") { - my $page=pagename($f); - if (! $exists{$page}) { - push @files, $f; - $exists{$page}=1; + elsif (! -d $_ && ! -l $_) { + my ($f)=/$config{wiki_file_regexp}/; # untaint + if (! defined $f) { + warn(sprintf(gettext("skipping bad filename %s"), $_)."\n"); + } + else { + $f=~s/^\Q$dir\E\/?//; + # avoid underlaydir + # override attacks; see + # security.mdwn + if (! -e "$config{srcdir}/$f" && + ! -l "$config{srcdir}/$f") { + my $page=pagename($f); + if (! $exists{$page}) { + push @files, $f; + $exists{$page}=1; + } } } } - } - }, - }, $config{underlaydir}); + }, + }, $dir); + }; my %rendered; diff --git a/Makefile.PL b/Makefile.PL index aba4239d8..1add3cf1c 100755 --- a/Makefile.PL +++ b/Makefile.PL @@ -32,7 +32,7 @@ ikiwiki.out: ikiwiki.in extra_build: ikiwiki.out LANG= perl -I. $(extramodules) $(tflag) ikiwiki.out doc html --templatedir=templates \ - --underlaydir=basewiki --nousedirs\ + --underlaydir=underlays/basewiki --nousedirs\ --wikiname="ikiwiki" --verbose \ --exclude=/discussion --no-discussion --userdir=users \ --plugin=goodstuff \ @@ -49,7 +49,13 @@ extra_clean: extra_install: install -d $(DESTDIR)$(PREFIX)/share/ikiwiki - for dir in `find basewiki templates -follow -type d ! -regex '.*\.svn.*'`; do \ + for dir in `cd underlays && find . -follow -type d ! -regex '.*\.svn.*'`; do \ + install -d $(DESTDIR)$(PREFIX)/share/ikiwiki/$$dir; \ + for file in `find underlays/$$dir -follow -maxdepth 1 -type f`; do \ + install -m 644 $$file $(DESTDIR)$(PREFIX)/share/ikiwiki/$$dir; \ + done; \ + done + for dir in `find templates -follow -type d ! -regex '.*\.svn.*'`; do \ install -d $(DESTDIR)$(PREFIX)/share/ikiwiki/$$dir; \ for file in `find $$dir -follow -maxdepth 1 -type f`; do \ install -m 644 $$file $(DESTDIR)$(PREFIX)/share/ikiwiki/$$dir; \ diff --git a/basewiki/blog.mdwn b/basewiki/blog.mdwn deleted file mode 120000 index 1b35deb8a..000000000 --- a/basewiki/blog.mdwn +++ /dev/null @@ -1 +0,0 @@ -../doc/blog.mdwn \ No newline at end of file diff --git a/basewiki/favicon.ico b/basewiki/favicon.ico deleted file mode 120000 index 0572371db..000000000 --- a/basewiki/favicon.ico +++ /dev/null @@ -1 +0,0 @@ -../doc/favicon.ico \ No newline at end of file diff --git a/basewiki/helponformatting.mdwn b/basewiki/helponformatting.mdwn deleted file mode 120000 index 56c810f3c..000000000 --- a/basewiki/helponformatting.mdwn +++ /dev/null @@ -1 +0,0 @@ -../doc/helponformatting.mdwn \ No newline at end of file diff --git a/basewiki/index.mdwn b/basewiki/index.mdwn deleted file mode 120000 index d9f08acd6..000000000 --- a/basewiki/index.mdwn +++ /dev/null @@ -1 +0,0 @@ -../doc/basewiki/index.mdwn \ No newline at end of file diff --git a/basewiki/local.css b/basewiki/local.css deleted file mode 120000 index f081a6a60..000000000 --- a/basewiki/local.css +++ /dev/null @@ -1 +0,0 @@ -../doc/local.css \ No newline at end of file diff --git a/basewiki/markdown.mdwn b/basewiki/markdown.mdwn deleted file mode 120000 index 1724caec2..000000000 --- a/basewiki/markdown.mdwn +++ /dev/null @@ -1 +0,0 @@ -../doc/markdown.mdwn \ No newline at end of file diff --git a/basewiki/openid.mdwn b/basewiki/openid.mdwn deleted file mode 120000 index 3a37eab73..000000000 --- a/basewiki/openid.mdwn +++ /dev/null @@ -1 +0,0 @@ -../doc/openid.mdwn \ No newline at end of file diff --git a/basewiki/pagespec.mdwn b/basewiki/pagespec.mdwn deleted file mode 120000 index 71ea44d15..000000000 --- a/basewiki/pagespec.mdwn +++ /dev/null @@ -1 +0,0 @@ -../doc/pagespec.mdwn \ No newline at end of file diff --git a/basewiki/preprocessordirective.mdwn b/basewiki/preprocessordirective.mdwn deleted file mode 120000 index f786ed33b..000000000 --- a/basewiki/preprocessordirective.mdwn +++ /dev/null @@ -1 +0,0 @@ -../doc/preprocessordirective.mdwn \ No newline at end of file diff --git a/basewiki/sandbox.mdwn b/basewiki/sandbox.mdwn deleted file mode 120000 index e92d4a31c..000000000 --- a/basewiki/sandbox.mdwn +++ /dev/null @@ -1 +0,0 @@ -../doc/basewiki/sandbox.mdwn \ No newline at end of file diff --git a/basewiki/shortcuts.mdwn b/basewiki/shortcuts.mdwn deleted file mode 120000 index 33892d73a..000000000 --- a/basewiki/shortcuts.mdwn +++ /dev/null @@ -1 +0,0 @@ -../doc/shortcuts.mdwn \ No newline at end of file diff --git a/basewiki/smileys b/basewiki/smileys deleted file mode 120000 index 56eec0317..000000000 --- a/basewiki/smileys +++ /dev/null @@ -1 +0,0 @@ -../doc/smileys \ No newline at end of file diff --git a/basewiki/smileys.mdwn b/basewiki/smileys.mdwn deleted file mode 120000 index 057df5adf..000000000 --- a/basewiki/smileys.mdwn +++ /dev/null @@ -1 +0,0 @@ -../doc/smileys.mdwn \ No newline at end of file diff --git a/basewiki/style.css b/basewiki/style.css deleted file mode 120000 index f32009635..000000000 --- a/basewiki/style.css +++ /dev/null @@ -1 +0,0 @@ -../doc/style.css \ No newline at end of file diff --git a/basewiki/subpage b/basewiki/subpage deleted file mode 120000 index 3b66a5531..000000000 --- a/basewiki/subpage +++ /dev/null @@ -1 +0,0 @@ -../doc/subpage \ No newline at end of file diff --git a/basewiki/subpage.mdwn b/basewiki/subpage.mdwn deleted file mode 120000 index 04ec383fc..000000000 --- a/basewiki/subpage.mdwn +++ /dev/null @@ -1 +0,0 @@ -../doc/subpage.mdwn \ No newline at end of file diff --git a/basewiki/templates.mdwn b/basewiki/templates.mdwn deleted file mode 120000 index 414cb4233..000000000 --- a/basewiki/templates.mdwn +++ /dev/null @@ -1 +0,0 @@ -../doc/templates.mdwn \ No newline at end of file diff --git a/basewiki/templates/note.mdwn b/basewiki/templates/note.mdwn deleted file mode 120000 index 40337b9b1..000000000 --- a/basewiki/templates/note.mdwn +++ /dev/null @@ -1 +0,0 @@ -../../doc/templates/note.mdwn \ No newline at end of file diff --git a/basewiki/templates/popup.mdwn b/basewiki/templates/popup.mdwn deleted file mode 120000 index 9391631f6..000000000 --- a/basewiki/templates/popup.mdwn +++ /dev/null @@ -1 +0,0 @@ -../../doc/templates/popup.mdwn \ No newline at end of file diff --git a/basewiki/wikiicons b/basewiki/wikiicons deleted file mode 120000 index 0d4968c84..000000000 --- a/basewiki/wikiicons +++ /dev/null @@ -1 +0,0 @@ -../doc/wikiicons \ No newline at end of file diff --git a/basewiki/wikilink.mdwn b/basewiki/wikilink.mdwn deleted file mode 120000 index f63c38ed2..000000000 --- a/basewiki/wikilink.mdwn +++ /dev/null @@ -1 +0,0 @@ -../doc/wikilink.mdwn \ No newline at end of file diff --git a/debian/changelog b/debian/changelog index 8552edfd1..7b8e956e0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,13 @@ -ikiwiki (2.6.2) UNRELEASED; urgency=low +ikiwiki (2.7) UNRELEASED; urgency=low * Add an editcontent hook. + * Support for looking in multiple directories for underlay files. + * Plugins can add new directories to the search path with the add_underlay + function. + * Split out smiley underlay files into a separate underlay, so if the plugin + isn't used, the wiki isn't bloated with all those files. - -- Joey Hess Sun, 26 Aug 2007 16:50:24 -0400 + -- Joey Hess Mon, 27 Aug 2007 20:48:51 -0400 ikiwiki (2.6.1) unstable; urgency=low diff --git a/doc/basewiki.mdwn b/doc/basewiki.mdwn index acc1b3a60..fca8902eb 100644 --- a/doc/basewiki.mdwn +++ b/doc/basewiki.mdwn @@ -13,7 +13,6 @@ It currently includes these pages: * [[pagespec]] * [[PreprocessorDirective]] * [[shortcuts]] -* [[smileys]] * [[subpage]] * [[wikilink]] diff --git a/doc/blog.mdwn b/doc/blog.mdwn index be4ed41e2..1593278d1 100644 --- a/doc/blog.mdwn +++ b/doc/blog.mdwn @@ -67,7 +67,7 @@ directive: * `quick` - Build archives in quick mode, without reading page contents for metadata. By default, this also turns off generation of any feeds. * `template` - Specifies the template to fill out to display each inlined - page. By default the `inlinepage` [[template|wikitemplates]] is used, while + page. By default the `inlinepage` template is used, while the `archivepage` template is used for archives. Set this parameter to use some other, custom template, such as the `titlepage` template that only shows post titles. Note that you should still set `archive=yes` if diff --git a/doc/bugs/brokenlinks_false_positives.mdwn b/doc/bugs/brokenlinks_false_positives.mdwn new file mode 100644 index 000000000..64287dd89 --- /dev/null +++ b/doc/bugs/brokenlinks_false_positives.mdwn @@ -0,0 +1,6 @@ +The [[plugin/brokenlinks]] plugin falsely complains that +[[helponformatting]] has a broken link to [[smileys]], if the smiley plgin +is disabled. While the helponformatting page links to it inside a +conditional, and so doesn't show the link in this case, ikiwiki scans for +links w/o looking at conditionals and so still thinks the page contains the +link. diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index 0c192eb64..4ec9e8c7b 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -461,8 +461,16 @@ that corresponds to that file. #### `srcfile($)` Given the name of a source file in the wiki, searches for the file in -the source directory and the underlay directory, and returns the full -path to the first file found. +the source directory and the underlay directories (most recently added +underlays first), and returns the full path to the first file found. + +#### `add_underlay($)` + +Adds a directory to the set of underlay directories that ikiwiki will +search for files. + +If the directory name is not absolute, ikiwiki will assume it is in +the parent directory of the configured underlaydir. #### `displaytime($)` diff --git a/doc/smileys.mdwn b/doc/smileys.mdwn index dfe30430b..9915ec587 100644 --- a/doc/smileys.mdwn +++ b/doc/smileys.mdwn @@ -1,7 +1,3 @@ -[[if test="enabled(smiley)" - then="This wiki has smileys **enabled**." - else="This wiki has smileys **disabled**."]] - This page is used to control what smileys are supported by the wiki. Just write the text of a smiley to display it. diff --git a/doc/todo/conditional_underlay_files.mdwn b/doc/todo/conditional_underlay_files.mdwn index 87f70696b..14ab4dac3 100644 --- a/doc/todo/conditional_underlay_files.mdwn +++ b/doc/todo/conditional_underlay_files.mdwn @@ -21,4 +21,9 @@ hackish. > plugins were enabled. > > Using the conditionals in a page to control what other pages get built -> feels complex to me, --[[Joey]] +> feels complex to me. +> +> Instead, this has been implmented as the `add_underlay()` function. +> [[done]] +> --[[Joey]] + diff --git a/doc/todo/wikiwyg/discussion.mdwn b/doc/todo/wikiwyg/discussion.mdwn index 642576b7c..79bb83a87 100644 --- a/doc/todo/wikiwyg/discussion.mdwn +++ b/doc/todo/wikiwyg/discussion.mdwn @@ -70,6 +70,9 @@ changes.diff: you have something pretty specific in mind. I can talk to you about that more on IRC later(assuming my internet is working right). * Basically the idea is to change `$config{underlaydir}` to an array.. + Ok, take a look at the new `add_underlay()` function. You can now just + `add_underlay("wikiwyg")` and it'll look in + /usr/share/ikiwiki/wikiwyg/ for the files. * When is the WIKIWYG variable in misc.tmpl used? * The WIKIWYG variable in misc.tmpl is used for the edit page. I believe that is what you wanted me to do (Check [Revision 3840][]). diff --git a/po/ikiwiki.pot b/po/ikiwiki.pot index 6ebf2848d..e262569f2 100644 --- a/po/ikiwiki.pot +++ b/po/ikiwiki.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-08-26 13:39-0400\n" +"POT-Creation-Date: 2007-08-27 21:24-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -36,34 +36,34 @@ msgstr "" msgid "Preferences saved." msgstr "" -#: ../IkiWiki/CGI.pm:353 +#: ../IkiWiki/CGI.pm:354 #, perl-format msgid "%s is not an editable page" msgstr "" -#: ../IkiWiki/CGI.pm:432 ../IkiWiki/Plugin/brokenlinks.pm:24 +#: ../IkiWiki/CGI.pm:441 ../IkiWiki/Plugin/brokenlinks.pm:24 #: ../IkiWiki/Plugin/inline.pm:209 ../IkiWiki/Plugin/opendiscussion.pm:17 #: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:99 #: ../IkiWiki/Render.pm:179 msgid "discussion" msgstr "" -#: ../IkiWiki/CGI.pm:478 +#: ../IkiWiki/CGI.pm:487 #, perl-format msgid "creating %s" msgstr "" -#: ../IkiWiki/CGI.pm:496 ../IkiWiki/CGI.pm:514 ../IkiWiki/CGI.pm:524 -#: ../IkiWiki/CGI.pm:550 ../IkiWiki/CGI.pm:594 +#: ../IkiWiki/CGI.pm:505 ../IkiWiki/CGI.pm:523 ../IkiWiki/CGI.pm:533 +#: ../IkiWiki/CGI.pm:566 ../IkiWiki/CGI.pm:610 #, perl-format msgid "editing %s" msgstr "" -#: ../IkiWiki/CGI.pm:688 +#: ../IkiWiki/CGI.pm:704 msgid "You are banned." msgstr "" -#: ../IkiWiki/CGI.pm:708 +#: ../IkiWiki/CGI.pm:724 msgid "login failed, perhaps you need to turn on cookies?" msgstr "" @@ -374,7 +374,7 @@ msgstr "" msgid "shortcut %s points to %s" msgstr "" -#: ../IkiWiki/Plugin/smiley.pm:22 +#: ../IkiWiki/Plugin/smiley.pm:23 msgid "failed to parse any smileys" msgstr "" @@ -476,47 +476,47 @@ msgid "" "notifications" msgstr "" -#: ../IkiWiki/Render.pm:263 ../IkiWiki/Render.pm:283 +#: ../IkiWiki/Render.pm:263 ../IkiWiki/Render.pm:284 #, perl-format msgid "skipping bad filename %s" msgstr "" -#: ../IkiWiki/Render.pm:323 +#: ../IkiWiki/Render.pm:326 #, perl-format msgid "removing old page %s" msgstr "" -#: ../IkiWiki/Render.pm:356 +#: ../IkiWiki/Render.pm:359 #, perl-format msgid "scanning %s" msgstr "" -#: ../IkiWiki/Render.pm:361 +#: ../IkiWiki/Render.pm:364 #, perl-format msgid "rendering %s" msgstr "" -#: ../IkiWiki/Render.pm:373 +#: ../IkiWiki/Render.pm:376 #, perl-format msgid "rendering %s, which links to %s" msgstr "" -#: ../IkiWiki/Render.pm:390 +#: ../IkiWiki/Render.pm:393 #, perl-format msgid "rendering %s, which depends on %s" msgstr "" -#: ../IkiWiki/Render.pm:428 +#: ../IkiWiki/Render.pm:431 #, perl-format msgid "rendering %s, to update its backlinks" msgstr "" -#: ../IkiWiki/Render.pm:440 +#: ../IkiWiki/Render.pm:443 #, perl-format msgid "removing %s, no longer rendered by %s" msgstr "" -#: ../IkiWiki/Render.pm:466 +#: ../IkiWiki/Render.pm:469 #, perl-format msgid "ikiwiki: cannot render %s" msgstr "" @@ -593,11 +593,11 @@ msgstr "" msgid "usage: --set var=value" msgstr "" -#: ../IkiWiki.pm:126 +#: ../IkiWiki.pm:128 msgid "Must specify url to wiki with --url when using --cgi" msgstr "" -#: ../IkiWiki.pm:191 ../IkiWiki.pm:192 +#: ../IkiWiki.pm:193 ../IkiWiki.pm:194 msgid "Error" msgstr "" @@ -605,7 +605,7 @@ msgstr "" #. translators: preprocessor directive name, #. translators: the second a page name, the #. translators: third a number. -#: ../IkiWiki.pm:688 +#: ../IkiWiki.pm:705 #, perl-format msgid "%s preprocessing loop detected on %s at depth %i" msgstr "" diff --git a/t/basewiki_brokenlinks.t b/t/basewiki_brokenlinks.t index fbcc10554..00811a5e3 100755 --- a/t/basewiki_brokenlinks.t +++ b/t/basewiki_brokenlinks.t @@ -1,9 +1,12 @@ #!/usr/bin/perl use warnings; use strict; -use Test::More tests => 3; +use Test::More 'no_plan'; -ok(! system("make ikiwiki.out")); -ok(! system("LANG=C perl -T -I. ./ikiwiki.out -plugin brokenlinks -rebuild -underlaydir=basewiki -templatedir=templates t/basewiki_brokenlinks t/basewiki_brokenlinks/out")); -ok(`grep 'no broken links' t/basewiki_brokenlinks/out/index.html`); -system("rm -rf t/basewiki_brokenlinks/out t/basewiki_brokenlinks/.ikiwiki"); +ok(! system("mkdir t/tmp")); +ok(! system("make -q ikiwiki.out")); +ok(! system("make extra_install DESTDIR=t/tmp/install PREFIX=/usr >/dev/null")); +ok(! system("LANG= perl -T -I. ./ikiwiki.out -plugin smiley -plugin brokenlinks -rebuild -underlaydir=t/tmp/install/usr/share/ikiwiki/basewiki -templatedir=templates t/basewiki_brokenlinks t/tmp/out")); +ok(`grep 'no broken links' t/tmp/out/index.html`); +ok(-e "t/tmp/out/style.css"); +ok(! system("rm -rf t/tmp t/basewiki_brokenlinks/.ikiwiki")); diff --git a/underlays/basewiki/blog.mdwn b/underlays/basewiki/blog.mdwn new file mode 120000 index 000000000..9ab431078 --- /dev/null +++ b/underlays/basewiki/blog.mdwn @@ -0,0 +1 @@ +../../doc/blog.mdwn \ No newline at end of file diff --git a/underlays/basewiki/favicon.ico b/underlays/basewiki/favicon.ico new file mode 120000 index 000000000..399fec7c6 --- /dev/null +++ b/underlays/basewiki/favicon.ico @@ -0,0 +1 @@ +../../doc/favicon.ico \ No newline at end of file diff --git a/underlays/basewiki/helponformatting.mdwn b/underlays/basewiki/helponformatting.mdwn new file mode 120000 index 000000000..6d0d82f71 --- /dev/null +++ b/underlays/basewiki/helponformatting.mdwn @@ -0,0 +1 @@ +../../doc/helponformatting.mdwn \ No newline at end of file diff --git a/underlays/basewiki/index.mdwn b/underlays/basewiki/index.mdwn new file mode 120000 index 000000000..37c114529 --- /dev/null +++ b/underlays/basewiki/index.mdwn @@ -0,0 +1 @@ +../../doc/basewiki/index.mdwn \ No newline at end of file diff --git a/underlays/basewiki/local.css b/underlays/basewiki/local.css new file mode 120000 index 000000000..01a7b0448 --- /dev/null +++ b/underlays/basewiki/local.css @@ -0,0 +1 @@ +../../doc/local.css \ No newline at end of file diff --git a/underlays/basewiki/markdown.mdwn b/underlays/basewiki/markdown.mdwn new file mode 120000 index 000000000..7b555fd91 --- /dev/null +++ b/underlays/basewiki/markdown.mdwn @@ -0,0 +1 @@ +../../doc/markdown.mdwn \ No newline at end of file diff --git a/underlays/basewiki/openid.mdwn b/underlays/basewiki/openid.mdwn new file mode 120000 index 000000000..f2d584b4c --- /dev/null +++ b/underlays/basewiki/openid.mdwn @@ -0,0 +1 @@ +../../doc/openid.mdwn \ No newline at end of file diff --git a/underlays/basewiki/pagespec.mdwn b/underlays/basewiki/pagespec.mdwn new file mode 120000 index 000000000..b5eb02e04 --- /dev/null +++ b/underlays/basewiki/pagespec.mdwn @@ -0,0 +1 @@ +../../doc/pagespec.mdwn \ No newline at end of file diff --git a/underlays/basewiki/preprocessordirective.mdwn b/underlays/basewiki/preprocessordirective.mdwn new file mode 120000 index 000000000..4b45d4966 --- /dev/null +++ b/underlays/basewiki/preprocessordirective.mdwn @@ -0,0 +1 @@ +../../doc/preprocessordirective.mdwn \ No newline at end of file diff --git a/underlays/basewiki/sandbox.mdwn b/underlays/basewiki/sandbox.mdwn new file mode 120000 index 000000000..0761adf3c --- /dev/null +++ b/underlays/basewiki/sandbox.mdwn @@ -0,0 +1 @@ +../../doc/basewiki/sandbox.mdwn \ No newline at end of file diff --git a/underlays/basewiki/shortcuts.mdwn b/underlays/basewiki/shortcuts.mdwn new file mode 120000 index 000000000..2e6bfcdc2 --- /dev/null +++ b/underlays/basewiki/shortcuts.mdwn @@ -0,0 +1 @@ +../../doc/shortcuts.mdwn \ No newline at end of file diff --git a/underlays/basewiki/style.css b/underlays/basewiki/style.css new file mode 120000 index 000000000..9383b4afe --- /dev/null +++ b/underlays/basewiki/style.css @@ -0,0 +1 @@ +../../doc/style.css \ No newline at end of file diff --git a/underlays/basewiki/subpage b/underlays/basewiki/subpage new file mode 120000 index 000000000..a22701f64 --- /dev/null +++ b/underlays/basewiki/subpage @@ -0,0 +1 @@ +../../doc/subpage \ No newline at end of file diff --git a/underlays/basewiki/subpage.mdwn b/underlays/basewiki/subpage.mdwn new file mode 120000 index 000000000..6c225fc92 --- /dev/null +++ b/underlays/basewiki/subpage.mdwn @@ -0,0 +1 @@ +../../doc/subpage.mdwn \ No newline at end of file diff --git a/underlays/basewiki/templates.mdwn b/underlays/basewiki/templates.mdwn new file mode 120000 index 000000000..a7bb48f95 --- /dev/null +++ b/underlays/basewiki/templates.mdwn @@ -0,0 +1 @@ +../../doc/templates.mdwn \ No newline at end of file diff --git a/underlays/basewiki/templates/note.mdwn b/underlays/basewiki/templates/note.mdwn new file mode 120000 index 000000000..f44d40c80 --- /dev/null +++ b/underlays/basewiki/templates/note.mdwn @@ -0,0 +1 @@ +../../../doc/templates/note.mdwn \ No newline at end of file diff --git a/underlays/basewiki/templates/popup.mdwn b/underlays/basewiki/templates/popup.mdwn new file mode 120000 index 000000000..4761d7f4f --- /dev/null +++ b/underlays/basewiki/templates/popup.mdwn @@ -0,0 +1 @@ +../../../doc/templates/popup.mdwn \ No newline at end of file diff --git a/underlays/basewiki/wikiicons b/underlays/basewiki/wikiicons new file mode 120000 index 000000000..b333d714a --- /dev/null +++ b/underlays/basewiki/wikiicons @@ -0,0 +1 @@ +../../doc/wikiicons \ No newline at end of file diff --git a/underlays/basewiki/wikilink.mdwn b/underlays/basewiki/wikilink.mdwn new file mode 120000 index 000000000..146ac42bb --- /dev/null +++ b/underlays/basewiki/wikilink.mdwn @@ -0,0 +1 @@ +../../doc/wikilink.mdwn \ No newline at end of file diff --git a/underlays/smiley/smileys b/underlays/smiley/smileys new file mode 120000 index 000000000..5ccf882ba --- /dev/null +++ b/underlays/smiley/smileys @@ -0,0 +1 @@ +../../doc/smileys \ No newline at end of file diff --git a/underlays/smiley/smileys.mdwn b/underlays/smiley/smileys.mdwn new file mode 120000 index 000000000..fdfdbf66d --- /dev/null +++ b/underlays/smiley/smileys.mdwn @@ -0,0 +1 @@ +../../doc/smileys.mdwn \ No newline at end of file -- 2.32.0.93.g670b81a890