NAME
Catalyst::Plugin::Images - Generate image tags for static files.
SYNOPSIS
use Catalyst qw/
Images
/;
# ... somewhere in your templates
[% c.image_tag("foo.png", alt => "alt text") %];
DESCRIPTION
This plugin provides a quick and easy way to include your images on the page, automatically extracting and caching image metadata. It's automatically extendable, just pass whatever attribute you require as a key/value pair, and it will be added to the image tag. It will also look through a preset of folders so that you don't have to specify the full address to your image.
METHODS
- image_tag $basename, %attrs
-
This method generates an image tag for the image named $basename, with the extra tags %attr automatically added to the resulting HTML tag. If you don't specify height/width, it will be autodetected from the image.
- get_image_info $basename
-
Retrieve the information about the image either from the cache or by searching for it.
- find_image_file $basename
-
Look inside all the search paths (see "CONFIGURATION") for an image named $basename, and return the full path to it, as a <Path::Class::File> object..
- read_image_info $path
-
Given the full path, as a Path::Class::File object, return the attributes to be added to the image. This returns a list with
width
andheight
, usingImage::Size
. - image_path_to_uri $path, $basename
-
Generates a URI using "uri_for" in Catalyst, with the absolute path
$path
relativized touri_base
. See "CONFIGURATION". - get_cached_image_info
- set_cached_image_info
-
see "CACHING IMAGE DATA" below.
- setup
-
Overridden to seed configuration defaults.
CONFIGURATION
All configuration information is stored under the images
key.
- paths
-
This should be an array reference of Path::Class::Dir objects (easily generated with "path_to" in Catalyst) in which to search for images.
It defaults to
root/static
,root/images
,root/static/images
by default. - uri_base
-
This is the "base" prefix path for URI generation. For example, if an image was found at
/www/static/images/foo.png
anduri_base
is/www
then the URI generated withCatalyst/uri_for
will be for/static/images/foo.png
.
CACHING IMAGE DATA
The code will call get_cached_image_info
and set_cached_image_info
when appropriate. Currently both these operations are no op. You should override this if you care.
get_cached_image_info
receives the base name, and should return the info hash.
set_cached_image_info
receives the base name, and the info hash. It can use this data to expire the cache based on mtime, etc. The info hash contains the keys width
, height
, uri
, and path
.
SEE ALSO
Catalyst, Catalyst::Plugin::Static::Simple, Image::Size
AUTHOR
Yuval Kogman, nothingmuch@woobling.org
Last released by Tomas Doran, bobtfish@bobtfish.net
LICENSE
This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.