4 use lib $0 =~ s{[^/]+$}{..}r; # project root
5 use Shiar_Sheet::ImagePrep '1.03';
10 my ($name, @cmds) = split /:(?<!\\:)/, $src =~ s/\.(\w+)\z//r;
12 next if $name =~ m/\./;
14 ($src) = grep {-e} glob qq<"$name"{,:*}.$ext> or next;
16 s/\\(.)/$1/g for @cmds;
19 if (@cmds and $cmds[0] =~ /^\d/) {
20 # crop shorthand from initial dimension argument
21 my @crop = split /\D/, shift @cmds;
22 unshift @cmds, -gravity => 'southeast', -chop => "$crop[2]%x$crop[3]%"
24 unshift @cmds, -chop => "$crop[0]%x$crop[1]%";
26 push @cmds, -gravity => 'north';
27 my @cmdwebp = (-resize => '630x420^', -extent => '630x420', -quality => 30);
28 my @cmdjpeg = (-resize => '300x200^', -extent => '300x200');
30 my $image = Shiar_Sheet::ImagePrep->new($src);
31 $image->convert("../$name.jpg", [@cmds, @cmdjpeg]);
32 $image->convert("../$name.webp", [@cmds, @cmdwebp]);
34 warn "error creating image:\n";
35 warn ref $@ eq 'ARRAY' ? $@->[1] : $@ if $@;