The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

EBook::MOBI::Pod2Mhtml - Create HTML, flavoured for the MOBI format, out of POD.

This module extends Pod::Parser for parsing capabilities. The module HTML::Entities is used to translate chars to HTML entities.

SYNOPSIS

  use EBook::MOBI::Pod2Mhtml;
  my $p2h = new EBook::MOBI::Pod2Mhtml;

  # $pod_h and $html_out_h are file handles
  # or IO::String objects
  $p2h->parse_from_filehandle($pod_h, $html_out_h);

  # result is now in $html_out_h

METHODS

parse_from_filehandle

This is the method you need to call, if you want this module to be of any help for you. It will take your data in the POD format and return it in special flavoured HTML, which can be then further used for the MOBI format.

Hand over two file handles or Objects of IO::String. The first handle points to your POD, the second waits to receive the result.

  # $pod_h and $html_out_h are file handles
  # or IO::String objects
  $p2h->parse_from_filehandle($pod_h, $html_out_h);

  # result is now in $html_out_h

pagemode

Pass any true value to enable 'pagemode'. The effect will be, that before every - but the first - '=head1' there will be a peagebreak inserted. This means: The resulting eBook will start each head1 chapter at a new page.

  $p2h->pagemode(1);

Default is to not add any pagebreak.

head0_mode

Pass any true value to enable 'head0_mode'. The effect will be, that you are allowed to use a '=head0' command in your POD.

  $p2h->head0_mode(1);

Pod can now look like this:

  =head0 Module EBook::MOBI
  
  =head1 NAME

  =head1 SYNOPSIS

  =head0 Module EBook::MOBI::Pod2Mhtml

  =head1 NAME

  =head1 SYNOPSIS

  =cut

This feature is useful if you want to have the documentation of several modules in Perl in one eBook. You then can add a higher level of titles, so that the TOC does not only contain several NAME and SYNOPSIS entries.

Default is to ignore any '=head0' command.

html_body

Pass any true value to enable 'html_body'. If set, parsed content will be encapsulated in a HTML body tag. You may want this if you parse all data at once. But if there is more to add, you should not use this mode, you then will just get HTML markup which is not encapsulated in a body tag.

  $p2h->html_body(1);

Default is to not encapsulate in a body tag.

debug_on

You can just ignore this method if you are not interested in debuging!

Pass a reference to a debug subroutine and enable debug messages.

debug_off

Stop debug messages and erease the reference to the subroutine.

INHERITED INTERNAL METHODS

begin_input

Inherited from Pod::Parser. Gets called when POD-input starts.

command

Inherited from Pod::Parser. Gets called when a command is found.

end_input

Inherited from Pod::Parser. Gets called when POD-input ends.

interior_sequence

Inherited from Pod::Parser. Gets called for inline replacements..

textblock

Inherited from Pod::Parser. Gets called for text sections.

verbatim

Inherited from Pod::Parser. Gets called for code sections..

COPYRIGHT & LICENSE

Copyright 2011 Boris Däppen, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms of Artistic License 2.0.

AUTHOR

Boris Däppen <boris_daeppen@bluewin.ch>