tweaks
This commit is contained in:
parent
e7fdf59618
commit
9ccc512533
4 changed files with 86 additions and 8 deletions
|
@ -22,11 +22,15 @@ method generate-head(Str:D $title, BlogMeta:D $meta, $description?) {
|
|||
link :rel<preconnect> :href<https://static.stranger.systems>;
|
||||
link :rel<preconnect> :href<https://fonts.googleapis.com>;
|
||||
link :rel<preconnect> :href<https://fonts.gstatic.com> :crossorigin;
|
||||
# Load fonts, Iosevka Alie for code, and Open Sans for content
|
||||
link :rel<preconnect> :href<https://unpkg.com>;
|
||||
# Load fonts, Iosevka for code, Open Sans for content, and boxicons for
|
||||
# icons
|
||||
link :rel<stylesheet>,
|
||||
:href<https://static.stranger.systems/fonts/IosevkaAlie/IosevkaAile.css>;
|
||||
:href<https://static.stranger.systems/fonts/Iosevka/Iosevka.css>;
|
||||
link :rel<stylesheet>,
|
||||
:href<https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap>;
|
||||
link :rel<stylesheet>,
|
||||
:href<https://unpkg.com/boxicons@2.1.4/css/boxicons.min.css>;
|
||||
# Inline our style sheets
|
||||
style %?RESOURCES<main.css>.slurp;
|
||||
style %?RESOURCES<code.css>.slurp;
|
||||
|
@ -48,11 +52,60 @@ method site-header(BlogMeta:D $meta) {
|
|||
]
|
||||
}
|
||||
|
||||
method post-date(Post:D $post) {
|
||||
my $datetime = $post.posted-at;
|
||||
my $timestamp = sprintf(
|
||||
"%s %02d:%02d %s",
|
||||
$datetime.yyyy-mm-dd,
|
||||
($datetime.hour % 12) || 12,
|
||||
$datetime.minute,
|
||||
$datetime.hour < 12 ?? 'am' !! 'pm'
|
||||
);
|
||||
|
||||
div :class<post-time>, :title("Posted At $timestamp"), [
|
||||
icon 'time';
|
||||
' ';
|
||||
$timestamp
|
||||
]
|
||||
}
|
||||
|
||||
sub mins-to-string($mins) {
|
||||
if $mins < 60 {
|
||||
$mins.Str ~ "m"
|
||||
} else {
|
||||
my $h = $mins div 60;
|
||||
my $m = $mins mod 60;
|
||||
$h.Str ~ "h" ~ $m.Str ~ "m"
|
||||
}
|
||||
}
|
||||
|
||||
method post-read-time(Post:D $post) {
|
||||
my ($slow, $average, $fast) = $post.readtimes;
|
||||
div :class<post-read-time>, :title<Estimated read time at 140/180/220 WPM>, [
|
||||
icon 'timer';
|
||||
' ';
|
||||
mins-to-string $slow;
|
||||
' ';
|
||||
'/';
|
||||
' ';
|
||||
mins-to-string $average;
|
||||
' ';
|
||||
'/';
|
||||
' ';
|
||||
mins-to-string $fast;
|
||||
]
|
||||
}
|
||||
|
||||
method post-header(Post:D $post) {
|
||||
header :class<post-header>, [
|
||||
div :class<post-title>, [
|
||||
h1 $post.title;
|
||||
]
|
||||
];
|
||||
div :class<post-info>, [
|
||||
self.post-date: $post;
|
||||
self.post-read-time: $post;
|
||||
];
|
||||
# TODO: Add tags once we have support for that
|
||||
]
|
||||
}
|
||||
|
||||
|
@ -80,3 +133,7 @@ method generate-post(Post:D $post, BlogMeta:D $meta) {
|
|||
|
||||
"<!doctype html>$html"
|
||||
}
|
||||
|
||||
sub icon($icon) {
|
||||
i(:class("bx bx-$icon"))
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue