Skip to content

An open-source, web-based 'multi-up' viewer that supports zoom-pan-rotate functionality, ability to display/compare simple images, and images with annotations.

License

Notifications You must be signed in to change notification settings

ProjectMirador/mirador

Folders and files

NameName
Last commit message
Last commit date

Latest commit

78fa1bb · Nov 27, 2024
Nov 2, 2020
Jan 25, 2019
Nov 22, 2024
Mar 16, 2021
Nov 22, 2024
Oct 13, 2020
Apr 28, 2021
Jul 13, 2021
Jan 15, 2019
Apr 17, 2020
Jun 16, 2021
Jul 14, 2020
Jun 1, 2020
Apr 21, 2020
Jul 13, 2021
Jan 16, 2019
Nov 27, 2024
Jun 22, 2020
Apr 8, 2021

Repository files navigation

⚠️ This project is for Mirador 3, the latest version of Mirador. For Mirador 2, please see ProjectMirador/mirador2 or legacy documentation on the Mirador 2 wiki. Please note that the community's focus is on Mirador 3, and are unlikely to accept pull requests or provide support for Mirador 2.

Mirador

Node.js CI codecov

For Mirador Users

You can quickly use and configure Mirador by remixing the mirador-start Glitch.

We recommend installing Mirador using a JavaScript package manager like npm or yarn.

$ npm install mirador 

# or

$ yarn add mirador

If you are interested in integrating Mirador with plugins into your project, we recommend using webpack or parcel to integrate the es version of the packages. Examples are here:

https://github.com/ProjectMirador/mirador-integration

Adding translations to Mirador

For help with adding a translation, see src/locales/README.md

Running Mirador locally for development

Mirador local development requires nodejs to be installed.

  1. Run npm install to install the dependencies.

Starting the project

$ npm start

Then navigate to http://127.0.0.1:4444/

Instantiating Mirador

var miradorInstance = Mirador.viewer({
  id: 'mirador' // id selector where Mirador should be instantiated
});

> miradorInstance
{ actions, store }

Example Action

Add a window:

store.dispatch(actions.addWindow());

To focus a window run:

store.dispatch(actions.focusWindow('window-1'))

Check current state

store.getState()

Running the tests

$ npm test # For headless CI=true npm test

or to continually watch the source files

$ npm run test:watch

Linting the project

$ npm run lint

Debugging

Local instance

The following browser extensions are useful for debugging a local development instance of Mirador:

Test suite

To debug the test suite, run:

$ npm run test:debug

then spin up a nodejs inspector client and set some breakpoints. See here for a guide to debugging with Chrome DevTools.