@projektemacher/storymapjs 0.10.8 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/CHANGELOG +81 -0
  2. package/README.md +129 -12
  3. package/dist/assets/{demo-DBpeF31K.js → demo-bWnOyfUw.js} +1 -1
  4. package/dist/assets/harness-C3JUv5Ii.js +1 -0
  5. package/dist/assets/{harness-multi-CYHgI0a9.js → harness-multi-XZNex3tb.js} +1 -1
  6. package/dist/assets/{harness-support-Do7sIp2j.js → harness-support-CjfZIVeb.js} +1 -1
  7. package/dist/assets/main-DQ32hWBM.js +17 -0
  8. package/dist/context.json +13 -2
  9. package/dist/css/storymap.css +1 -1
  10. package/dist/demo.html +3 -2
  11. package/dist/docs/api/assets/navigation.js +1 -1
  12. package/dist/docs/api/assets/search.js +1 -1
  13. package/dist/docs/api/classes/StoryMap.html +777 -269
  14. package/dist/docs/api/functions/MediaType.html +1 -1
  15. package/dist/docs/api/functions/isPresentation3Collection.html +1 -1
  16. package/dist/docs/api/functions/isPresentation3Manifest.html +1 -1
  17. package/dist/docs/api/functions/isSlideshowCollection.html +51 -0
  18. package/dist/docs/api/functions/loadCSS.html +1 -1
  19. package/dist/docs/api/functions/manifestToStorymapData.html +1 -1
  20. package/dist/docs/api/functions/setLanguage.html +1 -1
  21. package/dist/docs/api/functions/slideshowToStorymapData.html +51 -0
  22. package/dist/docs/api/functions/slideshowVersion.html +48 -0
  23. package/dist/docs/api/functions/storymapToManifest.html +1 -1
  24. package/dist/docs/api/functions/validateStorymap.html +1 -1
  25. package/dist/docs/api/functions/validateStorymapAndReport.html +1 -1
  26. package/dist/docs/api/index.html +115 -12
  27. package/dist/docs/api/interfaces/AnimationHandle.html +2 -2
  28. package/dist/docs/api/interfaces/ImagereadyPayload.html +4 -4
  29. package/dist/docs/api/interfaces/LanguageEntry.html +6 -6
  30. package/dist/docs/api/interfaces/LatLngLiteral.html +4 -4
  31. package/dist/docs/api/interfaces/LoadOptions.html +2 -2
  32. package/dist/docs/api/interfaces/MapEvents.html +116 -0
  33. package/dist/docs/api/interfaces/MapMarkerEvents.html +66 -0
  34. package/dist/docs/api/interfaces/MarkerEventPayload.html +57 -0
  35. package/dist/docs/api/interfaces/MediaEvents.html +78 -0
  36. package/dist/docs/api/interfaces/MenuBarEvents.html +114 -0
  37. package/dist/docs/api/interfaces/MessageEvents.html +72 -0
  38. package/dist/docs/api/interfaces/OlLayer.html +1 -1
  39. package/dist/docs/api/interfaces/OlMap.html +1 -1
  40. package/dist/docs/api/interfaces/OlSource.html +1 -1
  41. package/dist/docs/api/interfaces/OlTileLayer.html +1 -1
  42. package/dist/docs/api/interfaces/OlVectorLayer.html +1 -1
  43. package/dist/docs/api/interfaces/OlView.html +1 -1
  44. package/dist/docs/api/interfaces/SlideBackgroundState.html +66 -0
  45. package/dist/docs/api/interfaces/SlideEvents.html +78 -0
  46. package/dist/docs/api/interfaces/SlideNavEvents.html +72 -0
  47. package/dist/docs/api/interfaces/SlideshowPlayerSettings.html +182 -0
  48. package/dist/docs/api/interfaces/SlideshowToStorymapResult.html +60 -0
  49. package/dist/docs/api/interfaces/SlideshowTranslatorOptions.html +65 -0
  50. package/dist/docs/api/interfaces/SlideshowWarning.html +72 -0
  51. package/dist/docs/api/interfaces/StoryMapEvents.html +146 -0
  52. package/dist/docs/api/interfaces/StoryMapMarker.html +763 -0
  53. package/dist/docs/api/interfaces/StorySliderEvents.html +102 -0
  54. package/dist/docs/api/interfaces/StorymapBasemap.html +69 -0
  55. package/dist/docs/api/interfaces/StorymapData.html +12 -6
  56. package/dist/docs/api/interfaces/StorymapDataWrapper.html +2 -2
  57. package/dist/docs/api/interfaces/StorymapDocument.html +2 -2
  58. package/dist/docs/api/interfaces/StorymapError.html +3 -3
  59. package/dist/docs/api/interfaces/StorymapGeoreference.html +5 -5
  60. package/dist/docs/api/interfaces/StorymapGeoreferenceBody.html +4 -4
  61. package/dist/docs/api/interfaces/StorymapGroundControlPoint.html +4 -4
  62. package/dist/docs/api/interfaces/StorymapLanguageMap.html +2 -2
  63. package/dist/docs/api/interfaces/StorymapManifest.html +12 -12
  64. package/dist/docs/api/interfaces/StorymapManifestAnnotation.html +43 -11
  65. package/dist/docs/api/interfaces/StorymapManifestBackground.html +6 -6
  66. package/dist/docs/api/interfaces/StorymapManifestCanvas.html +65 -17
  67. package/dist/docs/api/interfaces/StorymapManifestContentResource.html +8 -8
  68. package/dist/docs/api/interfaces/StorymapManifestFeatureCollection.html +4 -4
  69. package/dist/docs/api/interfaces/StorymapManifestGeoreferencing.html +7 -7
  70. package/dist/docs/api/interfaces/StorymapManifestImageService.html +4 -4
  71. package/dist/docs/api/interfaces/StorymapManifestRange.html +5 -5
  72. package/dist/docs/api/interfaces/StorymapManifestService.html +4 -4
  73. package/dist/docs/api/interfaces/StorymapManifestSpecificResource.html +4 -4
  74. package/dist/docs/api/interfaces/StorymapManifestStatement.html +3 -3
  75. package/dist/docs/api/interfaces/StorymapMapOptions.html +5 -5
  76. package/dist/docs/api/interfaces/StorymapOptions.html +277 -75
  77. package/dist/docs/api/interfaces/StorymapOverlayLayer.html +42 -11
  78. package/dist/docs/api/interfaces/StorymapSlide.html +70 -16
  79. package/dist/docs/api/interfaces/StorymapSlideBackground.html +4 -4
  80. package/dist/docs/api/interfaces/StorymapSlideLocation.html +58 -14
  81. package/dist/docs/api/interfaces/StorymapSlideMarker.html +8 -9
  82. package/dist/docs/api/interfaces/StorymapSlideMedia.html +49 -10
  83. package/dist/docs/api/interfaces/StorymapSlideNarration.html +61 -9
  84. package/dist/docs/api/interfaces/StorymapSlideText.html +4 -4
  85. package/dist/docs/api/interfaces/StorymapTilejson.html +8 -8
  86. package/dist/docs/api/interfaces/SwipableEvents.html +102 -0
  87. package/dist/docs/api/interfaces/TextEvents.html +66 -0
  88. package/dist/docs/api/media/events.md +66 -0
  89. package/dist/docs/api/media/migration-from-knightlab.md +89 -49
  90. package/dist/docs/api/media/slideshow.md +109 -0
  91. package/dist/docs/api/media/storymap-as-iiif-manifest.md +1007 -0
  92. package/dist/docs/api/modules.html +6 -6
  93. package/dist/docs/api/types/ContentState.html +3 -3
  94. package/dist/docs/api/types/FiredEvent.html +43 -0
  95. package/dist/docs/api/types/ImagereadyKind.html +1 -1
  96. package/dist/docs/api/types/MediaTypeMatch.html +5 -5
  97. package/dist/docs/api/types/SwipeDirection.html +36 -0
  98. package/dist/docs/api/types/TileSourceFactory.html +1 -1
  99. package/dist/docs/authoring.html +20 -7
  100. package/dist/docs/events.html +263 -0
  101. package/dist/docs/iiif.html +136 -22
  102. package/dist/docs/migration.html +66 -19
  103. package/dist/docs/readme.html +113 -12
  104. package/dist/embed/index.html +7 -0
  105. package/dist/examples/font-css-false.json +33 -0
  106. package/dist/examples/issue-image-region.json +1 -1
  107. package/dist/examples/layers-control.json +60 -0
  108. package/dist/examples/map-template-provider.json +36 -0
  109. package/dist/examples/multi-media.json +71 -0
  110. package/dist/examples-iiif/annotated-image.json +16 -0
  111. package/dist/examples-iiif/font-css-false.json +114 -0
  112. package/dist/examples-iiif/issue-image-region.json +1 -1
  113. package/dist/examples-iiif/layers-control.json +226 -0
  114. package/dist/examples-iiif/map-template-provider.json +133 -0
  115. package/dist/examples-iiif/multi-media.json +237 -0
  116. package/dist/examples-slideshow/single.json +79 -0
  117. package/dist/examples-slideshow/static/pixel.png +0 -0
  118. package/dist/examples-slideshow/static.json +44 -0
  119. package/dist/harness-multi.html +3 -3
  120. package/dist/harness.html +4 -3
  121. package/dist/index.html +3 -2
  122. package/dist/js/storymap.d.ts +1326 -289
  123. package/dist/js/storymap.js +6690 -4784
  124. package/dist/js/storymap.js.map +1 -1
  125. package/dist/navplace-properties.json +14 -0
  126. package/dist/site.css +54 -36
  127. package/docs/migration-from-knightlab.md +89 -49
  128. package/docs/storymap-as-iiif-manifest.md +199 -126
  129. package/package.json +4 -2
  130. package/schema/storymap.schema.json +334 -34
  131. package/src/core/Util.ts +3 -1
  132. package/src/core/mixins.ts +42 -28
  133. package/src/language/Language.ts +7 -0
  134. package/src/language/locale/.expected-gaps.json +287 -27
  135. package/src/language/locale/de.json +11 -1
  136. package/src/language/locale/en.json +11 -1
  137. package/src/main.ts +51 -0
  138. package/src/map/Map.ts +44 -6
  139. package/src/map/MapMarker.ts +16 -3
  140. package/src/map/openlayers/Map.OpenLayers.ts +787 -62
  141. package/src/map/openlayers/MapMarker.OpenLayers.ts +113 -13
  142. package/src/map/slideView.ts +149 -0
  143. package/src/map/types.ts +2 -0
  144. package/src/media/EmbedUtil.ts +27 -2
  145. package/src/media/Media.ts +27 -4
  146. package/src/media/embedId.ts +6 -0
  147. package/src/media/types/Flickr.ts +14 -3
  148. package/src/media/types/HtmlMedia.ts +66 -0
  149. package/src/media/types/Image.ts +15 -3
  150. package/src/media/types/SoundCloud.ts +1 -1
  151. package/src/media/types/Text.ts +27 -8
  152. package/src/media/types/Twitter.ts +9 -7
  153. package/src/media/types/Vimeo.ts +1 -1
  154. package/src/media/types/YouTube.ts +2 -2
  155. package/src/scss/Typography.scss +15 -15
  156. package/src/scss/VCO.StoryMap.scss +173 -8
  157. package/src/scss/core/Reset.scss +5 -18
  158. package/src/scss/map/VCO.Map.scss +1 -1
  159. package/src/scss/map/VCO.MapMarker.scss +20 -9
  160. package/src/scss/map/openlayers/VCO.Map.OpenLayers.scss +7 -4
  161. package/src/scss/media/VCO.Media.scss +7 -7
  162. package/src/scss/media/types/VCO.Media.Blockquote.scss +1 -1
  163. package/src/scss/media/types/VCO.Media.Text.scss +5 -5
  164. package/src/scss/media/types/VCO.Media.Twitter.scss +4 -4
  165. package/src/scss/media/types/VCO.Media.Wikipedia.scss +2 -19
  166. package/src/scss/site/site.scss +55 -36
  167. package/src/scss/slider/VCO.Slide.scss +49 -11
  168. package/src/scss/slider/VCO.SlideNav.scss +23 -7
  169. package/src/scss/slider/VCO.StorySlider.scss +50 -0
  170. package/src/scss/snapmap/VCO.SnapMap.scss +3 -3
  171. package/src/scss/ui/VCO.Consent.scss +20 -14
  172. package/src/scss/ui/VCO.Layers.scss +119 -0
  173. package/src/scss/ui/VCO.MenuBar.Button.scss +140 -19
  174. package/src/scss/ui/VCO.MenuBar.scss +9 -2
  175. package/src/scss/ui/VCO.Message.scss +14 -0
  176. package/src/slider/Slide.ts +232 -74
  177. package/src/slider/SlideNav.ts +15 -4
  178. package/src/slider/StorySlider.ts +203 -22
  179. package/src/storymap/Consent.ts +22 -0
  180. package/src/storymap/StoryMap.ts +944 -131
  181. package/src/storymap/content-state.ts +3 -8
  182. package/src/storymap/font-css.ts +72 -0
  183. package/src/storymap/from-slideshow.ts +785 -0
  184. package/src/storymap/iiif-shared.ts +228 -0
  185. package/src/storymap/iiif.ts +289 -100
  186. package/src/storymap/to-iiif.ts +131 -44
  187. package/src/types.ts +382 -17
  188. package/src/ui/LayersControl.ts +302 -0
  189. package/src/ui/MenuBar.ts +232 -21
  190. package/src/ui/Message.ts +36 -3
  191. package/src/ui/Swipable.ts +25 -7
  192. package/dist/assets/harness-Cr0rYpvt.js +0 -1
  193. package/dist/assets/main-DXalctuR.js +0 -17
  194. package/src/scss/VCO.StoryMap.Dark.scss +0 -150
  195. package/src/scss/Variables.Dark.scss +0 -57
