HTML::KhatGallery - HTML photo album generator.


khatgallery documentation Contained in the khatgallery distribution.

Index


Code Index:

NAME

Top

HTML::KhatGallery - HTML photo album generator.

VERSION

Top

This describes version 0.03 of HTML::KhatGallery.

SYNOPSIS

Top

    # use the khatgallery script
    khatgallery --plugins HTML::KhatGallery::Plugin::MyPlugin I<directory>

    # from within a script
    require HTML::KhatGallery;

    my @plugins = qw(HTML::KhatGallery:;Core HTML::KhatGallery::Plugin::MyPlugin);
    HTML::KhatGallery->import(@plugins);
    HTML::KhatGallery->run(%args);

DESCRIPTION

Top

HTML::KhatGallery generates a HTML photo gallery. It takes a directory of images, and generates the HTML pages and thumbnails needed.

This includes the khatgallery script (to generate the gallery) and the kg_image_info script (to get information about an image).

I decided to write this because, while there are gazillion gallery scripts out there, none of them do quite what I want, and I wanted to take nice features from different scripts and bring them together.

The Name

KhatGallery comes from a slight mangling of "Kat's HTML Gallery"; it's so hard to come up with names that haven't already been used.

CLASS METHODS

Top

import

require HTML::KhatGallery;

HTML::KhatGallery->import(@plugins);

This needs to be run before run. See HTML::KhatGallery::Core for more information.

This loads plugins, modules which subclass HTML::KhatGallery and override its methods and/or make additional methods. The arguments of this method are the module names, in the order in which they should be loaded. The given modules are required and arranged in an "is-a" chain. That is, HTML::KhatGallery subclasses the last plugin given, which subclasses the second-to-last, up to the first plugin given, which is the base class.

This can be called in two different ways. It can be called implicitly with the "use" directive, or it can be called explicitly if one 'requires' HTML::KhatGallery rather then 'use'-ing it.

The advantage of calling this explicitly is that one can set the plugins dynamically, rather than hard-coding them in the calling script.

(idea taken from Module::Starter by Andy Lester and Ricardo Signes)

REQUIRES

Top

    Test::More
    POSIX
    File::Basename
    File::Spec
    Cwd
    File::stat
    YAML
    Image::Info
    Image::Magick

INSTALLATION

Top

To install this module, run the following commands:

    perl Build.PL
    ./Build
    ./Build test
    ./Build install

Or, if you're on a platform (like DOS or Windows) that doesn't like the "./" notation, you can do this:

   perl Build.PL
   perl Build
   perl Build test
   perl Build install

In order to install somewhere other than the default, such as in a directory under your home directory, like "/home/fred/perl" go

   perl Build.PL --install_base /home/fred/perl

as the first step instead.

This will install the files underneath /home/fred/perl.

You will then need to make sure that you alter the PERL5LIB variable to find the modules, and the PATH variable to find the script.

Therefore you will need to change: your path, to include /home/fred/perl/script (where the script will be)

	PATH=/home/fred/perl/script:${PATH}

the PERL5LIB variable to add /home/fred/perl/lib

	PERL5LIB=/home/fred/perl/lib:${PERL5LIB}




SEE ALSO

Top

perl(1).

BUGS

Top

Please report any bugs or feature requests to the author.

AUTHOR

Top

    Kathryn Andersen (RUBYKAT)
    perlkat AT katspace dot org
    http://www.katspace.org/tools

COPYRIGHT AND LICENCE

Top


khatgallery documentation Contained in the khatgallery distribution.
package HTML::KhatGallery;
use strict;
use warnings;

our $VERSION = '0.03';

sub import {
    my $class = shift;

    my @plugins = @_ ? @_ : 'HTML::KhatGallery::Core';
    my $parent;

    no strict 'refs';
    for (@plugins, $class) {
        if ($parent) {
            eval "require $parent;"; 
            die "couldn't load plugin $parent: $@" if $@;
            push @{"${_}::ISA"}, $parent;
        }
        $parent = $_;
    }
} # import

1; # End of HTML::KhatGallery
__END__