The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Nginx::Module::Gallery - Gallery perl module for nginx. Like simple file index but thumbnail replace default icon for image.

SYNOPSIS

Example of nginx http section:

    http{
        ...
        # Path to Gallery.pm
        perl_modules  /usr/share/perl5/;
        perl_require  Nginx/Module/Gallery.pm;
    }

Example of nginx server section:

    server {
        listen                  80;

        server_name             gallery.localhost;

        location / {
            perl  Nginx::Module::Gallery::handler;
            # Path to image files
            root /usr/share/images;
        }
    }

DESCRIPTION

This module not for production servers! But for single user usage. Gallery don`t use nginx event machine, so one nginx worker per connect (typically 8) used for slow create thumbnails!

All thumbnails cached on first request. Next show will be more fast.

VARIABLES

HANDLERS

index $r

Directory index handler

archive $r

Online archive response

FUNCTIONS

show_image

Send image to client

show_index

Send directory index to client. Try do it like event base, but use sleep.

_make_icon

Send index item to client, or init send index bottom.

show_archive

Sent archive file to client

get_icon_form_cache $path

Check icon for image by $path in cache and return it if exists

update_icon_in_cache $path, $uri, $mime

Get $path and $uri of image and make icon for it

PRIVATE FUNCTIONS

_get_video_thumb $path

Get raw thumbnail data for video file by it`s $path

_get_image_thumb $path

Get raw thumbnail data for image file by it`s $path

_get_image_thumb $path

Get raw thumbnail data for icon file by it`s $path

_save_thumb $icon

Save $icon in cache

_template $name

Retrun template my $name

_icon_mime $path

Return mime icon for file by $path

as_human_size(NUM)

converts big numbers to small 1024 = 1K, 1024**2 == 1M, etc

_get_md5_image $path

Return unque MD5 hex string for image file by it`s $path

_escape_path $path

Return escaped $path

_escape_url @path

Return escaped uri for list of @path partitions

_get_variables $r

Get configuration variables from request $r

_make_title $url

Make title from url

AUTHORS

Copyright (C) 2012 Dmitry E. Oboukhov <unera@debian.org>,

Copyright (C) 2012 Roman V. Nikolaev <rshadow@rambler.ru>

LICENSE

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 3 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, see <http://www.gnu.org/licenses/>.