use v6.e.PREVIEW;

use JSON::Class:auth<zef:vrurg>;
use DB::HeaderLink;

# Top level metadata for the blog
unit class BlogMeta is json(:pretty);

#| The title of the blog
has Str:D $.title is required is rw;

#| The tagline of the blog
has Str:D $.tagline is required is rw;

#| The id of the placeholder post
has Int:D $.placeholder-id is rw = 0;

#| The id of the about post
has Int:D $.about-id is rw = 0;

#| Optional list of extra header links
has HeaderLink:D @.header-links is rw = [];

#| The base url of this post
has Str:D $.base-url is required;

#| Return the base url, but substitute it out if the test environment variable
#| is set
method get-base-url(--> Str:D) {
   if %*ENV<LOCAL_RSS> {
       "http://localhost:8000"
   } else {
       $!base-url
   }
}