#!/usr/bin/perl

use strict;
use warnings;

use File::Slurp qw( read_file );
use Getopt::Long;
use HTML::Tidy;
use Markdent::Simple::Document;

my $file;
my $title = 'Needs a title';
my $dialect = 'Standard';

GetOptions(
    'file:s'    => \$file,
    'title:s'   => \$title,
    'dialect:s' => \$dialect,
);

die "Need to specify a file" unless defined $file && -f $file;

my $markdown = read_file($file);

my $html = Markdent::Simple::Document->new()->markdown_to_html(
    dialect  => $dialect,
    title    => $title,
    markdown => $markdown,
);

my $tidy = HTML::Tidy->new(
    {
        doctype => 'transitional',
        indent  => 1,
    }
);

print $tidy->clean($html);
