website/lib/Config.rakumod

38 lines
911 B
Raku

use v6.e.PREVIEW;
use HTML::Functional;
use DB::BlogMeta;
unit class Config;
method generate-post(Str:D $title, Str:D $content, BlogMeta:D $meta) {
my $head = head [
meta :charset<utf-8>;
meta :name<viewport>, :content<width=device-width, initial-scale=1>;
title "{$meta.title} $title";
# TODO: Add style sheets
# Use Iosevka Alie as the monospace font
link :rel<stylesheet>,
:href<https://static.stranger.systems/fonts/IosevkaAlie/IosevkaAile.css>;
style %?RESOURCES<main.css>.slurp;
style %?RESOURCES<code.css>.slurp;
# TODO: Add description
# TODO: Add header links
];
my $body =
body [
div :class<post-body>, [
$content
]
];
# TODO: Setup footer
# my $footer;
my $html = html :lang<en>, [
$head,
$body
];
"<!doctype html>$html"
}