Mojolicious-Plugin-AssetPack
view release on metacpan or search on metacpan
lib/Mojolicious/Plugin/AssetPack/Asset.pm view on Meta::CPAN
my %TAG_TEMPLATE;
$TAG_TEMPLATE{css} = [qw(link rel stylesheet href)];
$TAG_TEMPLATE{ico} = [qw(link rel icon href)];
$TAG_TEMPLATE{js} = [qw(script src)];
$TAG_TEMPLATE{$_} = [qw(img src)] for qw(gif jpg jpeg png svg);
$TAG_TEMPLATE{$_} = [qw(source src)] for qw(mp3 mp4 ogg ogv webm);
has checksum => sub { Mojolicious::Plugin::AssetPack::Util::checksum(shift->content) };
has format => sub {
my $self = shift;
my $name = $self->url =~ /^https?:/ ? Mojo::URL->new($self->url)->path->[-1] : (split m!(\\|/)!, $self->url)[-1];
return $name =~ /\.(\w+)$/ ? lc $1 : '';
};
has minified => sub { shift->url =~ /\bmin\b/ ? 1 : 0 };
has renderer => undef;
has tag_for => sub { \&_default_tag_for };
has _asset => sub {
my $self = shift;
lib/Mojolicious/Plugin/AssetPack/Asset.pm view on Meta::CPAN
if ($self->url =~ /^https?:/) {
my $url = Mojo::URL->new($self->url);
my $qs = $url->query->to_string;
$name = $url->path->[-1];
$qs =~ s!\W!_!g;
$name =~ s!\.\w+$!!;
$name .= "_$qs" if $qs;
}
else {
$name = (split m!(\\|/)!, $self->url)[-1];
$name =~ s!\.\w+$!!;
}
return $name;
};
has_ro 'url';
sub asset {
my $self = shift;
( run in 0.547 second using v1.01-cache-2.11-cpan-71847e10f99 )