use v6.e.PREVIEW; use Pandoc; use JSON::Class:auth; use DB::Post; #| A plain markdown post unit class MarkdownPost does Post is json(:pretty); #| Marker for disambiguation between post types in json representation, the #| cheaty way has Bool:D $.markdown = True; #| Override the generated description for this post has Str $.summary; method title(--> Str:D) { markdown-title $!source } # Simply provide our source file to pandoc method render-html(--> Str:D) { markdown-to-html $!source } # Return our summary, if we have one, otherwise extract the first paragraph of # the markdown document method description(--> Str) { if $!summary { $!summary } else { markdown-first-paragraph $!source } }