smiley: warn instead of error for missing smileys
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Fri, 13 Aug 2010 09:21:11 +0000 (11:21 +0200)
committerJoey Hess <joey@kitenet.net>
Fri, 13 Aug 2010 21:58:21 +0000 (17:58 -0400)
A missing smileys.mdwn caused the plugin to error out interrupting the
building process. Instead, we check for the file presence and warn without
erroring out in case it's missing, in a similar fashion as it's
currently done for the shortcut plugin.

IkiWiki/Plugin/smiley.pm

index 0d77916d0d3d633e7656d79527cce12647089d47..6f4f49d18f4b3fb08d0d73a8ba877987fb12a94d 100644 (file)
@@ -25,7 +25,14 @@ sub getsetup () {
 }
 
 sub build_regexp () {
-       my $list=readfile(srcfile("smileys.mdwn"));
+       my $srcfile = srcfile("smileys.mdwn", 1);
+       if (! defined $srcfile) {
+               print STDERR sprintf(gettext("smiley plugin will not work without %s"),
+                       "smileys.mdwn")."\n";
+               $smiley_regexp='';
+               return;
+       }
+       my $list=readfile($srcfile);
        while ($list =~ m/^\s*\*\s+\\\\([^\s]+)\s+\[\[([^]]+)\]\]/mg) {
                my $smiley=$1;
                my $file=$2;