NAME

EBook::Ishmael::EBook::Skeleton - Skeleton module for creating ebook modules

DESCRIPTION

EBook::Ishmael::EBook::Skeleton is a skeleton module that is used to base new ebook format modules off of. For ishmael user documentation, you should consult its manual (this is developer documentation).

This page will describe what is required of an ishmael ebook format module.

New ebook modules should be located in the EBook::Ishmael::EBook namespace.

METHODS

An ebook module must have the following methods:

$bool = EBook::Ishmael::EBook::???->heuristic($file)

An ebook module should have a class method that determines whether a given file is its ebook format or not. This is so that EBook::Ishmael::EBook can use it to automatically determine whether a given file is of the module's format or not. It should take a single file as argument.

$obj = EBook::Ishmael::EBook::???->new($file)

The constructor method should be named new() and take a single file as argument. It should return a blessed ebook object, and at the very minimum have a Source field (absolute path to $file) and a Metadata field (an Ebook::Ishmael::EBook::Metadata object).

$html = $obj->html()

Should return the HTML-ified contents of the ebook's text. It should not take any arguments.

$meta = $obj->metadata()

Should have an accessor method for the Metadata hash ref.

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::EBook