summaryrefslogtreecommitdiff
path: root/katana.raku
diff options
context:
space:
mode:
Diffstat (limited to 'katana.raku')
-rwxr-xr-xkatana.raku19
1 files changed, 9 insertions, 10 deletions
diff --git a/katana.raku b/katana.raku
index c7e5630..6d5b104 100755
--- a/katana.raku
+++ b/katana.raku
@@ -3,9 +3,7 @@
sub prefix:<❱>(*@args) {
say "❱ {@args}";
my $proc = run @args, :out, :err;
- for $proc.out.slurp(:close), $proc.err.slurp(:close) {
- .say if .chars > 0;
- }
+ .say if .chars > 0 for $proc.out.slurp(:close), $proc.err.slurp(:close);
}
sub prefix:<⁉>(*@args) { ❱ @args unless @args[*-1].IO.f }
@@ -31,7 +29,7 @@ class Image {
⁉ [|<convert -auto-orient -geometry>, $thumb-geometry, $!source, $thumb];
my $blur = "$!dist-dir/blur/{$!filename}";
- ⁉ [|<convert -flip -geometry>, $thumb-geometry/2, '-blur', $bg-blur, $!source, $blur];
+ ⁉ [|<convert -flip -geometry>, $thumb-geometry/4, '-blur', $bg-blur, $thumb, $blur];
my $large = "$!dist-dir/large/{$!filename}";
⁉ ['cp', $!source, $large];
@@ -41,13 +39,13 @@ class Image {
method large_tag { "<img class='large' src='./large/{$!filename}' />" }
}
-sub make-mr-proper(:$dist-dir) {
- ❱ |<rm -r -f>, $dist-dir if $dist-dir.IO.d;
+sub ensure-directories(Str :$dist-dir) {
+ mkdir $dist-dir unless $dist-dir.IO.d;
+ mkdir $_ unless .IO.d for $dist-dir <<~>> </large /blur /thumb>;
}
-sub ensure-directories(:$dist-dir) {
- mkdir $dist-dir unless $dist-dir.IO.d;
- .IO.d or mkdir $_ for $dist-dir <<~>> </large /blur /thumb>;
+sub make-mr-proper(Str :$dist-dir) {
+ ❱ ['rm', '-rf', $dist-dir] if $dist-dir.IO.d;
}
multi MAIN(
@@ -61,8 +59,9 @@ multi MAIN(
) {
my @images = dir($in-dir, test => { "$in-dir/$_".IO.f })
- .map: { Image.new: source => $_, :$dist-dir };
+ .map: { new Image: source => $_, :$dist-dir };
@images = @images.pick: * if $randomize;
+ say "Found {@images.elems} images";
make-mr-proper :$dist-dir if $mr-proper;
ensure-directories :$dist-dir;