@@ -0,0 +1,226 @@
1
+ {
2
+ "@context": [
3
+ "http://iiif.io/api/extension/navplace/context.json",
4
+ "http://iiif.io/api/presentation/3/context.json",
5
+ "https://cmahnke.github.io/StoryMapJS/navplace-properties.json",
6
+ "https://cmahnke.github.io/StoryMapJS/context.json"
7
+ ],
8
+ "id": "https://example.org/storymap/layers-control",
9
+ "type": "Manifest",
10
+ "label": {
11
+ "none": [
12
+ "layers-control"
13
+ ]
14
+ },
15
+ "behavior": [
16
+ "paged"
17
+ ],
18
+ "metadata": [
19
+ {
20
+ "label": {
21
+ "none": [
22
+ "Generated by"
23
+ ]
24
+ },
25
+ "value": {
26
+ "none": [
27
+ "StoryMapJS"
28
+ ]
29
+ }
30
+ }
31
+ ],
32
+ "items": [
33
+ {
34
+ "id": "https://example.org/storymap/layers-control/canvas/1",
35
+ "type": "Canvas",
36
+ "height": 1080,
37
+ "width": 1080,
38
+ "navDate": "1890",
39
+ "items": [
40
+ {
41
+ "id": "https://example.org/storymap/layers-control/canvas/1/annotationpage/1",
42
+ "type": "AnnotationPage",
43
+ "items": [
44
+ {
45
+ "id": "https://example.org/storymap/layers-control/canvas/1/annotation/1",
46
+ "type": "Annotation",
47
+ "motivation": "painting",
48
+ "body": {
49
+ "type": "TextualBody",
50
+ "format": "text/html",
51
+ "value": "A menubar disclosure button lists the overlays above so the visitor can toggle them. Arrow keys navigate the story."
52
+ },
53
+ "target": "https://example.org/storymap/layers-control/canvas/1"
54
+ }
55
+ ]
56
+ }
57
+ ],
58
+ "label": {
59
+ "none": [
60
+ "Layers control"
61
+ ]
62
+ },
63
+ "summary": {
64
+ "none": [
65
+ "A menubar disclosure button lists the overlays above so the visitor can toggle them. Arrow keys navigate the story."
66
+ ]
67
+ },
68
+ "storymap:type": "overview",
69
+ "navPlace": {
70
+ "id": "https://example.org/storymap/layers-control/canvas/1/navplace",
71
+ "type": "FeatureCollection",
72
+ "features": [
73
+ {
74
+ "id": "https://example.org/storymap/layers-control/canvas/1/navplace/feature/1",
75
+ "type": "Feature",
76
+ "geometry": {
77
+ "type": "Point",
78
+ "coordinates": [
79
+ -0.1278,
80
+ 51.5074
81
+ ]
82
+ },
83
+ "properties": {
84
+ "zoom": 10
85
+ }
86
+ }
87
+ ]
88
+ }
89
+ },
90
+ {
91
+ "id": "https://example.org/storymap/layers-control/canvas/2",
92
+ "type": "Canvas",
93
+ "height": 1080,
94
+ "width": 1080,
95
+ "navDate": "1900",
96
+ "items": [
97
+ {
98
+ "id": "https://example.org/storymap/layers-control/canvas/2/annotationpage/1",
99
+ "type": "AnnotationPage",
100
+ "items": [
101
+ {
102
+ "id": "https://example.org/storymap/layers-control/canvas/2/annotation/1",
103
+ "type": "Annotation",
104
+ "motivation": "painting",
105
+ "body": {
106
+ "type": "TextualBody",
107
+ "format": "text/html",
108
+ "value": "The first overlay starts visible; unchecking its row hides the layer and drops its credit."
109
+ },
110
+ "target": "https://example.org/storymap/layers-control/canvas/2"
111
+ }
112
+ ]
113
+ }
114
+ ],
115
+ "label": {
116
+ "none": [
117
+ "The historic sheet"
118
+ ]
119
+ },
120
+ "summary": {
121
+ "none": [
122
+ "The first overlay starts visible; unchecking its row hides the layer and drops its credit."
123
+ ]
124
+ },
125
+ "navPlace": {
126
+ "id": "https://example.org/storymap/layers-control/canvas/2/navplace",
127
+ "type": "FeatureCollection",
128
+ "features": [
129
+ {
130
+ "id": "https://example.org/storymap/layers-control/canvas/2/navplace/feature/1",
131
+ "type": "Feature",
132
+ "geometry": {
133
+ "type": "Point",
134
+ "coordinates": [
135
+ -0.0922,
136
+ 51.5155
137
+ ]
138
+ },
139
+ "properties": {
140
+ "zoom": 12,
141
+ "line": true
142
+ }
143
+ }
144
+ ]
145
+ }
146
+ },
147
+ {
148
+ "id": "https://example.org/storymap/layers-control/canvas/3",
149
+ "type": "Canvas",
150
+ "height": 1080,
151
+ "width": 1080,
152
+ "navDate": "1910",
153
+ "items": [
154
+ {
155
+ "id": "https://example.org/storymap/layers-control/canvas/3/annotationpage/1",
156
+ "type": "AnnotationPage",
157
+ "items": [
158
+ {
159
+ "id": "https://example.org/storymap/layers-control/canvas/3/annotation/1",
160
+ "type": "Annotation",
161
+ "motivation": "painting",
162
+ "body": {
163
+ "type": "TextualBody",
164
+ "format": "text/html",
165
+ "value": "The second overlay starts hidden; checking its row paints it above the basemap."
166
+ },
167
+ "target": "https://example.org/storymap/layers-control/canvas/3"
168
+ }
169
+ ]
170
+ }
171
+ ],
172
+ "label": {
173
+ "none": [
174
+ "The railway lines"
175
+ ]
176
+ },
177
+ "summary": {
178
+ "none": [
179
+ "The second overlay starts hidden; checking its row paints it above the basemap."
180
+ ]
181
+ },
182
+ "navPlace": {
183
+ "id": "https://example.org/storymap/layers-control/canvas/3/navplace",
184
+ "type": "FeatureCollection",
185
+ "features": [
186
+ {
187
+ "id": "https://example.org/storymap/layers-control/canvas/3/navplace/feature/1",
188
+ "type": "Feature",
189
+ "geometry": {
190
+ "type": "Point",
191
+ "coordinates": [
192
+ -0.0046,
193
+ 51.4818
194
+ ]
195
+ },
196
+ "properties": {
197
+ "zoom": 11,
198
+ "line": true
199
+ }
200
+ }
201
+ ]
202
+ }
203
+ }
204
+ ],
205
+ "service": [
206
+ {
207
+ "id": "https://example.org/storymap/layers-control/map-config",
208
+ "type": "Service",
209
+ "profile": "https://cmahnke.github.io/StoryMapJS/context.json/mapconfig",
210
+ "storymap:basemap": "osm",
211
+ "storymap:keyboard": true,
212
+ "storymap:overlays": [
213
+ {
214
+ "map_type": "./tiles/historic/{z}/{x}/{y}.png",
215
+ "opacity": 0.6,
216
+ "attribution": "Historic sheet (demo overlay)"
217
+ },
218
+ {
219
+ "map_type": "./tiles/railway/{z}/{x}/{y}.png",
220
+ "visible": false,
221
+ "attribution": "Railway lines (demo overlay)"
222
+ }
223
+ ]
224
+ }
225
+ ]
226
+ }
@@ -0,0 +1,133 @@
1
+ {
2
+ "@context": [
3
+ "http://iiif.io/api/extension/navplace/context.json",
4
+ "http://iiif.io/api/presentation/3/context.json",
5
+ "https://cmahnke.github.io/StoryMapJS/navplace-properties.json",
6
+ "https://cmahnke.github.io/StoryMapJS/context.json"
7
+ ],
8
+ "id": "https://example.org/storymap/map-template-provider",
9
+ "type": "Manifest",
10
+ "label": {
11
+ "none": [
12
+ "map-template-provider"
13
+ ]
14
+ },
15
+ "behavior": [
16
+ "paged"
17
+ ],
18
+ "metadata": [
19
+ {
20
+ "label": {
21
+ "none": [
22
+ "Generated by"
23
+ ]
24
+ },
25
+ "value": {
26
+ "none": [
27
+ "StoryMapJS"
28
+ ]
29
+ }
30
+ }
31
+ ],
32
+ "items": [
33
+ {
34
+ "id": "https://example.org/storymap/map-template-provider/canvas/1",
35
+ "type": "Canvas",
36
+ "height": 1080,
37
+ "width": 1080,
38
+ "items": [
39
+ {
40
+ "id": "https://example.org/storymap/map-template-provider/canvas/1/annotationpage/1",
41
+ "type": "AnnotationPage",
42
+ "items": [
43
+ {
44
+ "id": "https://example.org/storymap/map-template-provider/canvas/1/annotation/1",
45
+ "type": "Annotation",
46
+ "motivation": "painting",
47
+ "body": {
48
+ "type": "TextualBody",
49
+ "format": "text/html",
50
+ "value": "The base layer names OpenStreetMap by its full tile template, and the credit line still credits it."
51
+ },
52
+ "target": "https://example.org/storymap/map-template-provider/canvas/1"
53
+ }
54
+ ]
55
+ }
56
+ ],
57
+ "label": {
58
+ "none": [
59
+ "A longhand OSM template"
60
+ ]
61
+ },
62
+ "summary": {
63
+ "none": [
64
+ "The base layer names OpenStreetMap by its full tile template, and the credit line still credits it."
65
+ ]
66
+ },
67
+ "storymap:type": "overview"
68
+ },
69
+ {
70
+ "id": "https://example.org/storymap/map-template-provider/canvas/2",
71
+ "type": "Canvas",
72
+ "height": 1080,
73
+ "width": 1080,
74
+ "items": [
75
+ {
76
+ "id": "https://example.org/storymap/map-template-provider/canvas/2/annotationpage/1",
77
+ "type": "AnnotationPage",
78
+ "items": [
79
+ {
80
+ "id": "https://example.org/storymap/map-template-provider/canvas/2/annotation/1",
81
+ "type": "Annotation",
82
+ "motivation": "painting",
83
+ "body": {
84
+ "type": "TextualBody",
85
+ "format": "text/html",
86
+ "value": "<p>A stop on a template-credited map.</p>"
87
+ },
88
+ "target": "https://example.org/storymap/map-template-provider/canvas/2"
89
+ }
90
+ ]
91
+ }
92
+ ],
93
+ "label": {
94
+ "none": [
95
+ "Paris"
96
+ ]
97
+ },
98
+ "summary": {
99
+ "none": [
100
+ "<p>A stop on a template-credited map.</p>"
101
+ ]
102
+ },
103
+ "navPlace": {
104
+ "id": "https://example.org/storymap/map-template-provider/canvas/2/navplace",
105
+ "type": "FeatureCollection",
106
+ "features": [
107
+ {
108
+ "id": "https://example.org/storymap/map-template-provider/canvas/2/navplace/feature/1",
109
+ "type": "Feature",
110
+ "geometry": {
111
+ "type": "Point",
112
+ "coordinates": [
113
+ 2.35,
114
+ 48.85
115
+ ]
116
+ },
117
+ "properties": {}
118
+ }
119
+ ]
120
+ }
121
+ }
122
+ ],
123
+ "service": [
124
+ {
125
+ "id": "https://example.org/storymap/map-template-provider/map-config",
126
+ "type": "Service",
127
+ "profile": "https://cmahnke.github.io/StoryMapJS/context.json/mapconfig",
128
+ "tilejson": {
129
+ "tiles": "https://tile.openstreetmap.org/{z}/{x}/{y}.png"
130
+ }
131
+ }
132
+ ]
133
+ }
@@ -0,0 +1,237 @@
1
+ {
2
+ "@context": [
3
+ "http://iiif.io/api/extension/navplace/context.json",
4
+ "http://iiif.io/api/presentation/3/context.json",
5
+ "https://cmahnke.github.io/StoryMapJS/navplace-properties.json",
6
+ "https://cmahnke.github.io/StoryMapJS/context.json"
7
+ ],
8
+ "id": "https://example.org/storymap/multi-media",
9
+ "type": "Manifest",
10
+ "label": {
11
+ "none": [
12
+ "multi-media"
13
+ ]
14
+ },
15
+ "behavior": [
16
+ "paged"
17
+ ],
18
+ "metadata": [
19
+ {
20
+ "label": {
21
+ "none": [
22
+ "Generated by"
23
+ ]
24
+ },
25
+ "value": {
26
+ "none": [
27
+ "StoryMapJS"
28
+ ]
29
+ }
30
+ }
31
+ ],
32
+ "items": [
33
+ {
34
+ "id": "https://example.org/storymap/multi-media/canvas/1",
35
+ "type": "Canvas",
36
+ "height": 1080,
37
+ "width": 1080,
38
+ "items": [
39
+ {
40
+ "id": "https://example.org/storymap/multi-media/canvas/1/annotationpage/1",
41
+ "type": "AnnotationPage",
42
+ "items": [
43
+ {
44
+ "id": "https://example.org/storymap/multi-media/canvas/1/annotation/1",
45
+ "type": "Annotation",
46
+ "motivation": "painting",
47
+ "label": {
48
+ "none": [
49
+ "Primary media"
50
+ ]
51
+ },
52
+ "body": {
53
+ "type": "TextualBody",
54
+ "format": "text/html",
55
+ "value": "/examples/assets/placeholder-landscape.jpg"
56
+ },
57
+ "target": "https://example.org/storymap/multi-media/canvas/1"
58
+ }
59
+ ]
60
+ }
61
+ ],
62
+ "label": {
63
+ "none": [
64
+ "Multiple media per slide"
65
+ ]
66
+ },
67
+ "summary": {
68
+ "none": [
69
+ "A slide can carry extra visible media items after its primary one."
70
+ ]
71
+ },
72
+ "storymap:type": "overview"
73
+ },
74
+ {
75
+ "id": "https://example.org/storymap/multi-media/canvas/2",
76
+ "type": "Canvas",
77
+ "height": 1080,
78
+ "width": 1080,
79
+ "items": [
80
+ {
81
+ "id": "https://example.org/storymap/multi-media/canvas/2/annotationpage/1",
82
+ "type": "AnnotationPage",
83
+ "items": [
84
+ {
85
+ "id": "https://example.org/storymap/multi-media/canvas/2/annotation/1",
86
+ "type": "Annotation",
87
+ "motivation": "painting",
88
+ "label": {
89
+ "none": [
90
+ "First item"
91
+ ]
92
+ },
93
+ "body": {
94
+ "type": "TextualBody",
95
+ "format": "text/html",
96
+ "value": "/examples/assets/placeholder-city.jpg"
97
+ },
98
+ "target": "https://example.org/storymap/multi-media/canvas/2"
99
+ },
100
+ {
101
+ "id": "https://example.org/storymap/multi-media/canvas/2/annotation/extra-1",
102
+ "type": "Annotation",
103
+ "motivation": "painting",
104
+ "label": {
105
+ "none": [
106
+ "Second item"
107
+ ]
108
+ },
109
+ "body": {
110
+ "id": "https://example.com/iframe/embed/123",
111
+ "type": "Text",
112
+ "format": "text/html"
113
+ },
114
+ "target": "https://example.org/storymap/multi-media/canvas/2"
115
+ }
116
+ ]
117
+ }
118
+ ],
119
+ "label": {
120
+ "none": [
121
+ "Side by side"
122
+ ]
123
+ },
124
+ "summary": {
125
+ "none": [
126
+ "Two items with media_layout row sit next to each other."
127
+ ]
128
+ },
129
+ "navPlace": {
130
+ "id": "https://example.org/storymap/multi-media/canvas/2/navplace",
131
+ "type": "FeatureCollection",
132
+ "features": [
133
+ {
134
+ "id": "https://example.org/storymap/multi-media/canvas/2/navplace/feature/1",
135
+ "type": "Feature",
136
+ "geometry": {
137
+ "type": "Point",
138
+ "coordinates": [
139
+ 2.35,
140
+ 48.85
141
+ ]
142
+ },
143
+ "properties": {
144
+ "zoom": 6
145
+ }
146
+ }
147
+ ]
148
+ }
149
+ },
150
+ {
151
+ "id": "https://example.org/storymap/multi-media/canvas/3",
152
+ "type": "Canvas",
153
+ "height": 1080,
154
+ "width": 1080,
155
+ "items": [
156
+ {
157
+ "id": "https://example.org/storymap/multi-media/canvas/3/annotationpage/1",
158
+ "type": "AnnotationPage",
159
+ "items": [
160
+ {
161
+ "id": "https://example.org/storymap/multi-media/canvas/3/annotation/1",
162
+ "type": "Annotation",
163
+ "motivation": "painting",
164
+ "label": {
165
+ "none": [
166
+ "First item"
167
+ ]
168
+ },
169
+ "body": {
170
+ "type": "TextualBody",
171
+ "format": "text/html",
172
+ "value": "/examples/assets/placeholder-portrait.jpg"
173
+ },
174
+ "target": "https://example.org/storymap/multi-media/canvas/3"
175
+ },
176
+ {
177
+ "id": "https://example.org/storymap/multi-media/canvas/3/annotation/extra-1",
178
+ "type": "Annotation",
179
+ "motivation": "painting",
180
+ "label": {
181
+ "none": [
182
+ "Second item"
183
+ ]
184
+ },
185
+ "body": {
186
+ "type": "TextualBody",
187
+ "format": "text/html",
188
+ "value": "/examples/assets/tone.mp3"
189
+ },
190
+ "target": "https://example.org/storymap/multi-media/canvas/3"
191
+ }
192
+ ]
193
+ }
194
+ ],
195
+ "label": {
196
+ "none": [
197
+ "Stacked with audio"
198
+ ]
199
+ },
200
+ "summary": {
201
+ "none": [
202
+ "Items pile vertically by default, and an audible extra badges the marker."
203
+ ]
204
+ },
205
+ "navPlace": {
206
+ "id": "https://example.org/storymap/multi-media/canvas/3/navplace",
207
+ "type": "FeatureCollection",
208
+ "features": [
209
+ {
210
+ "id": "https://example.org/storymap/multi-media/canvas/3/navplace/feature/1",
211
+ "type": "Feature",
212
+ "geometry": {
213
+ "type": "Point",
214
+ "coordinates": [
215
+ 13.4,
216
+ 52.52
217
+ ]
218
+ },
219
+ "properties": {
220
+ "zoom": 6
221
+ }
222
+ }
223
+ ]
224
+ }
225
+ }
226
+ ],
227
+ "service": [
228
+ {
229
+ "id": "https://example.org/storymap/multi-media/map-config",
230
+ "type": "Service",
231
+ "profile": "https://cmahnke.github.io/StoryMapJS/context.json/mapconfig",
232
+ "storymap:basemap": "osm",
233
+ "storymap:mapAsImage": false,
234
+ "storymap:callToAction": false
235
+ }
236
+ ]
237
+ }
@@ -0,0 +1,79 @@
1
+ {
2
+ "@context": [
3
+ "http://www.w3.org/ns/anno.jsonld",
4
+ "https://seige.digital/strollview/2/context.jsonld"
5
+ ],
6
+ "id": "https://example.org/tours/single",
7
+ "type": "AnnotationCollection",
8
+ "creator": "Example Author",
9
+ "label": "A single-manifest tour",
10
+ "rights": "https://creativecommons.org/licenses/by/4.0/",
11
+ "first": {
12
+ "type": "AnnotationPage",
13
+ "items": [
14
+ {
15
+ "id": "https://example.org/tours/single/annotation/0",
16
+ "type": "Annotation",
17
+ "body": {
18
+ "id": "https://example.org/tours/single/body/0",
19
+ "type": "TextualBody",
20
+ "value": "<h2>Opening</h2><p>First stop.</p>",
21
+ "format": "text/html"
22
+ },
23
+ "target": {
24
+ "id": "https://images.example.org/iiif/canvas/1#100,200,300,400",
25
+ "type": "Image",
26
+ "format": "image/jpeg"
27
+ },
28
+ "strollview": {
29
+ "filters": { "brightness": 110, "sepia": 20 },
30
+ "passepartout": { "x": 0.1, "y": 0.1, "w": 0.8, "h": 0.8 },
31
+ "rotation": 45,
32
+ "audio": {
33
+ "url": "https://example.org/audio/0.mp3",
34
+ "loop": false,
35
+ "offset": 2,
36
+ "play": "auto",
37
+ "stopallprevious": true,
38
+ "stoponexit": true
39
+ },
40
+ "manifest_id": "https://images.example.org/iiif/manifest",
41
+ "canvas_id": "https://images.example.org/iiif/canvas/1",
42
+ "image_id": "https://images.example.org/iiif/image/1",
43
+ "image_srv": "https://images.example.org/iiif/image/1",
44
+ "image_static": "https://images.example.org/static/1.jpg",
45
+ "passepartout_color": "#000000cc",
46
+ "passepartout_invert": false
47
+ }
48
+ },
49
+ {
50
+ "id": "https://example.org/tours/single/annotation/1",
51
+ "type": "Annotation",
52
+ "body": {
53
+ "id": "https://example.org/tours/single/body/1",
54
+ "type": "TextualBody",
55
+ "value": "<p>Second stop, plain view.</p>",
56
+ "format": "text/html"
57
+ },
58
+ "target": {
59
+ "id": "https://images.example.org/iiif/canvas/1",
60
+ "type": "Image",
61
+ "format": "image/jpeg"
62
+ },
63
+ "strollview": {
64
+ "filters": false,
65
+ "passepartout": false,
66
+ "rotation": 0,
67
+ "audio": false,
68
+ "manifest_id": "https://images.example.org/iiif/manifest",
69
+ "canvas_id": "https://images.example.org/iiif/canvas/1",
70
+ "image_id": "https://images.example.org/iiif/image/1",
71
+ "image_srv": "https://images.example.org/iiif/image/1",
72
+ "image_static": null,
73
+ "passepartout_color": "#000000cc",
74
+ "passepartout_invert": false
75
+ }
76
+ }
77
+ ]
78
+ }
79
+ }