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
|
6 | You can quickly use and configure Mirador by remixing the [mirador-start](https://mirador-start.glitch.me/) Glitch.
|
7 |
|
8 | We 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 |
|
18 | 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:
|
19 |
|
20 | [https://github.com/ProjectMirador/mirador-integration](https://github.com/ProjectMirador/mirador-integration)
|
21 |
|
22 | If 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 |
|
28 | More 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
|
31 | For help with adding a translation, see [src/locales/README.md](src/locales/README.md)
|
32 |
|
33 | ## Running Mirador locally for development
|
34 |
|
35 | Mirador local development requires [nodejs](https://nodejs.org/en/download/) to be installed.
|
36 |
|
37 | 1. Run `npm install` to install the dependencies.
|
38 |
|
39 | ### Starting the project
|
40 |
|
41 | ```sh
|
42 | $ npm start
|
43 | ```
|
44 |
|
45 | Then navigate to [http://127.0.0.1:4444/](http://127.0.0.1:4444/)
|
46 |
|
47 | ### Instantiating Mirador
|
48 |
|
49 | ```javascript
|
50 | var 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 |
|
60 | Add a window:
|
61 | ```javascript
|
62 | store.dispatch(actions.addWindow());
|
63 | ```
|
64 |
|
65 | To focus a window run:
|
66 |
|
67 | ```javascript
|
68 | store.dispatch(actions.focusWindow('window-1'))
|
69 | ```
|
70 |
|
71 | ### Check current state
|
72 |
|
73 | ```javascript
|
74 | store.getState()
|
75 | ```
|
76 |
|
77 | ## Running the tests
|
78 |
|
79 | ```sh
|
80 | $ npm test # For headless CI=true npm test
|
81 | ```
|
82 |
|
83 | or 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 |
|
99 | The 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 |
|
106 | To debug the test suite, run:
|
107 |
|
108 | ```sh
|
109 | $ npm run test:debug
|
110 | ```
|
111 |
|
112 | then 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.
|