yale-web-technologies / iiif-manifest-generator
This is a IIIF Manifest Generator written in PHP. It implements the IIIF API Specification. Currently this only supports the Presentation API.
Installs: 1 552
Dependents: 0
Suggesters: 0
Security: 0
Stars: 17
Watchers: 8
Forks: 12
Open Issues: 6
Requires (Dev)
- phpdocumentor/phpdocumentor: ^3.1
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-04-30 00:39:03 UTC
README
This is a IIIF Manifest Generator written in PHP. It implements the IIIF API Specification. Currently this only supports the Presentation API.
Installation
composer require yale-web-technologies/iiif-manifest-generator
Usage
Resources are mapped to class types. Methods are available to add objects embedded within a resource. Passing true to the constructor of a resource will make it a top level resource within the JSON.
<?php require_once 'iif-manifest-generator/autoload.php'; $manifest = new Manifest(true); $manifest->setID("http://example.org/iiif/book1/manifest"); $manifest->addLabel("Book 1"); $thumbnail = new Thumbnail(); $manifest->addThumbnail($thumbnail); $thumbnail->setID("http://example.org/images/book1-page1/full/80,100/0/default.jpg"); $service_thumbnail = new Service(); $thumbnail->setService($service_thumbnail); $service_thumbnail->setContext("http://iiif.io/api/image/2/context.json"); $service_thumbnail->setID("http://example.org/images/book1-page1"); $service_thumbnail->setProfile("http://iiif.io/api/image/2/level1.json"); $sequence = new Sequence(); $manifest->addSequence($sequence); $sequence->setID("http://example.org/iiif/book1/sequence/normal"); $sequence->addLabel("Current Page Order"); $canvas = new Canvas(); $sequence->addCanvas($canvas); $canvas->setID("http://example.org/iiif/book1/canvas/p1"); $canvas->addLabel("p. 1"); $canvas->setWidth(500); $canvas->setHeight(500);
See the docs folder for implementation specifications.
TODO
- Implement Image API
- Unit tests for Utils