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.