Kaynağa Gözat

* Applied patch by Torbj�n Svensson for using alternate CSS files - thanks
(AltColorScheme option).

Christoph Berg 21 yıl önce
ebeveyn
işleme
24a5dec7f8
5 değiştirilmiş dosya ile 53 ekleme ve 4 silme
  1. 1 1
      docs/CREDITS
  2. 2 0
      docs/Changelog
  3. 38 0
      docs/pisg-doc.xml
  4. 1 0
      modules/Pisg.pm
  5. 11 3
      modules/Pisg/HTMLGenerator.pm

+ 1 - 1
docs/CREDITS

@@ -109,7 +109,7 @@ Other contributors:
  * Julien Danjou <acid@debian.org>
    | pisg(1) manpage
  * Torbjörn Svensson <azoff@se.linux.org>
-   | ShowFoulDecimals option
+   | ShowFoulDecimals and AltColorScheme options
  * coaster
    | improved mirc6hack.mrc
  * Vianney Lecroart <acemtp@free.fr>

+ 2 - 0
docs/Changelog

@@ -7,6 +7,8 @@ pisg (0.64) - ??
      + Finnish (thanks, Sami Karuaho).
    * Modified the CSS files containing .male/.female classes to show sex color
      also for <a href>s (SF tracker #1088382 by Jeroen - tux2020).
+   * Applied patch by Torbjörn Svensson for using alternate CSS files - thanks
+     (AltColorScheme option).
 
 pisg (0.63) - Wed Jan, 12th 2005
    Morten:

+ 38 - 0
docs/pisg-doc.xml

@@ -755,6 +755,44 @@
     </refsect1>
     </refentry>
 
+    <!-- *** ALTCOLORSCHEME *** -->
+    <refentry id="AltColorScheme">
+
+    <refmeta> <refentrytitle>AltColorScheme</refentrytitle> </refmeta>
+
+    <refnamediv>
+    <refname>AltColorScheme</refname>
+    <refpurpose>alternate stylesheets for stats page</refpurpose>
+    </refnamediv>
+
+    <refsynopsisdiv><programlisting>
+      <![CDATA[
+        <channel="#channel">
+         Logfile = "channel.log"
+         ColorScheme = "darkgalaxy"
+         AltColorScheme = "layout/ocean.css"
+         Maintainer = "John"
+        </channel>
+
+        <set AltColorScheme="layout/darkgalaxy.css layout/justgrey.css">
+      ]]>
+    </programlisting></refsynopsisdiv>
+
+    <refsect1>
+    <title>Description</title>
+    <para>
+    <command>AltColorScheme</command> defines an alternate CSS file to
+    be used for the statistics page. Multiple files can be given (space
+    separated.) Note that this is not supported by all browsers.
+    See also <xref linkend="ColorScheme" /> and <xref linkend="CssDir" />.
+    </para>
+    </refsect1>
+    <refsect1>
+    <title>Default</title>
+    <para> default </para>
+    </refsect1>
+    </refentry>
+
     <!-- *** LANG *** -->
     <refentry id="Lang">
 

+ 1 - 0
modules/Pisg.pm

@@ -106,6 +106,7 @@ sub get_default_config_settings
         langfile => 'lang.txt',
         cssdir => 'layout/',
         colorscheme => 'default',
+        altcolorscheme => 'none',
         logprefix => '',
         logsuffix => '',
         silent => 0,

+ 11 - 3
modules/Pisg/HTMLGenerator.pm

@@ -195,18 +195,26 @@ sub _htmlheader
     );
 
     my $CSS;
-    if($self->{cfg}->{colorscheme} =~ /[^\w]/) { # use external CSS file
-        $CSS = "<link rel=\"stylesheet\" type=\"text/css\" href=\"$self->{cfg}->{colorscheme}\">";
+    if($self->{cfg}->{colorscheme} =~ /([^\/.]+)\.[^\/]+$/) { # use external CSS file
+        $CSS = "<link rel=\"stylesheet\" type=\"text/css\" title=\"$1\" href=\"$self->{cfg}->{colorscheme}\">";
     } elsif($self->{cfg}->{colorscheme} ne "none") { # read the chosen CSS file
         my $css_file = $self->{cfg}->{cssdir} . $self->{cfg}->{colorscheme} . ".css";
         open(FILE, $css_file) or open (FILE, $self->{cfg}->{search_path} . "/$css_file") or die("$0: Unable to open stylesheet $css_file: $!\n");
         {
             local $/; # enable "slurp" mode
-            $CSS = "<style type=\"text/css\">\n". <FILE>. "</style>";
+            $CSS = "<style type=\"text/css\" title=\"$self->{cfg}->{colorscheme}\">\n". <FILE>. "</style>";
         }
         close FILE;
     }
 
+    # use alternate CSS file
+    if($self->{cfg}->{altcolorscheme} ne "none" and $self->{cfg}->{altcolorscheme} =~ /[^\w]/) {
+        foreach (split /\s+/, $self->{cfg}->{altcolorscheme}) {
+            /([^\/.]+)\.[^\/]+$/;
+            $CSS .= "\n<link rel=\"alternate stylesheet\" type=\"text/css\" title=\"$1\" href=\"$_\">";
+        }
+    }
+
     my $title = $self->_template_text('pagetitle1', %hash);
     if($self->{cfg}->{colorscheme} ne "none") {
         print OUTPUT <<HTML;