website/lib/Render/Util.rakumod

37 lines
631 B
Raku

use v6.e.PREVIEW;
unit module Render::Util;
use DB::Post;
use HTML::Functional;
sub opt($test, $item) is export {
if $test {
$item
} else {
[]
}
}
sub optl($test, &item) is export {
if $test {
item
} else {
[]
}
}
#| Link to the post by the primary slug, if there is one, linking to it by id
#| otherwise
sub post-link(Int:D $id, Post:D $post --> Str:D) is export {
my @slugs = $post.all-slugs;
if @slugs {
"/posts/by-slug/{@slugs[*-1]}.html"
} else {
"/posts/by-id/$id.html"
}
}
sub icon($icon) is export {
i(:class("bx bx-$icon"))
}