]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki.pm
* Add a tail fin^W^Wsidebar plugin by Tuomo Valkonen.
[ikiwiki.git] / IkiWiki.pm
index 560647e067f224bd62d2c9cd49b9c17359933b9f..4e30119182c81d3e376027cfac05031c384d9729 100644 (file)
@@ -21,6 +21,7 @@ sub defaultconfig () { #{{{
        wiki_processor_regexp => qr/\[\[(\w+)\s+([^\]]*)\]\]/,
        wiki_file_regexp => qr/(^[-[:alnum:]_.:\/+]+$)/,
        verbose => 0,
+       syslog => 0,
        wikiname => "wiki",
        default_pageext => "mdwn",
        cgi => 0,
@@ -119,12 +120,31 @@ sub error ($) { #{{{
                print "Content-type: text/html\n\n";
                print misctemplate("Error", "<p>Error: @_</p>");
        }
-       die @_;
+       log_message(error => @_);
+       exit(1);
 } #}}}
 
 sub debug ($) { #{{{
        return unless $config{verbose};
-       if (! $config{cgi}) {
+       log_message(debug => @_);
+} #}}}
+
+my $log_open=0;
+sub log_message ($$) { #{{{
+       my $type=shift;
+
+       if ($config{syslog}) {
+               require Sys::Syslog;
+               unless ($log_open) {
+                       Sys::Syslog::setlogsock('unix');
+                       Sys::Syslog::openlog('ikiwiki', '', 'user');
+                       $log_open=1;
+               }
+               eval {
+                       Sys::Syslog::syslog($type, join(" ", @_));
+               }
+       }
+       elsif (! $config{cgi}) {
                print "@_\n";
        }
        else {
@@ -325,7 +345,8 @@ sub htmllink ($$$;$$$) { #{{{
 
        $linktext=pagetitle(basename($link)) unless defined $linktext;
        
-       return $linktext if length $bestlink && $page eq $bestlink;
+       return "<span class=\"selflink\">$linktext</span>"
+               if length $bestlink && $page eq $bestlink;
        
        # TODO BUG: %renderedfiles may not have it, if the linked to page
        # was also added and isn't yet rendered! Note that this bug is