#!/usr/bin/perl

use strict;
use warnings;
use Template;
use YAML;

my ($slides_path, $output_path) = @ARGV;

my $config = YAML::LoadFile('config.yaml');
my $main_template = $config->{main_template} || 'sporx.xul';

open SLIDES, $slides_path
    or die "Can't open $slides_path for input:\n$!";
my $slides_content = do {local $/; <SLIDES>};
close SLIDES;

$slides_content =~ s/&/&amp;/g;
$slides_content =~ s/</&lt;/g;

my $data = {
    %$config,
    slides_content => $slides_content,
};

my $result;

my $t = Template->new( { INCLUDE_PATH => ['template/'] });
$t->process($main_template, $data, \$result) or die $t->error;

open OUTPUT, "> $output_path"
    or die "Can't open $output_path for output:\n$!";
print OUTPUT $result;
close OUTPUT;
