1.7.0 • Published 1 year ago
express-iiif v1.7.0
express-iiif
express-iiif is middleware for Express.js to run an Image API 3.0 compatible IIIF server.
Installation
npm install express-iiif
Usage
Add the middleware to any Express.js application and provide the path to the directory containing your images.
import express from "express";
import iiif from "express-iiif";
const app = express();
app.use(
"/iiif",
iiif({
imageDir: "./images",
})
);
app.listen(3000, () => {
console.log("⚡️ Server is running at http://localhost:3000");
});
These URLs become available:
- http://localhost:3000/iiif/my-image.jpg/info.json
- http://localhost:3000/iiif/my-image.jpg/full/max/0/default.jpg
- http://localhost:3000/iiif/my-image.jpg/square/300,300/90/gray.gif
For an overview of all available transformations and explaination of the Image Request URI Syntax, vist the Image API 3.0 specification.
For an example application with OpenSeadragon viewer, visit the GitHub Repository examples folder.
Development
Run the example application from the /examples folder with npm run dev
and browse to http://localhost:3000. To build javascript files from the /src to the /dist folder run npm run build
or npm run build:watch
.
Options
Option | Required | Type | Description | Example |
---|---|---|---|---|
imageDir | Yes | string | The path to the directory containing the images. | /images |
baseUrl | No | string | The absolute URL of the IIIF server. | http://example.com/path/to/iiif |
maxWidth | No | number | https://iiif.io/api/image/3.0/#42-size | 1000 |
maxHeight | No | number | https://iiif.io/api/image/3.0/#42-size | 1000 |
maxArea | No | number | https://iiif.io/api/image/3.0/#42-size | 500000 |
quality | No | string | https://iiif.io/api/image/3.0/#43-quality | gray |
rights | No | string | https://iiif.io/api/image/3.0/#56-rights | https://rightsstatements.org/page/InC-EDU/1.0/?language=en |