UNPKG

3.56 kBMarkdownView Raw
1⚠️ This project is for Mirador 3, the latest version of Mirador. For Mirador 2, please see [ProjectMirador/mirador2](https://github.com/projectmirador/mirador2) or legacy documentation on the [Mirador 2 wiki](https://github.com/ProjectMirador/mirador-2-wiki/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.
2# Mirador
3![Node.js CI](https://github.com/ProjectMirador/mirador/workflows/Node.js%20CI/badge.svg) [![codecov](https://codecov.io/gh/ProjectMirador/mirador/branch/master/graph/badge.svg)](https://codecov.io/gh/ProjectMirador/mirador)
4
5## For Mirador Users
6You can quickly use and configure Mirador by remixing the [mirador-start](https://mirador-start.glitch.me/) Glitch.
7
8We recommend installing Mirador using a JavaScript package manager like [npm](https://www.npmjs.com/) or [yarn](https://yarnpkg.com/).
9
10```sh
11$ npm install mirador
12
13# or
14
15$ yarn add mirador
16```
17
18If 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:
19
20[https://github.com/ProjectMirador/mirador-integration](https://github.com/ProjectMirador/mirador-integration)
21
22If you want to simply embed Mirador in an HTML page without further customization, include the Mirador UMD build:
23
24```
25<script src="https://unpkg.com/mirador@latest/dist/mirador.min.js"></script>
26```
27
28More examples of embedding Mirador can be found at [https://github.com/ProjectMirador/mirador/wiki/M3-Embedding-in-Another-Environment#in-an-html-document-with-javascript](https://github.com/ProjectMirador/mirador/wiki/M3-Embedding-in-Another-Environment#in-an-html-document-with-javascript).
29
30## Adding translations to Mirador
31For help with adding a translation, see [src/locales/README.md](src/locales/README.md)
32
33## Running Mirador locally for development
34
35Mirador local development requires [nodejs](https://nodejs.org/en/download/) to be installed.
36
371. Run `npm install` to install the dependencies.
38
39### Starting the project
40
41```sh
42$ npm start
43```
44
45Then navigate to [http://127.0.0.1:4444/](http://127.0.0.1:4444/)
46
47### Instantiating Mirador
48
49```javascript
50var miradorInstance = Mirador.viewer({
51 id: 'mirador' // id selector where Mirador should be instantiated
52});
53
54> miradorInstance
55{ actions, store }
56```
57
58### Example Action
59
60Add a window:
61```javascript
62store.dispatch(actions.addWindow());
63```
64
65To focus a window run:
66
67```javascript
68store.dispatch(actions.focusWindow('window-1'))
69```
70
71### Check current state
72
73```javascript
74store.getState()
75```
76
77## Running the tests
78
79```sh
80$ npm test # For headless CI=true npm test
81```
82
83or to continually watch the source files
84
85```sh
86$ npm run test:watch
87```
88
89## Linting the project
90
91```sh
92$ npm run lint
93```
94
95## Debugging
96
97### Local instance
98
99The following browser extensions are useful for debugging a local development instance of Mirador:
100
101 - [React DevTools](https://github.com/facebook/react-devtools)
102 - [Redux DevTools](https://github.com/zalmoxisus/redux-devtools-extension)
103
104### Test suite
105
106To debug the test suite, run:
107
108```sh
109$ npm run test:debug
110```
111
112then spin up a [nodejs inspector client](https://nodejs.org/en/docs/guides/debugging-getting-started/#inspector-clients) and set some breakpoints. See [here](https://www.digitalocean.com/community/tutorials/how-to-debug-node-js-with-the-built-in-debugger-and-chrome-devtools#step-3-%E2%80%94-debugging-node-js-with-chrome-devtools) for a guide to debugging with Chrome DevTools.