NAME

EBook::Ishmael::EBook - Interface for processing ebook documents

SYNOPSIS

use App::Ishmael::EBook;

my $ebook = App::Ishmael::EBook->new($file);

DESCRIPTION

EBook::Ishmael::EBook is a module used by ishmael to read ebook files. If you are looking for user documentation, you should consult the ishmael manual (this is developer documentation).

This page will not only detail EBook::Ishmael::EBook's methods, but some of the methods of the various specific ebook modules that this module uses, as they all (mostly) share the same API.

METHODS

$e = EBook::Ishmael::EBook->new($file, [ $type ])

Reads $file and returns some ebook object, the exact class will depend the on the format of $file or $type. $type is the name of the format you would like to read $file as. If not specified, new() will try to identify $file's format automatically via a series of heuristics.

$html = $e->html([$out])

Dumps the ebook's HTML-ified contents. Contents will be written to $out, if provided, otherwise it will be returned as a string.

$meta = $e->meta()

Returns a hash ref of the ebook object's metadata.

$raw = $e->raw([$out])

Dumps the ebook's raw, unformatted text contents.

$bool = $e->has_cover()

Returns bool of whether the ebook has a cover image or not.

$cover = $e->cover([$out])

Dumps the ebook's cover image data. Returns undef is there is no cover.

SUBROUTINES

$type = ebook_id($file)

Identifies the ebook format of $file using a series of heuristics. If $file could not be identified, returns undef.

EXPORTED VARIABLES

%EBOOK_FORMATS

Hash of ebook formats and their respective class.

AUTHOR

Written by Samuel Young, <samyoung12788@gmail.com>.

This project's source can be found on its Codeberg Page. Comments and pull requests are welcome!

COPYRIGHT

Copyright (C) 2025 Samuel Young

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SEE ALSO

EBook::Ishmael,