summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2022-04-20 11:01:33 +0100
committerPaul Buetow <paul@buetow.org>2022-04-20 11:01:33 +0100
commit4f9ed2f3e82b70aaccbf652bb5fd5bba472da8a7 (patch)
treede9ad290aea085d282ccb9eca30b08511d6ec4f1 /lib
parent6b0d4ee051f650b46af7ec50acf1122d44088fb5 (diff)
refactor
Diffstat (limited to 'lib')
-rw-r--r--lib/Katana/HTML/Generate.rakumod19
-rw-r--r--lib/Katana/HTML/Tag.rakumod24
-rw-r--r--lib/Katana/Image/Elem.rakumod59
3 files changed, 25 insertions, 77 deletions
diff --git a/lib/Katana/HTML/Generate.rakumod b/lib/Katana/HTML/Generate.rakumod
index fb020b4..74e1c4b 100644
--- a/lib/Katana/HTML/Generate.rakumod
+++ b/lib/Katana/HTML/Generate.rakumod
@@ -1,22 +1,3 @@
use v6.d;
unit module Katana::HTML::Generate:api<1>;
-
-multi sub generate-from-tags(Str $doctype, @tags) is export {
- say $doctype;
- generate-from-tags @tags;
-}
-
-multi sub generate-from-tags(@tags) is export {
- my @sgat; # tags spelled in reverse.
- for @tags -> $tag {
- say $tag.open;
- say $tag.text if $tag.has-text;
- unshift @sgat, $tag;
- }
- for @sgat -> $tag {
- say $tag.close;
- generate-from-tags $tag.succ if $tag.has-succ;
- }
-}
-
diff --git a/lib/Katana/HTML/Tag.rakumod b/lib/Katana/HTML/Tag.rakumod
deleted file mode 100644
index 772a577..0000000
--- a/lib/Katana/HTML/Tag.rakumod
+++ /dev/null
@@ -1,24 +0,0 @@
-use v6.d;
-unit module Katana::HTML:api<1>;
-
-class Tag is export {
- has Str $.name;
- has Str $.text;
- has Str %.params;
- has Tag @.succ;
-
- method has-text returns Bool { defined $.text }
- method has-succ returns Bool { defined $.succ }
-
- method open returns Str { "<{$.name}{self.params}>" }
- method close returns Str { "</{$.name}>" }
-
- method params returns Str {
- return '' unless defined %!params;
- my @params;
- for %!params.kv -> $key, $val {
- push @params, " $key='$val'";
- }
- return @params.join;
- }
-}
diff --git a/lib/Katana/Image/Elem.rakumod b/lib/Katana/Image/Elem.rakumod
index 3109e82..4bd7e15 100644
--- a/lib/Katana/Image/Elem.rakumod
+++ b/lib/Katana/Image/Elem.rakumod
@@ -1,43 +1,34 @@
use v6.d;
-
use Katana::Exec::Command;
+unit class Katana::Image::Elem:api<1> is export;
-unit module Katana::Image:api<1>;
-
-class Elem is export {
- has Str $.basename;
- has Str $!source;
- has Str $!dist-dir;
- has Str $.camera;
-
- submethod BUILD(IO::Path :$source, Str :$dist-dir) {
- $!basename = $source.basename;
- $!source = $source.path;
- $!dist-dir = $dist-dir;
- }
+has Str $.basename;
+has Str $!source;
+has Str $!dist-dir;
+has Str $.camera;
- method generate(Int :$thumb-geometry, Str :$bg-blur) {
- my $thumb = "$!dist-dir/thumb/{$.basename}";
- ⁉ [|<convert -auto-orient -geometry>, $thumb-geometry, $!source, $thumb];
-
- my $blur = "$!dist-dir/blur/{$.basename}";
- ⁉ [|<convert -flip -geometry>, $thumb-geometry/4, '-blur', $bg-blur, $thumb, $blur];
+submethod BUILD(IO::Path :$source, Str :$dist-dir) {
+ $!basename = $source.basename;
+ $!source = $source.path;
+ $!dist-dir = $dist-dir;
+}
- my $large = "$!dist-dir/large/{$.basename}";
- ⁉ ['cp', $!source, $large];
- }
+method generate(Int :$thumb-geometry, Str :$bg-blur) {
+ my $thumb = "$!dist-dir/thumb/{$.basename}";
+ ⁉ [|<convert -auto-orient -geometry>, $thumb-geometry, $!source, $thumb];
- method get-camera-model {
- my %exif = read-exif-info "$!dist-dir/large/{$.basename}";
- my $make = %exif<Make> ?? %exif<Make> !! '';
- my $model = %exif{'Camera Model Name'} ?? %exif{'Camera Model Name'} !! '';
- $model ~~ s/$make //; # Don't stotter
- $model = 'Unknown camera' if $model eq '';
- $!camera = "$make $model".trim;
- }
+ my $blur = "$!dist-dir/blur/{$.basename}";
+ ⁉ [|<convert -flip -geometry>, $thumb-geometry/4, '-blur', $bg-blur, $thumb, $blur];
- method tag(Str $class) {
- "<img class='{$class}' src='./{$class}/{$.basename}' />"
- }
+ my $large = "$!dist-dir/large/{$.basename}";
+ ⁉ ['cp', $!source, $large];
}
+method get-camera-model returns Str {
+ my %exif = read-exif-info "$!dist-dir/large/{$.basename}";
+ my $make = %exif<Make> ?? %exif<Make> !! '';
+ my $model = %exif{'Camera Model Name'} ?? %exif{'Camera Model Name'} !! '';
+ $model ~~ s/$make //; # Don't stotter
+ $model = 'Unknown camera' if $model eq '';
+ $!camera = "$make $model".trim;
+}