express-iiif
v1.7.0
Published
express-iiif is Express.js middleware to provide your application with a IIIF server
Downloads
58
Readme
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 |