#!/usr/bin/perl

# sitebuild-update-html
# by Gav Ford
# revford@blueyonder.co.uk
# http://revford.pwp.blueyonder.co.uk
# 2008-01, updated 2008-09-24
# read the update note files and build an HTML file from them.


use Term::ANSIColor qw(:constants);
use FindBin '$RealBin';
use POSIX qw(ceil);


require "$RealBin/lib-rf-sitebuild.pl";
require "$RealBin/lib-rf-babble.pl";


$outfile      = "/home/gav/web/blue-site/update-log.html";
$outfilebase  = "/home/gav/web/blue-site/updates-";
$outfiletail  = ".html";

@pagehead   = pageheadfull();
@pagefoot   = pagefootfull();
@sortedlist = sortpostlist();



$numberofpages = ceil(@sortedlist/20);

foreach (1..$numberofpages)

  {
  $pagenumber = $_;

  open OUTFILE, "> $outfilebase$pagenumber$outfiletail" or die "File $outfilebase$pagenumber$outfiletail could not be opened.\n";

  print OUTFILE @pagehead; 

  print OUTFILE '<div class="tallbox">' . "\n";

  $nextpage = $pagenumber +1;
  $prevpage = $pagenumber -1;

  print OUTFILE '<p class="blognav">| ';

  print OUTFILE 'pg '. $pagenumber  . ' of ' . $numberofpages . ' | ';

  if ($pagenumber == 1 or $pagenumber == 2)
    {
    print OUTFILE '<a href="index.html">Back</a> |' . "\n";
    }
  else
    {
    print OUTFILE '<a href="updates-' . $prevpage . '.html">Back</a> |' . "\n";
    }


  if ($pagenumber != $numberofpages)
    {
    print OUTFILE '<a href="updates-' . $nextpage . '.html">More</a> |' . " \n";
    }

  print OUTFILE '</p>'."\n";

  print OUTFILE '<h1>revford blog</h1>' . "\n";
  print OUTFILE '<p class="subtitle">' . babble() . '</p>' . "\n\n";

  print OUTFILE '<hr>'."\n";


  # build the HTML, 20 posts to a page.
  foreach (((($pagenumber-1)*20)+0)..((($pagenumber-1)*20)+19))
    {
    my $value = $posttable{$sortedlist[$_]};

    # stop writing posts on the last post, don't fill in blank ones to make up 20 on the last page.
    if ($value gt $sortedlist)
      {
      print OUTFILE posthtml($value);
      }    
    }


  print OUTFILE '<p class="blognav">| ';

  print OUTFILE 'pg '. $pagenumber  . ' of ' . $numberofpages . ' | ';

  if ($pagenumber == 1 or $pagenumber == 2)
    {
    print OUTFILE '<a href="index.html">Back</a> |' . "\n";
    }
  else
    {
    print OUTFILE '<a href="updates-' . $prevpage . '.html">Back</a> |' . "\n";
    }


  if ($pagenumber != $numberofpages)
    {
    print OUTFILE '<a href="updates-' . $nextpage . '.html">More</a> |' . " \n";
    }

  print OUTFILE '</p>'."\n";

  print OUTFILE '</div>' . "\n"; 

  print OUTFILE @pagefoot; 

  close OUTFILE;

  }

