EBook::Ishmael::EBook::Metadata(3)

NAME
EBook::Ishmael::EBook::Metadata - Ebook metadata interface

SYNOPSIS
  use EBook::Ishmael::EBook::Metadata;

  my $meta = EBook::Ishmael::EBook::Metadata->new;

  $meta->title([ 'Moby-Dick' ]);
  $meta->author([ 'Herman Melville' ]);
  $meta->language([ 'en' ]);

DESCRIPTION
EBook::Ishmael::EBook::Metadata is a module used by ishmael to provide a format-agnostic interface to ebook metadata. This is developer documentation, for user documentation please consult the ishmael manual.

METHODS

  $m = EBook::Ishmael::EBook::Metadata->new([ $meta ])
Returns a blessed "EBook::Ishmael::EBook::Metadata" object. Can optionally be given a $meta hash ref of metadata fields and their array ref of values. The following are valid fields:

Author
Software
Created
Modified
Format
Title
Language
Genre
ID
Description
Contributor

  $h = $m->hash
Returns a plain hash ref of the object's metadata.

  Accessors
Each accessor method is both a setter and getter. When ran with no arguments, returns the array ref currently in the field. When ran with an array ref as argument, sets that field to the given array ref.

$a = $m->author([ $set ])

Set/get the author(s) of the ebook.

$s = $m->software([ $set ])

Set/get the software used to create the ebook.

$c = $m->created([ $set ])

Set/get the creation date(s) of the ebook.

$o = $m->modified([ $set ])

Set/get the modification date(s) of the ebook.

$f = $m->format([ $set ])

Set/get the format(s) of the ebook.

$t = $m->title([ $set ])

Set/get the title(s) of the ebook.

$l = $m->language([ $set ])

Set/get the language(s) of the ebook.

$g = $m->genre([ $set ])

Set/get the genre(s) of the ebook.

$i = $m->id([ $set ])

Set/get the identifier(s) of the ebook.

$d = $m->description([ $set ])

Set/get the text description(s) of the ebook.

$c = $m->contributor([ $set ])

Set/get the contributor(s) of the ebook.

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

This project's source can be found on its Codeberg Page <https://codeberg.org/1-1sam/ishmael>. 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.