Extensible IIIF front-end toolkit and Manifest viewer. Accessible. Composable. Open Source.
Clover IIIF is a suite of Manifest and Collection components combined with lower-level IIIF Presentation 3.0 API UI components. Designed with a focus on accessibility, customization, and developer experience. You can use Clover IIIF to build your own custom IIIF-fluent web interfaces while still using the full power of the IIIF Presentation 3.0 API.
For full documentation, visit samvera-labs.github.io/clover-iiif.
We welcome all contributions. Please follow our contributing guidelines. If you're working on a pull request for this project, create a feature branch off of main
.
Clover IIIF front-end development occurs within Next.js based Nextra documentation. The default url for the local server is http://localhost:3000
, unless the 3000
port is in use.
npm install
npm run dev
Clover IIIF utilizes vitest for unit testing.
# Run tests
npm run test
```shell
# Run coverage report on the tests
npm run coverage
Clover IIIF utilizes ESLint and Prettier for code quality. Files will be automatically formatted and "fixed" to Prettier and ESLint's configurations when making a commit
as part of lint-staged
config. The following commands are also directly available:
# Run ESLint
npm run lint
# Run Prettier check
npm run prettier
# Run Prettier fix
npm run prettier:fix
# Run TypeScript checks
npm run typecheck
The Clover Suite recently released v2
. The biggest change from v1.x.x to v2. is that Clover is now more than just a Viewer component. You can still use the Viewer component as you may have previously by following the Installation and Usage instructions.
This project is available under the MIT License.