#!/usr/local/bin/perl -w
###########################################
# pod2mobi - POD to mobi converter
# Mike Schilli, 2012 (m@perlmeister.com)
###########################################

###################
package MyParser;
###################
our @ISA = qw(Pod::Parser);

###########################################
sub title {
###########################################
  my( $self ) = @_;

  return $self->{ __title };
}

###########################################
sub command {
###########################################
  my ($parser, $command, 
      $paragraph, $line_num) = @_;

  $paragraph =~ s/\n+$//;

  if( $command eq "head1" ) {
    $parser->{ __title } = $paragraph if
    !defined $parser->{ __title };
  }
}

###################
package main;
###################
use strict;
use Sysadm::Install qw( slurp );
use EBook::MOBI;
use Pod::Parser;

my( $pod_file ) = @ARGV;

if( !defined $pod_file ) {
    die "usage: $0 file.pod";
}

my $parser = MyParser->new();
$parser->parse_from_file( 
    $pod_file, "/dev/null" );

my $book = EBook::MOBI->new();
my $pod = slurp ( $pod_file, 
                  { utf8 => 1 } );

$book->set_author( "Mike Schilli" );
$book->set_title( $parser->title() );

$book->set_encoding(':encoding(UTF-8)');

$book->add_pod_content($pod, 'pagemode');
$book->make();
$book->save();
