diff options
| -rwxr-xr-x | katana.raku | 19 |
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; |
