# Blosxom Plugin: dynamiccss
# Author(s): Brian Haberer
# Version: 1.0
# Feb 25, 2004
# brian@canonical.org
# http://www.canonical.org/~brian/software/dynamiccss
# Blosxom Home/Docs/Licensing: http://www.raelity.org/apps/blosxom/
package dynamiccss;
use CGI qw/:standard/;
use FileHandle;
###### Instructions #######
# Simply place this file in your plugins directory, and set
# the following variables to what you want them to be.
#
# Use $dynamiccss:cssline in your flavor files to insert the line.
#
# Small Note: the output is XHTML 1.1 Strict compliant, for those like me
# who are anal retentive about compliance :)
#
# Variables
# Browser specific
%files = ("gecko" => "blog.css",
"IE" => "ie.css",);
# "Safe" cssfile
$default = "blog.css";
#path to the blosxom subdirectory where you keep css files.
$csspath = "";
# End of Variables
$cssline = "";
sub start {
1;
}
sub head {
my($pkg, $currentdir, $head_ref) = @_;
my $user = user_agent();
my $included = 0;
my $fullpath = $blosxom::url;
$fullpath =~ s/\/index.cgi//;
$fullpath .= $csspath;
while (my ($regex, $file) = each %files) {
if ($user =~ /$regex/i) {
$cssline = "";
$done = 1;
last;
}
}
if (! $done) {
$cssline = "";
}
1;
}
sub end
{
1;
}
1;
=head1 NAME
DynamicCSS Bloxsom Plugin
=head1 SYNOPSIS
Enables Bloxsom users to load different CSS styles based on the UserAgent.
=head1 VERSION
0.1
=head1 USAGE
Regexes can be added to the %files variable as well as a relitive
css file to load on a match.
=head1 AUTHOR
Brian Haberer , http://weirdo513.org/
=head1 LICENSE
Blosxom plugin - Dynamic CSS (c) 2004 Brian Haberer
http://www.canonical.org/~brian/software/dynamiccss
Copyright (C) 2004 Brian Haberer
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Or See: http://www.gnu.org/copyleft/gpl.html