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/>.