NAME
Mojolicious::Plugin::Sprite - let you easy introduce and maintain CSS sprites in your web-site.
SYNOPSIS
# Mojolicious
$self->plugin('Sprite');
# Mojolicious::Lite
plugin 'Sprite';
# Custom options
plugin 'Sprite' => {
config => "sprite.xml",
css_url => "/css/sprite.css"
};
DESCRIPTION
This plugin parses HTML out and converts images into sprites according to rules of configuration file,
In other words, HTML tag <img src="icons/img1.gif"> will be converted to <span class="spr spr-icons-img1"> and will be used CSS like:
.spr {
display: -moz-inline-stack;
display: inline-block;
zoom: 1;
*display: inline;
background-repeat: no-repeat;
}
.spr-icons-img1,.spr-icons-img2 {
background-image: url('/sprites/sprite.png?1376352016') !important;
}
.spr-icons-img1 {
background-position: 0px 0px !important;
width:32px;
height:32px;
}
.spr-icons-img2 {
background-position: 0px -32px !important;
width:48px;
height:48px;
}
For generating sprites you can use CSS::SpriteBuilder module.
METHODS
Mojolicious::Plugin::Sprite inherits all methods from Mojolicious::Plugin and implements the following new ones.
register
$plugin->register;
Register plugin in Mojolicious application.
CONFIGURATION
The following options can be set for the plugin:
config [ = "sprite.xml" ]
Specify XML config file like:
<root> <sprite src="/sprites/sprite.png?1376352016"> <image width="32" selector=".spr-icons-small-add" x="0" height="32" image="icons/small/Add.png" y="0" is_background="0" repeat="no"/> <image width="48" selector=".spr-icons-medium-cd" x="0" height="48" image="icons/medium/CD.png" y="32" is_background="0" repeat="no"/> ... </sprite> </root>
* This file can be generated by CSS::SpriteBuilder.
Or hash like:
{ "icons/small/Add.png" => ".spr-icons-small-add", "icons/medium/CD.png" => ".spr-icons-medium-cd", ... }
css_url [ = "/css/sprite.css" ]
Specify url for CSS file.
* This file can be generated by CSS::SpriteBuilder.
SEE ALSO
Mojolicious, Mojolicious::Guides, CSS::SpriteBuilder.
AUTHOR
Yuriy Ustushenko, <yoreek@yahoo.com>
COPYRIGHT AND LICENSE
Copyright (C) 2013 Yuriy Ustushenko
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.