diff --git a/__tests__/presentation-3-parser/__snapshots__/cookbook.tests.ts.snap b/__tests__/presentation-3-parser/__snapshots__/cookbook.tests.ts.snap index e42caa0..ad7541e 100644 --- a/__tests__/presentation-3-parser/__snapshots__/cookbook.tests.ts.snap +++ b/__tests__/presentation-3-parser/__snapshots__/cookbook.tests.ts.snap @@ -1,6 +1,6 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`Cookbook > Testing normalize %p (%p) 0001-mvm-image https://iiif.io/api/cookbook/recipe/0001-mvm-image/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0001-mvm-image-manifest https://iiif.io/api/cookbook/recipe/0001-mvm-image/manifest.json 1`] = ` { "entities": { "Agent": {}, @@ -177,7 +177,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0001-mvm-image https://iiif.io/api } `; -exports[`Cookbook > Testing normalize %p (%p) 0001-mvm-image https://iiif.io/api/cookbook/recipe/0001-mvm-image/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0001-mvm-image-manifest https://iiif.io/api/cookbook/recipe/0001-mvm-image/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", "id": "https://iiif.io/api/cookbook/recipe/0001-mvm-image/manifest.json", @@ -219,7 +219,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0001-mvm-image https://iiif.io/api } `; -exports[`Cookbook > Testing normalize %p (%p) 0002-mvm-audio https://iiif.io/api/cookbook/recipe/0002-mvm-audio/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0002-mvm-audio-manifest https://iiif.io/api/cookbook/recipe/0002-mvm-audio/manifest.json 1`] = ` { "entities": { "Agent": {}, @@ -395,7 +395,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0002-mvm-audio https://iiif.io/api } `; -exports[`Cookbook > Testing normalize %p (%p) 0002-mvm-audio https://iiif.io/api/cookbook/recipe/0002-mvm-audio/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0002-mvm-audio-manifest https://iiif.io/api/cookbook/recipe/0002-mvm-audio/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", "id": "https://iiif.io/api/cookbook/recipe/0002-mvm-audio/manifest.json", @@ -435,7 +435,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0002-mvm-audio https://iiif.io/api } `; -exports[`Cookbook > Testing normalize %p (%p) 0003-mvm-video https://iiif.io/api/cookbook/recipe/0003-mvm-video/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0003-mvm-video-manifest https://iiif.io/api/cookbook/recipe/0003-mvm-video/manifest.json 1`] = ` { "entities": { "Agent": {}, @@ -529,7 +529,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0003-mvm-video https://iiif.io/api "summary": null, "thumbnail": [], "type": "Canvas", - "width": 640, + "width": 480, }, }, "Collection": {}, @@ -613,7 +613,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0003-mvm-video https://iiif.io/api } `; -exports[`Cookbook > Testing normalize %p (%p) 0003-mvm-video https://iiif.io/api/cookbook/recipe/0003-mvm-video/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0003-mvm-video-manifest https://iiif.io/api/cookbook/recipe/0003-mvm-video/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", "id": "https://iiif.io/api/cookbook/recipe/0003-mvm-video/manifest.json", @@ -645,7 +645,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0003-mvm-video https://iiif.io/api }, ], "type": "Canvas", - "width": 640, + "width": 480, }, ], "label": { @@ -657,7 +657,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0003-mvm-video https://iiif.io/api } `; -exports[`Cookbook > Testing normalize %p (%p) 0004-canvas-size https://iiif.io/api/cookbook/recipe/0004-canvas-size/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0004-canvas-size-manifest https://iiif.io/api/cookbook/recipe/0004-canvas-size/manifest.json 1`] = ` { "entities": { "Agent": {}, @@ -834,7 +834,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0004-canvas-size https://iiif.io/a } `; -exports[`Cookbook > Testing normalize %p (%p) 0004-canvas-size https://iiif.io/api/cookbook/recipe/0004-canvas-size/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0004-canvas-size-manifest https://iiif.io/api/cookbook/recipe/0004-canvas-size/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", "id": "https://iiif.io/api/cookbook/recipe/0004-canvas-size/manifest.json", @@ -876,7 +876,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0004-canvas-size https://iiif.io/a } `; -exports[`Cookbook > Testing normalize %p (%p) 0005-image-service https://iiif.io/api/cookbook/recipe/0005-image-service/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0005-image-service-manifest https://iiif.io/api/cookbook/recipe/0005-image-service/manifest.json 1`] = ` { "entities": { "Agent": {}, @@ -1070,7 +1070,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0005-image-service https://iiif.io } `; -exports[`Cookbook > Testing normalize %p (%p) 0005-image-service https://iiif.io/api/cookbook/recipe/0005-image-service/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0005-image-service-manifest https://iiif.io/api/cookbook/recipe/0005-image-service/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", "id": "https://iiif.io/api/cookbook/recipe/0005-image-service/manifest.json", @@ -1124,7 +1124,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0005-image-service https://iiif.io } `; -exports[`Cookbook > Testing normalize %p (%p) 0006-text-language https://iiif.io/api/cookbook/recipe/0006-text-language/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0006-text-language-manifest https://iiif.io/api/cookbook/recipe/0006-text-language/manifest.json 1`] = ` { "entities": { "Agent": {}, @@ -1372,7 +1372,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0006-text-language https://iiif.io } `; -exports[`Cookbook > Testing normalize %p (%p) 0006-text-language https://iiif.io/api/cookbook/recipe/0006-text-language/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0006-text-language-manifest https://iiif.io/api/cookbook/recipe/0006-text-language/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", "id": "https://iiif.io/api/cookbook/recipe/0006-text-language/manifest.json", @@ -1482,7 +1482,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0006-text-language https://iiif.io } `; -exports[`Cookbook > Testing normalize %p (%p) 0007-string-formats https://iiif.io/api/cookbook/recipe/0007-string-formats/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0007-string-formats-manifest https://iiif.io/api/cookbook/recipe/0007-string-formats/manifest.json 1`] = ` { "entities": { "Agent": {}, @@ -1700,7 +1700,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0007-string-formats https://iiif.i } `; -exports[`Cookbook > Testing normalize %p (%p) 0007-string-formats https://iiif.io/api/cookbook/recipe/0007-string-formats/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0007-string-formats-manifest https://iiif.io/api/cookbook/recipe/0007-string-formats/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", "id": "https://iiif.io/api/cookbook/recipe/0007-string-formats/manifest.json", @@ -1781,7 +1781,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0007-string-formats https://iiif.i } `; -exports[`Cookbook > Testing normalize %p (%p) 0008-rights https://iiif.io/api/cookbook/recipe/0008-rights/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0008-rights-manifest https://iiif.io/api/cookbook/recipe/0008-rights/manifest.json 1`] = ` { "entities": { "Agent": {}, @@ -1942,7 +1942,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0008-rights https://iiif.io/api/co }, "value": { "en": [ - "Glen Robson, IIIF Technical Coordinator. CC BY-SA 3.0 ", + "Glen Robson, IIIF Technical Coordinator. CC BY-SA 3.0 ", ], }, }, @@ -1986,7 +1986,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0008-rights https://iiif.io/api/co } `; -exports[`Cookbook > Testing normalize %p (%p) 0008-rights https://iiif.io/api/cookbook/recipe/0008-rights/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0008-rights-manifest https://iiif.io/api/cookbook/recipe/0008-rights/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", "id": "https://iiif.io/api/cookbook/recipe/0008-rights/manifest.json", @@ -2039,7 +2039,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0008-rights https://iiif.io/api/co }, "value": { "en": [ - "Glen Robson, IIIF Technical Coordinator. CC BY-SA 3.0 ", + "Glen Robson, IIIF Technical Coordinator. CC BY-SA 3.0 ", ], }, }, @@ -2053,7 +2053,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0008-rights https://iiif.io/api/co } `; -exports[`Cookbook > Testing normalize %p (%p) 0009-book-1 https://iiif.io/api/cookbook/recipe/0009-book-1/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0009-book-1-manifest https://iiif.io/api/cookbook/recipe/0009-book-1/manifest.json 1`] = ` { "entities": { "Agent": {}, @@ -2745,7 +2745,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0009-book-1 https://iiif.io/api/co } `; -exports[`Cookbook > Testing normalize %p (%p) 0009-book-1 https://iiif.io/api/cookbook/recipe/0009-book-1/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0009-book-1-manifest https://iiif.io/api/cookbook/recipe/0009-book-1/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", "behavior": [ @@ -6099,7 +6099,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0011-book-3-behavior-manifest-indi } `; -exports[`Cookbook > Testing normalize %p (%p) 0013-placeholderCanvas https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0013-placeholderCanvas-manifest https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/manifest.json 1`] = ` { "entities": { "Agent": {}, @@ -6384,7 +6384,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0013-placeholderCanvas https://iii } `; -exports[`Cookbook > Testing normalize %p (%p) 0013-placeholderCanvas https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0013-placeholderCanvas-manifest https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", "id": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/manifest.json", @@ -6455,7 +6455,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0013-placeholderCanvas https://iii } `; -exports[`Cookbook > Testing normalize %p (%p) 0014-accompanyingcanvas https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0014-accompanyingcanvas-manifest https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/manifest.json 1`] = ` { "entities": { "Agent": {}, @@ -6507,7 +6507,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0014-accompanyingcanvas https://ii ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/page/p1", + "id": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/p1", "type": "Canvas", }, "type": "SpecificResource", @@ -6759,7 +6759,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0014-accompanyingcanvas https://ii } `; -exports[`Cookbook > Testing normalize %p (%p) 0014-accompanyingcanvas https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0014-accompanyingcanvas-manifest https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", "id": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/manifest.json", @@ -6819,7 +6819,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0014-accompanyingcanvas https://ii }, "id": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/page/annotation/segment1-audio", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/page/p1", + "target": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/p1", "type": "Annotation", }, ], @@ -6843,7 +6843,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0014-accompanyingcanvas https://ii } `; -exports[`Cookbook > Testing normalize %p (%p) 0015-start https://iiif.io/api/cookbook/recipe/0015-start/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0015-start-manifest https://iiif.io/api/cookbook/recipe/0015-start/manifest.json 1`] = ` { "entities": { "Agent": {}, @@ -7048,7 +7048,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0015-start https://iiif.io/api/coo } `; -exports[`Cookbook > Testing normalize %p (%p) 0015-start https://iiif.io/api/cookbook/recipe/0015-start/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0015-start-manifest https://iiif.io/api/cookbook/recipe/0015-start/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", "id": "https://iiif.io/api/cookbook/recipe/0015-start/manifest.json", @@ -7110,7 +7110,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0015-start https://iiif.io/api/coo } `; -exports[`Cookbook > Testing normalize %p (%p) 0017-transcription-av https://iiif.io/api/cookbook/recipe/0017-transcription-av/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0017-transcription-av-manifest https://iiif.io/api/cookbook/recipe/0017-transcription-av/manifest.json 1`] = ` { "entities": { "Agent": {}, @@ -7230,7 +7230,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0017-transcription-av https://iiif "width": 1920, }, "https://fixtures.iiif.io/video/indiana/volleyball/volleyball.txt": { - "format": "text/txt", + "format": "text/plain", "id": "https://fixtures.iiif.io/video/indiana/volleyball/volleyball.txt", "iiif-parser:hasPart": [ { @@ -7311,7 +7311,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0017-transcription-av https://iiif } `; -exports[`Cookbook > Testing normalize %p (%p) 0017-transcription-av https://iiif.io/api/cookbook/recipe/0017-transcription-av/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0017-transcription-av-manifest https://iiif.io/api/cookbook/recipe/0017-transcription-av/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", "id": "https://iiif.io/api/cookbook/recipe/0017-transcription-av/manifest.json", @@ -7344,7 +7344,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0017-transcription-av https://iiif ], "rendering": [ { - "format": "text/txt", + "format": "text/plain", "id": "https://fixtures.iiif.io/video/indiana/volleyball/volleyball.txt", "label": { "en": [ @@ -7367,7 +7367,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0017-transcription-av https://iiif } `; -exports[`Cookbook > Testing normalize %p (%p) 0019-html-in-annotations https://iiif.io/api/cookbook/recipe/0019-html-in-annotations/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0019-html-in-annotations-manifest https://iiif.io/api/cookbook/recipe/0019-html-in-annotations/manifest.json 1`] = ` { "entities": { "Agent": {}, @@ -7635,7 +7635,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0019-html-in-annotations https://i } `; -exports[`Cookbook > Testing normalize %p (%p) 0019-html-in-annotations https://iiif.io/api/cookbook/recipe/0019-html-in-annotations/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0019-html-in-annotations-manifest https://iiif.io/api/cookbook/recipe/0019-html-in-annotations/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", "id": "https://iiif.io/api/cookbook/recipe/0019-html-in-annotations/manifest.json", @@ -7704,7 +7704,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0019-html-in-annotations https://i } `; -exports[`Cookbook > Testing normalize %p (%p) 0021-tagging https://iiif.io/api/cookbook/recipe/0021-tagging/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0021-tagging-manifest https://iiif.io/api/cookbook/recipe/0021-tagging/manifest.json 1`] = ` { "entities": { "Agent": {}, @@ -7976,7 +7976,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0021-tagging https://iiif.io/api/c } `; -exports[`Cookbook > Testing normalize %p (%p) 0021-tagging https://iiif.io/api/cookbook/recipe/0021-tagging/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0021-tagging-manifest https://iiif.io/api/cookbook/recipe/0021-tagging/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", "id": "https://iiif.io/api/cookbook/recipe/0021-tagging/manifest.json", @@ -8045,50 +8045,23 @@ exports[`Cookbook > Testing normalize %p (%p) 0021-tagging https://iiif.io/api/c } `; -exports[`Cookbook > Testing normalize %p (%p) 0024-book-4-toc https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0022-linking-with-a-hotspot-manifest https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/manifest.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0001-image": { - "body": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg", - "type": "ContentResource", - }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0001-image", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0001-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p1/1", - "type": "Annotation", - }, - ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", - }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0002-image": { + "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0001-image": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0002-image", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0001-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0002-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p2/1", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p1/1", "type": "Annotation", }, ], @@ -8097,25 +8070,25 @@ exports[`Cookbook > Testing normalize %p (%p) 0024-book-4-toc https://iiif.io/ap ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p1", "type": "Canvas", }, "type": "SpecificResource", }, "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0003-image": { + "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0002-image": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-fountain/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0003-image", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0002-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0003-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p3/1", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0002-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p2/1", "type": "Annotation", }, ], @@ -8124,88 +8097,45 @@ exports[`Cookbook > Testing normalize %p (%p) 0024-book-4-toc https://iiif.io/ap ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p2", "type": "Canvas", }, "type": "SpecificResource", }, "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0004-image": { + "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0002-link": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master/full/max/0/default.jpg", + "id": "vault://a6f26a9c", "type": "ContentResource", }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0004-image", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0004-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p4/1", - "type": "Annotation", - }, - ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", - }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0005-image": { - "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master/full/max/0/default.jpg", - "type": "ContentResource", + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p2", + "type": "Canvas", + }, + "type": "SpecificResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0005-image", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0002-link", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0005-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p5/1", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0002-link", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p2/1", "type": "Annotation", }, ], "motivation": [ - "painting", + "linking", ], "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", - }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0006-image": { - "body": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master/full/max/0/default.jpg", - "type": "ContentResource", - }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0006-image", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0006-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p6/1", - "type": "Annotation", + "selector": { + "type": "FragmentSelector", + "value": "xywh=265,661,1260,1239", }, - ], - "motivation": [ - "painting", - ], - "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p1", "type": "Canvas", }, "type": "SpecificResource", @@ -8215,20 +8145,20 @@ exports[`Cookbook > Testing normalize %p (%p) 0024-book-4-toc https://iiif.io/ap }, "AnnotationCollection": {}, "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p1/1": { + "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p1/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p1/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p1/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p1", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0001-image", "type": "Annotation", }, ], @@ -8244,20 +8174,63 @@ exports[`Cookbook > Testing normalize %p (%p) 0024-book-4-toc https://iiif.io/ap "thumbnail": [], "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p2/1": { + "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p2/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p2/1", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p2/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p2/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", + "@explicit": true, + "behavior": {}, + "homepage": {}, + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p2/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0002-link", + "type": "Annotation", + }, + ], + "label": {}, + "metadata": {}, + "provider": {}, + "rendering": {}, + "requiredStatement": {}, + "rights": {}, + "seeAlso": {}, + "service": {}, + "summary": {}, + "thumbnail": {}, + "type": "AnnotationPage", + }, + { + "@explicit": true, + "behavior": {}, + "homepage": {}, + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p2/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p2", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0002-image", + "type": "Annotation", + }, + ], + "label": {}, + "metadata": {}, + "provider": {}, + "rendering": {}, + "requiredStatement": {}, + "rights": {}, + "seeAlso": {}, + "service": {}, + "summary": {}, + "thumbnail": {}, "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0002-image", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0002-link", "type": "Annotation", }, ], @@ -8273,25 +8246,32 @@ exports[`Cookbook > Testing normalize %p (%p) 0024-book-4-toc https://iiif.io/ap "thumbnail": [], "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p3/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p3/1", - "iiif-parser:hasPart": [ + }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p1": { + "accompanyingCanvas": null, + "annotations": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p3/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p2/1", "type": "AnnotationPage", }, ], + "behavior": [], + "duration": 0, + "height": 3024, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0003-image", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p1/1", + "type": "AnnotationPage", }, ], "label": null, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, @@ -8300,27 +8280,33 @@ exports[`Cookbook > Testing normalize %p (%p) 0024-book-4-toc https://iiif.io/ap "service": [], "summary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Canvas", + "width": 4032, }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p4/1": { + "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p2": { + "accompanyingCanvas": null, + "annotations": [], "behavior": [], + "duration": 0, + "height": 4032, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p4/1", - "iiif-parser:hasPart": [ + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p2", + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p4/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p2/1", "type": "AnnotationPage", }, ], - "items": [ + "label": null, + "metadata": [], + "navDate": null, + "partOf": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0004-image", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/manifest.json", + "type": "Manifest", }, ], - "label": null, - "metadata": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, @@ -8329,153 +8315,97 @@ exports[`Cookbook > Testing normalize %p (%p) 0024-book-4-toc https://iiif.io/ap "service": [], "summary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Canvas", + "width": 3024, }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p5/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p5/1", + }, + "Collection": {}, + "ContentResource": { + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-fountain/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4032, + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-fountain/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p5/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", - "type": "AnnotationPage", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-fountain/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0002-image", + "type": "Image", }, ], - "items": [ + "service": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0005-image", - "type": "Annotation", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-fountain/", + "profile": "level1", + "type": "ImageService3", }, ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", + "type": "Image", + "width": 3024, }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p6/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p6/1", + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 3024, + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p6/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", - "type": "AnnotationPage", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0001-image", + "type": "Image", }, ], - "items": [ + "service": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0006-image", - "type": "Annotation", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "profile": "level1", + "type": "ImageService3", }, ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", + "type": "Image", + "width": 4032, + }, + "vault://a6f26a9c": { + "format": "text/plain", + "id": "vault://a6f26a9c", + "iiif-parser:hasPart": [ + { + "id": "vault://a6f26a9c", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0002-link", + "type": "TextualBody", + }, + ], + "language": "de", + "type": "TextualBody", + "value": "A link to a close up of Gänseliesel-Brunnen fountain.", }, }, - "Canvas": { - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1": { + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/manifest.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], - "duration": 0, - "height": 2504, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", - "items": [ + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/manifest.json", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p1/1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/manifest.json", + "type": "Manifest", }, ], - "label": { - "en": [ - "f. 1r", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 1768, - }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 2512, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p2/1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p1", + "type": "Canvas", }, - ], - "label": { - "en": [ - "f. 1v", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 1792, - }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 2456, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", - "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p3/1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p2", + "type": "Canvas", }, ], "label": { "en": [ - "f. 2r", + "Picture of Göttingen taken during the 2019 IIIF Conference", ], }, "metadata": [], @@ -8488,489 +8418,415 @@ exports[`Cookbook > Testing normalize %p (%p) 0024-book-4-toc https://iiif.io/ap "rights": null, "seeAlso": [], "service": [], + "services": [], + "start": null, + "structures": [], "summary": null, "thumbnail": [], - "type": "Canvas", - "width": 1792, + "type": "Manifest", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 2440, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", - "items": [ + }, + "Range": {}, + "Selector": {}, + "Service": { + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-fountain/": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-fountain/", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "profile": "level1", + "type": "ImageService3", + }, + }, + }, + "mapping": { + "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0002-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0002-link": "Annotation", + "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p2": "Canvas", + "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p1/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p2/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-fountain/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg": "ContentResource", + "vault://a6f26a9c": "ContentResource", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/manifest.json", + "type": "Manifest", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0024-book-4-toc-manifest https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0001-image": { + "body": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p4/1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg", + "type": "ContentResource", }, ], - "label": { - "en": [ - "f. 2v", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 1760, - }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 2416, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", - "items": [ + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0001-image", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p5/1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p1/1", + "type": "Annotation", }, ], - "label": { - "en": [ - "f. 3r", - ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", + "type": "Canvas", + }, + "type": "SpecificResource", }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 1776, + "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 2416, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", - "items": [ + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0002-image": { + "body": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p6/1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master/full/max/0/default.jpg", + "type": "ContentResource", }, ], - "label": { - "en": [ - "f. 3v", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 1776, - }, - }, - "Collection": {}, - "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 2504, - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0002-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0001-image", - "type": "Image", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0002-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p2/1", + "type": "Annotation", }, ], - "service": [ + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0003-image": { + "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master", - "profile": "level1", - "type": "ImageService3", + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg", + "type": "ContentResource", }, ], - "type": "Image", - "width": 1768, - }, - "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 2512, - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master/full/max/0/default.jpg", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0003-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0002-image", - "type": "Image", - }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master", - "profile": "level1", - "type": "ImageService3", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0003-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p3/1", + "type": "Annotation", }, ], - "type": "Image", - "width": 1792, - }, - "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 2456, - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0003-image", - "type": "Image", - }, + "motivation": [ + "painting", ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master", - "profile": "level1", - "type": "ImageService3", + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", + "type": "Canvas", }, - ], - "type": "Image", - "width": 1792, + "type": "SpecificResource", + }, + "type": "Annotation", }, - "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 2440, - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master/full/max/0/default.jpg", - "iiif-parser:hasPart": [ + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0004-image": { + "body": [ { "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0004-image", - "type": "Image", + "type": "ContentResource", }, ], - "service": [ + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0004-image", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master", - "profile": "level1", - "type": "ImageService3", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0004-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p4/1", + "type": "Annotation", }, ], - "type": "Image", - "width": 1760, + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", }, - "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 2416, - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master/full/max/0/default.jpg", - "iiif-parser:hasPart": [ + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0005-image": { + "body": [ { "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0005-image", - "type": "Image", + "type": "ContentResource", }, ], - "service": [ + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0005-image", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master", - "profile": "level1", - "type": "ImageService3", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0005-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p5/1", + "type": "Annotation", }, ], - "type": "Image", - "width": 1776, + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", }, - "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 2416, - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master/full/max/0/default.jpg", - "iiif-parser:hasPart": [ + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0006-image": { + "body": [ { "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0006-image", - "type": "Image", + "type": "ContentResource", }, ], - "service": [ + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0006-image", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master", - "profile": "level1", - "type": "ImageService3", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0006-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p6/1", + "type": "Annotation", }, ], - "type": "Image", - "width": 1776, + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", }, }, - "Manifest": { - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json": { - "@context": "http://iiif.io/api/presentation/3/context.json", - "accompanyingCanvas": null, - "annotations": [], + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p1/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p1/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json", - "type": "Manifest", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", + "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0001-image", + "type": "Annotation", }, ], - "label": { - "en": [ - "Ethiopic Ms 10", - ], - }, + "label": null, "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], - "services": [], - "start": null, - "structures": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r0", - "type": "Range", - }, - ], "summary": null, "thumbnail": [], - "type": "Manifest", - "viewingDirection": "left-to-right", + "type": "AnnotationPage", }, - }, - "Range": { - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1": { - "accompanyingCanvas": null, - "annotations": [], + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p2/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p2/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r1", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p2/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0002-image", + "type": "Annotation", }, ], - "items": [], "label": null, "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Canvas", - "viewingDirection": "left-to-right", + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2": { - "accompanyingCanvas": null, - "annotations": [], + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p3/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p3/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r1", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p3/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0003-image", + "type": "Annotation", }, ], - "items": [], "label": null, "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Canvas", - "viewingDirection": "left-to-right", + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3": { - "accompanyingCanvas": null, - "annotations": [], + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p4/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p4/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/1", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p4/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0004-image", + "type": "Annotation", }, ], - "items": [], "label": null, "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Canvas", - "viewingDirection": "left-to-right", + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4": { - "accompanyingCanvas": null, - "annotations": [], + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p5/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p5/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/1", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p5/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0005-image", + "type": "Annotation", }, ], - "items": [], "label": null, "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Canvas", - "viewingDirection": "left-to-right", + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5": { - "accompanyingCanvas": null, - "annotations": [], + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p6/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p6/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/2", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p6/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0006-image", + "type": "Annotation", }, ], - "items": [], "label": null, "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Canvas", - "viewingDirection": "left-to-right", + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6": { + }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1": { "accompanyingCanvas": null, "annotations": [], "behavior": [], + "duration": 0, + "height": 2504, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", - "iiif-parser:hasPart": [ + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/2", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p1/1", + "type": "AnnotationPage", }, ], - "items": [], - "label": null, + "label": { + "en": [ + "f. 1r", + ], + }, "metadata": [], "navDate": null, "partOf": [], @@ -8981,32 +8837,28 @@ exports[`Cookbook > Testing normalize %p (%p) 0024-book-4-toc https://iiif.io/ap "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], "type": "Canvas", - "viewingDirection": "left-to-right", + "width": 1768, }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r0": { + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2": { "accompanyingCanvas": null, "annotations": [], "behavior": [], + "duration": 0, + "height": 2512, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r0", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r1", - "type": "Range", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2", - "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p2/1", + "type": "AnnotationPage", }, ], "label": { "en": [ - "Table of Contents", + "f. 1v", ], }, "metadata": [], @@ -9019,47 +8871,28 @@ exports[`Cookbook > Testing normalize %p (%p) 0024-book-4-toc https://iiif.io/ap "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Range", - "viewingDirection": "left-to-right", + "type": "Canvas", + "width": 1792, }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r1": { + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3": { "accompanyingCanvas": null, "annotations": [], "behavior": [], + "duration": 0, + "height": 2456, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r0", - "type": "Range", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", "items": [ { - "selector": undefined, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - { - "selector": undefined, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", - "type": "Canvas", - }, - "type": "SpecificResource", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p3/1", + "type": "AnnotationPage", }, ], "label": { - "gez": [ - "Tabiba Tabiban [ጠቢበ ጠቢባን]", + "en": [ + "f. 2r", ], }, "metadata": [], @@ -9072,39 +8905,28 @@ exports[`Cookbook > Testing normalize %p (%p) 0024-book-4-toc https://iiif.io/ap "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Range", - "viewingDirection": "left-to-right", + "type": "Canvas", + "width": 1792, }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2": { + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4": { "accompanyingCanvas": null, "annotations": [], "behavior": [], + "duration": 0, + "height": 2440, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r0", - "type": "Range", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/1", - "type": "Range", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/2", - "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p4/1", + "type": "AnnotationPage", }, ], "label": { - "gez": [ - "Arede'et [አርድዕት]", + "en": [ + "f. 2v", ], }, "metadata": [], @@ -9117,47 +8939,28 @@ exports[`Cookbook > Testing normalize %p (%p) 0024-book-4-toc https://iiif.io/ap "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Range", - "viewingDirection": "left-to-right", + "type": "Canvas", + "width": 1760, }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/1": { + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5": { "accompanyingCanvas": null, "annotations": [], "behavior": [], + "duration": 0, + "height": 2416, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2", - "type": "Range", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", "items": [ { - "selector": undefined, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - { - "selector": undefined, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", - "type": "Canvas", - }, - "type": "SpecificResource", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p5/1", + "type": "AnnotationPage", }, ], "label": { "en": [ - "Monday", + "f. 3r", ], }, "metadata": [], @@ -9170,47 +8973,219 @@ exports[`Cookbook > Testing normalize %p (%p) 0024-book-4-toc https://iiif.io/ap "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Range", - "viewingDirection": "left-to-right", + "type": "Canvas", + "width": 1776, }, - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/2": { + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6": { "accompanyingCanvas": null, "annotations": [], "behavior": [], + "duration": 0, + "height": 2416, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/2", - "iiif-parser:hasPart": [ + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/2", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2", - "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p6/1", + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "f. 3v", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 1776, + }, + }, + "Collection": {}, + "ContentResource": { + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 2504, + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0001-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 1768, + }, + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 2512, + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0002-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 1792, + }, + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 2456, + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0003-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 1792, + }, + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 2440, + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0004-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 1760, + }, + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 2416, + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0005-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 1776, + }, + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 2416, + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0006-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 1776, + }, + }, + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json", + "type": "Manifest", }, ], "items": [ { - "selector": undefined, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", - "type": "Canvas", - }, - "type": "SpecificResource", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", + "type": "Canvas", }, { - "selector": undefined, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", - "type": "Canvas", - }, - "type": "SpecificResource", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", + "type": "Canvas", }, ], "label": { "en": [ - "Tuesday", + "Ethiopic Ms 10", ], }, "metadata": [], @@ -9223,408 +9198,1484 @@ exports[`Cookbook > Testing normalize %p (%p) 0024-book-4-toc https://iiif.io/ap "rights": null, "seeAlso": [], "service": [], + "services": [], "start": null, + "structures": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r0", + "type": "Range", + }, + ], "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Range", + "type": "Manifest", "viewingDirection": "left-to-right", }, }, - "Selector": {}, - "Service": { - "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master": { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master": { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master", - "profile": "level1", - "type": "ImageService3", + "Range": { + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r1", + "type": "Canvas", + }, + ], + "items": [], + "label": null, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Canvas", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master": { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master", - "profile": "level1", - "type": "ImageService3", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r1", + "type": "Canvas", + }, + ], + "items": [], + "label": null, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Canvas", + "viewingDirection": "left-to-right", + }, + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/1", + "type": "Canvas", + }, + ], + "items": [], + "label": null, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Canvas", + "viewingDirection": "left-to-right", + }, + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/1", + "type": "Canvas", + }, + ], + "items": [], + "label": null, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Canvas", + "viewingDirection": "left-to-right", + }, + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/2", + "type": "Canvas", + }, + ], + "items": [], + "label": null, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Canvas", + "viewingDirection": "left-to-right", + }, + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/2", + "type": "Canvas", + }, + ], + "items": [], + "label": null, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Canvas", + "viewingDirection": "left-to-right", + }, + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r0": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r0", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r1", + "type": "Range", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2", + "type": "Range", + }, + ], + "label": { + "en": [ + "Table of Contents", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Range", + "viewingDirection": "left-to-right", + }, + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r1": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r0", + "type": "Range", + }, + ], + "items": [ + { + "selector": undefined, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + { + "selector": undefined, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + ], + "label": { + "gez": [ + "Tabiba Tabiban [ጠቢበ ጠቢባን]", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Range", + "viewingDirection": "left-to-right", + }, + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r0", + "type": "Range", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/1", + "type": "Range", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/2", + "type": "Range", + }, + ], + "label": { + "gez": [ + "Arede'et [አርድዕት]", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Range", + "viewingDirection": "left-to-right", + }, + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/1": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2", + "type": "Range", + }, + ], + "items": [ + { + "selector": undefined, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + { + "selector": undefined, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + ], + "label": { + "en": [ + "Monday", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Range", + "viewingDirection": "left-to-right", + }, + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/2": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/2", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/2", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2", + "type": "Range", + }, + ], + "items": [ + { + "selector": undefined, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + { + "selector": undefined, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + ], + "label": { + "en": [ + "Tuesday", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Range", + "viewingDirection": "left-to-right", + }, + }, + "Selector": {}, + "Service": { + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master", + "profile": "level1", + "type": "ImageService3", + }, + }, + }, + "mapping": { + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0002-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0003-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0004-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0005-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0006-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2": "Canvas", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3": "Canvas", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4": "Canvas", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5": "Canvas", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6": "Canvas", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p1/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p2/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p3/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p4/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p5/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p6/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r0": "Range", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r1": "Range", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2": "Range", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/1": "Range", + "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/2": "Range", + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master/full/max/0/default.jpg": "ContentResource", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json", + "type": "Manifest", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0024-book-4-toc-manifest https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json", + "items": [ + { + "height": 2504, + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p1/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 2504, + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 1768, + }, + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0001-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "f. 1r", + ], + }, + "type": "Canvas", + "width": 1768, + }, + { + "height": 2512, + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p2/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 2512, + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 1792, + }, + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0002-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "f. 1v", + ], + }, + "type": "Canvas", + "width": 1792, + }, + { + "height": 2456, + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p3/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 2456, + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 1792, + }, + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0003-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "f. 2r", + ], + }, + "type": "Canvas", + "width": 1792, + }, + { + "height": 2440, + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p4/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 2440, + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 1760, + }, + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0004-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "f. 2v", + ], + }, + "type": "Canvas", + "width": 1760, + }, + { + "height": 2416, + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p5/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 2416, + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 1776, + }, + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0005-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "f. 3r", + ], }, - "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master": { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master", - "profile": "level1", - "type": "ImageService3", + "type": "Canvas", + "width": 1776, + }, + { + "height": 2416, + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p6/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 2416, + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 1776, + }, + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0006-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "f. 3v", + ], }, - "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master": { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master", - "profile": "level1", - "type": "ImageService3", + "type": "Canvas", + "width": 1776, + }, + ], + "label": { + "en": [ + "Ethiopic Ms 10", + ], + }, + "structures": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r0", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", + "type": "Canvas", + }, + ], + "label": { + "gez": [ + "Tabiba Tabiban [ጠቢበ ጠቢባን]", + ], + }, + "type": "Range", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", + "type": "Canvas", + }, + ], + "label": { + "en": [ + "Monday", + ], + }, + "type": "Range", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/2", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", + "type": "Canvas", + }, + ], + "label": { + "en": [ + "Tuesday", + ], + }, + "type": "Range", + }, + ], + "label": { + "gez": [ + "Arede'et [አርድዕት]", + ], + }, + "type": "Range", + }, + ], + "label": { + "en": [ + "Table of Contents", + ], + }, + "type": "Range", + }, + ], + "type": "Manifest", +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0026-toc-opera-manifest https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1/annotation/1": { + "body": [ + { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low.mp4", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1/annotation/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1/annotation/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1/annotation/1", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 7278.422, + "height": 1080, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1", + "type": "AnnotationPage", + }, + ], + "label": null, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 1920, }, - "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master": { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master", - "profile": "level1", - "type": "ImageService3", + }, + "Collection": {}, + "ContentResource": { + "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low.mp4": { + "duration": 7278.422, + "format": "video/mp4", + "height": 1080, + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low.mp4", + "iiif-parser:hasPart": [ + { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low.mp4", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1/annotation/1", + "type": "Video", + }, + ], + "type": "Video", + "width": 1920, }, }, - }, - "mapping": { - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0001-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0002-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0003-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0004-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0005-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0006-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2": "Canvas", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3": "Canvas", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4": "Canvas", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5": "Canvas", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6": "Canvas", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p1/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p2/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p3/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p4/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p5/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p6/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r0": "Range", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r1": "Range", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2": "Range", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/1": "Range", - "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/2": "Range", - "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master/full/max/0/default.jpg": "ContentResource", - }, - "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json", - "type": "Manifest", - }, -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0024-book-4-toc https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json 2`] = ` -{ - "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json", - "items": [ - { - "height": 2504, - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p1/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 2504, - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 1768, - }, - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0001-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", - "type": "Annotation", - }, + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json", + "type": "Manifest", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1", + "type": "Canvas", + }, + ], + "label": { + "en": [ + "The Elixir of Love", + ], + "it": [ + "L'Elisir D'Amore", ], - "type": "AnnotationPage", }, - ], - "label": { - "en": [ - "f. 1r", + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "services": [], + "start": null, + "structures": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/1", + "type": "Range", + }, + ], + "summary": null, + "thumbnail": [], + "type": "Manifest", + "viewingDirection": "left-to-right", + }, + }, + "Range": { + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=0,302.05": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=0,302.05", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=0,302.05", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/3", + "type": "Canvas", + }, + ], + "items": [], + "label": null, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Canvas", + "viewingDirection": "left-to-right", + }, + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=302.05,3971.24": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=302.05,3971.24", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=302.05,3971.24", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/4", + "type": "Canvas", + }, + ], + "items": [], + "label": null, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Canvas", + "viewingDirection": "left-to-right", + }, + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=3971.24": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=3971.24", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=3971.24", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/5", + "type": "Canvas", + }, + ], + "items": [], + "label": null, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Canvas", + "viewingDirection": "left-to-right", + }, + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/1": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/2", + "type": "Range", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/5", + "type": "Range", + }, ], - }, - "type": "Canvas", - "width": 1768, - }, - { - "height": 2512, - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p2/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 2512, - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 1792, - }, - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0002-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", - "type": "Annotation", - }, + "label": { + "it": [ + "Gaetano Donizetti, L'Elisir D'Amore", ], - "type": "AnnotationPage", }, - ], - "label": { - "en": [ - "f. 1v", - ], + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Range", + "viewingDirection": "left-to-right", }, - "type": "Canvas", - "width": 1792, - }, - { - "height": 2456, - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p3/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 2456, - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 1792, - }, - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0003-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", - "type": "Annotation", - }, + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/2": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/2", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/2", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/1", + "type": "Range", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/3", + "type": "Range", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/4", + "type": "Range", + }, + ], + "label": { + "it": [ + "Atto Primo", ], - "type": "AnnotationPage", }, - ], - "label": { - "en": [ - "f. 2r", - ], + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Range", + "viewingDirection": "left-to-right", }, - "type": "Canvas", - "width": 1792, - }, - { - "height": 2440, - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p4/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 2440, - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 1760, - }, - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0004-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", - "type": "Annotation", + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/3": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/3", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/3", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/2", + "type": "Range", + }, + ], + "items": [ + { + "selector": { + "type": "FragmentSelector", + "value": "t=0,302.05", + }, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1", + "type": "Canvas", }, + "type": "SpecificResource", + }, + ], + "label": { + "it": [ + "Preludio e Coro d'introduzione – Bel conforto al mietitore", ], - "type": "AnnotationPage", }, - ], - "label": { - "en": [ - "f. 2v", - ], - }, - "type": "Canvas", - "width": 1760, - }, - { - "height": 2416, - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p5/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 2416, - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 1776, - }, - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0005-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", - "type": "Annotation", + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Range", + "viewingDirection": "left-to-right", + }, + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/4": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/4", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/4", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/2", + "type": "Range", + }, + ], + "items": [ + { + "selector": { + "type": "FragmentSelector", + "value": "t=302.05,3971.24", + }, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1", + "type": "Canvas", }, + "type": "SpecificResource", + }, + ], + "label": { + "en": [ + "Remainder of Atto Primo", ], - "type": "AnnotationPage", }, - ], - "label": { - "en": [ - "f. 3r", + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Range", + "viewingDirection": "left-to-right", + }, + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/5": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/5", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/5", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/1", + "type": "Range", + }, ], + "items": [ + { + "selector": { + "type": "FragmentSelector", + "value": "t=3971.24", + }, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + ], + "label": { + "it": [ + "Atto Secondo", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Range", + "viewingDirection": "left-to-right", }, - "type": "Canvas", - "width": 1776, }, + "Selector": {}, + "Service": {}, + }, + "mapping": { + "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low.mp4": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=0,302.05": "Canvas", + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=302.05,3971.24": "Canvas", + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=3971.24": "Canvas", + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1/annotation/1": "Annotation", + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/1": "Range", + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/2": "Range", + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/3": "Range", + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/4": "Range", + "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/5": "Range", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json", + "type": "Manifest", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0026-toc-opera-manifest https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json", + "items": [ { - "height": 2416, - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", + "duration": 7278.422, + "height": 1080, + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p6/1", + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1", "items": [ { "body": { - "format": "image/jpeg", - "height": 2416, - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 1776, + "duration": 7278.422, + "format": "video/mp4", + "height": 1080, + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low.mp4", + "type": "Video", + "width": 1920, }, - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0006-image", + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1/annotation/1", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", + "target": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1", "type": "Annotation", }, ], "type": "AnnotationPage", }, ], - "label": { - "en": [ - "f. 3v", - ], - }, "type": "Canvas", - "width": 1776, + "width": 1920, }, ], "label": { "en": [ - "Ethiopic Ms 10", + "The Elixir of Love", + ], + "it": [ + "L'Elisir D'Amore", ], }, "structures": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r0", + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", - "type": "Canvas", - }, - ], - "label": { - "gez": [ - "Tabiba Tabiban [ጠቢበ ጠቢባን]", - ], - }, - "type": "Range", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2", + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/2", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/1", + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/3", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=0,302.05", "type": "Canvas", }, ], "label": { - "en": [ - "Monday", + "it": [ + "Preludio e Coro d'introduzione – Bel conforto al mietitore", ], }, "type": "Range", }, { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/2", + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/4", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=302.05,3971.24", "type": "Canvas", }, ], "label": { "en": [ - "Tuesday", + "Remainder of Atto Primo", ], }, "type": "Range", }, ], "label": { - "gez": [ - "Arede'et [አርድዕት]", + "it": [ + "Atto Primo", + ], + }, + "type": "Range", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/5", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=3971.24", + "type": "Canvas", + }, + ], + "label": { + "it": [ + "Atto Secondo", ], }, "type": "Range", }, ], "label": { - "en": [ - "Table of Contents", + "it": [ + "Gaetano Donizetti, L'Elisir D'Amore", ], }, "type": "Range", @@ -9634,23 +10685,50 @@ exports[`Cookbook > Testing normalize %p (%p) 0024-book-4-toc https://iiif.io/ap } `; -exports[`Cookbook > Testing normalize %p (%p) 0026-toc-opera https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0029-metadata-anywhere-manifest https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1/annotation/1": { + "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0001-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0001-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p1/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0002-image": { "body": [ { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low.mp4", + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1/annotation/1", + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0002-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1/annotation/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1", + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0002-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p2/1", "type": "Annotation", }, ], @@ -9659,7 +10737,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0026-toc-opera https://iiif.io/api ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1", + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p2", "type": "Canvas", }, "type": "SpecificResource", @@ -9669,20 +10747,49 @@ exports[`Cookbook > Testing normalize %p (%p) 0026-toc-opera https://iiif.io/api }, "AnnotationCollection": {}, "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1": { + "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p1/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1", + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p1/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1", + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p1", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1/annotation/1", + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0001-image", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p2/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p2/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p2/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p2", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0002-image", "type": "Annotation", }, ], @@ -9700,22 +10807,39 @@ exports[`Cookbook > Testing normalize %p (%p) 0026-toc-opera https://iiif.io/api }, }, "Canvas": { - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1": { + "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p1": { "accompanyingCanvas": null, "annotations": [], "behavior": [], - "duration": 7278.422, - "height": 1080, + "duration": 0, + "height": 1271, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1", + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1", + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p1/1", "type": "AnnotationPage", }, ], - "label": null, - "metadata": [], + "label": { + "en": [ + "Painting under natural light", + ], + }, + "metadata": [ + { + "label": { + "en": [ + "Description", + ], + }, + "value": { + "en": [ + "The scene is the house at Mortlake of Dr John Dee (1527-1608). At the court of Queen Elizabeth I, Dee was revered for the range of his scientific knowledge, which embraced the fields of mathematics, navigation, geography, alchemy/chemistry, medicine and optics. In the painting he is showing the effect of combining two elements, either to cause combustion or to extinguish it. Behind him is his assistant Edward Kelly, wearing a long skullcap to conceal the fact that his ears had been cropped as a punishment for forgery.", + ], + }, + }, + ], "navDate": null, "partOf": [], "placeholderCanvas": null, @@ -9728,289 +10852,476 @@ exports[`Cookbook > Testing normalize %p (%p) 0026-toc-opera https://iiif.io/api "summary": null, "thumbnail": [], "type": "Canvas", - "width": 1920, + "width": 2000, + }, + "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p2": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 1271, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p2", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p2/1", + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "X-ray view of painting", + ], + }, + "metadata": [ + { + "label": { + "en": [ + "Description", + ], + }, + "value": { + "en": [ + "The painting originally showed Dee standing in a circle of skulls on the floor, stretching from the floor area in front of the Queen (on the left) to the floor near Edward Kelly (on the right). The skulls were at an early stage painted over, but have since become visible. Another pentimento is visible in the tapestry on the right: shelves containing monstrous animals are visible behind it. The pentimenti were clarified when the painting was X-rayed in 2015.", + ], + }, + }, + ], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 2000, }, }, "Collection": {}, "ContentResource": { - "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low.mp4": { - "duration": 7278.422, - "format": "video/mp4", - "height": 1080, - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low.mp4", + "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 1271, + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low.mp4", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1/annotation/1", - "type": "Video", + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0001-image", + "type": "Image", }, ], - "type": "Video", - "width": 1920, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2000, + }, + "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 1271, + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0002-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2000, }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json": { + "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json": { "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1", + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p1", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p2", "type": "Canvas", }, ], "label": { "en": [ - "The Elixir of Love", - ], - "it": [ - "L'Elisir D'Amore", + "John Dee performing an experiment before Queen Elizabeth I.", ], }, - "metadata": [], + "metadata": [ + { + "label": { + "en": [ + "Creator", + ], + }, + "value": { + "en": [ + "Glindoni, Henry Gillard, 1852-1913", + ], + }, + }, + { + "label": { + "en": [ + "Date", + ], + }, + "value": { + "en": [ + "1800-1899", + ], + }, + }, + { + "label": { + "en": [ + "Physical Description", + ], + }, + "value": { + "en": [ + "1 painting : oil on canvas ; canvas 152 x 244.4 cm", + ], + }, + }, + { + "label": { + "en": [ + "Reference", + ], + }, + "value": { + "en": [ + "Wellcome Library no. 47369i", + ], + }, + }, + ], "navDate": null, "partOf": [], "placeholderCanvas": null, "provider": [], "rendering": [], - "requiredStatement": null, + "requiredStatement": { + "label": { + "en": [ + "Attribution", + ], + }, + "value": { + "en": [ + "Wellcome Collection. Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)", + ], + }, + }, "rights": null, "seeAlso": [], "service": [], "services": [], "start": null, - "structures": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/1", - "type": "Range", - }, - ], + "structures": [], "summary": null, "thumbnail": [], "type": "Manifest", "viewingDirection": "left-to-right", }, }, - "Range": { - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=0,302.05": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=0,302.05", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=0,302.05", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/3", - "type": "Canvas", - }, + "Range": {}, + "Selector": {}, + "Service": { + "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural": { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray": { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", + "profile": "level1", + "type": "ImageService3", + }, + }, + }, + "mapping": { + "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0002-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p2": "Canvas", + "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p1/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p2/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg": "ContentResource", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json", + "type": "Manifest", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0029-metadata-anywhere-manifest https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json", + "items": [ + { + "height": 1271, + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p1/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 1271, + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2000, + }, + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0001-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p1", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "Painting under natural light", ], - "items": [], - "label": null, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "start": null, - "summary": null, - "supplementary": null, - "thumbnail": [], - "type": "Canvas", - "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=302.05,3971.24": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=302.05,3971.24", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=302.05,3971.24", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/4", - "type": "Canvas", + "metadata": [ + { + "label": { + "en": [ + "Description", + ], + }, + "value": { + "en": [ + "The scene is the house at Mortlake of Dr John Dee (1527-1608). At the court of Queen Elizabeth I, Dee was revered for the range of his scientific knowledge, which embraced the fields of mathematics, navigation, geography, alchemy/chemistry, medicine and optics. In the painting he is showing the effect of combining two elements, either to cause combustion or to extinguish it. Behind him is his assistant Edward Kelly, wearing a long skullcap to conceal the fact that his ears had been cropped as a punishment for forgery.", + ], }, + }, + ], + "type": "Canvas", + "width": 2000, + }, + { + "height": 1271, + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p2", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p2/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 1271, + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2000, + }, + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0002-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p2", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "X-ray view of painting", ], - "items": [], - "label": null, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "start": null, - "summary": null, - "supplementary": null, - "thumbnail": [], - "type": "Canvas", - "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=3971.24": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=3971.24", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=3971.24", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/5", - "type": "Canvas", + "metadata": [ + { + "label": { + "en": [ + "Description", + ], + }, + "value": { + "en": [ + "The painting originally showed Dee standing in a circle of skulls on the floor, stretching from the floor area in front of the Queen (on the left) to the floor near Edward Kelly (on the right). The skulls were at an early stage painted over, but have since become visible. Another pentimento is visible in the tapestry on the right: shelves containing monstrous animals are visible behind it. The pentimenti were clarified when the painting was X-rayed in 2015.", + ], }, + }, + ], + "type": "Canvas", + "width": 2000, + }, + ], + "label": { + "en": [ + "John Dee performing an experiment before Queen Elizabeth I.", + ], + }, + "metadata": [ + { + "label": { + "en": [ + "Creator", + ], + }, + "value": { + "en": [ + "Glindoni, Henry Gillard, 1852-1913", + ], + }, + }, + { + "label": { + "en": [ + "Date", + ], + }, + "value": { + "en": [ + "1800-1899", ], - "items": [], - "label": null, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "start": null, - "summary": null, - "supplementary": null, - "thumbnail": [], - "type": "Canvas", - "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/1": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/2", - "type": "Range", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/5", - "type": "Range", - }, + }, + { + "label": { + "en": [ + "Physical Description", ], - "label": { - "it": [ - "Gaetano Donizetti, L'Elisir D'Amore", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "start": null, - "summary": null, - "supplementary": null, - "thumbnail": [], - "type": "Range", - "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/2": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/2", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/2", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/1", - "type": "Range", - }, + "value": { + "en": [ + "1 painting : oil on canvas ; canvas 152 x 244.4 cm", ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/3", - "type": "Range", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/4", - "type": "Range", - }, + }, + }, + { + "label": { + "en": [ + "Reference", ], - "label": { - "it": [ - "Atto Primo", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "start": null, - "summary": null, - "supplementary": null, - "thumbnail": [], - "type": "Range", - "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/3": { + "value": { + "en": [ + "Wellcome Library no. 47369i", + ], + }, + }, + ], + "requiredStatement": { + "label": { + "en": [ + "Attribution", + ], + }, + "value": { + "en": [ + "Wellcome Collection. Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)", + ], + }, + }, + "type": "Manifest", +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-collection https://iiif.io/api/cookbook/recipe/0030-multi-volume/collection.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": {}, + "AnnotationCollection": {}, + "AnnotationPage": {}, + "Canvas": {}, + "Collection": { + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/collection.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], - "behavior": [], + "behavior": [ + "multi-part", + ], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/3", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/collection.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/3", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/2", - "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/collection.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/collection.json", + "type": "Collection", }, ], "items": [ { - "selector": { - "type": "FragmentSelector", - "value": "t=0,302.05", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json", + "iiif-parser:isExternal": true, + "label": { + "jp": [ + "巻 1 [Vol. 1]", + ], }, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1", - "type": "Canvas", + "type": "Manifest", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json", + "iiif-parser:isExternal": true, + "label": { + "jp": [ + "巻 2 [Vol. 2]", + ], }, - "type": "SpecificResource", + "type": "Manifest", }, ], "label": { - "it": [ - "Preludio e Coro d'introduzione – Bel conforto al mietitore", + "jp": [ + "青楼絵本年中行事 [Seirō ehon nenjū gyōji]", ], }, "metadata": [], @@ -10023,42 +11334,26 @@ exports[`Cookbook > Testing normalize %p (%p) 0026-toc-opera https://iiif.io/api "rights": null, "seeAlso": [], "service": [], - "start": null, + "services": [], "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Range", + "type": "Collection", "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/4": { + }, + "ContentResource": {}, + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json": { "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/4", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/4", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/2", - "type": "Range", - }, - ], - "items": [ - { - "selector": { - "type": "FragmentSelector", - "value": "t=302.05,3971.24", - }, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json", + "iiif-parser:isExternal": true, + "items": [], "label": { - "en": [ - "Remainder of Atto Primo", + "jp": [ + "巻 1 [Vol. 1]", ], }, "metadata": [], @@ -10071,42 +11366,25 @@ exports[`Cookbook > Testing normalize %p (%p) 0026-toc-opera https://iiif.io/api "rights": null, "seeAlso": [], "service": [], - "start": null, - "summary": null, - "supplementary": null, - "thumbnail": [], - "type": "Range", - "viewingDirection": "left-to-right", - }, - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/5": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/5", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/5", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/1", - "type": "Range", - }, - ], - "items": [ - { - "selector": { - "type": "FragmentSelector", - "value": "t=3971.24", - }, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - ], + "services": [], + "start": null, + "structures": [], + "summary": null, + "thumbnail": [], + "type": "Manifest", + "viewingDirection": "left-to-right", + }, + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json", + "iiif-parser:isExternal": true, + "items": [], "label": { - "it": [ - "Atto Secondo", + "jp": [ + "巻 2 [Vol. 2]", ], }, "metadata": [], @@ -10119,172 +11397,165 @@ exports[`Cookbook > Testing normalize %p (%p) 0026-toc-opera https://iiif.io/api "rights": null, "seeAlso": [], "service": [], + "services": [], "start": null, + "structures": [], "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Range", + "type": "Manifest", "viewingDirection": "left-to-right", }, }, + "Range": {}, "Selector": {}, "Service": {}, }, "mapping": { - "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low.mp4": "ContentResource", - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=0,302.05": "Canvas", - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=302.05,3971.24": "Canvas", - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=3971.24": "Canvas", - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1/annotation/1": "Annotation", - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/1": "Range", - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/2": "Range", - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/3": "Range", - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/4": "Range", - "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/5": "Range", + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/collection.json": "Collection", + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json": "Manifest", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json", - "type": "Manifest", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/collection.json", + "type": "Collection", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0026-toc-opera https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-collection https://iiif.io/api/cookbook/recipe/0030-multi-volume/collection.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json", + "behavior": [ + "multi-part", + ], + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/collection.json", "items": [ { - "duration": 7278.422, - "height": 1080, - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1", - "items": [ - { - "body": { - "duration": 7278.422, - "format": "video/mp4", - "height": 1080, - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low.mp4", - "type": "Video", - "width": 1920, - }, - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1/annotation/1", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], - "type": "Canvas", - "width": 1920, + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json", + "label": { + "jp": [ + "巻 1 [Vol. 1]", + ], + }, + "type": "Manifest", }, - ], - "label": { - "en": [ - "The Elixir of Love", - ], - "it": [ - "L'Elisir D'Amore", - ], - }, - "structures": [ { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/2", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/3", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=0,302.05", - "type": "Canvas", - }, - ], - "label": { - "it": [ - "Preludio e Coro d'introduzione – Bel conforto al mietitore", - ], - }, - "type": "Range", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/4", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=302.05,3971.24", - "type": "Canvas", - }, - ], - "label": { - "en": [ - "Remainder of Atto Primo", - ], - }, - "type": "Range", - }, - ], - "label": { - "it": [ - "Atto Primo", - ], - }, - "type": "Range", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/5", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=3971.24", - "type": "Canvas", - }, - ], - "label": { - "it": [ - "Atto Secondo", - ], - }, - "type": "Range", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json", "label": { - "it": [ - "Gaetano Donizetti, L'Elisir D'Amore", + "jp": [ + "巻 2 [Vol. 2]", ], }, - "type": "Range", + "type": "Manifest", }, ], - "type": "Manifest", + "label": { + "jp": [ + "青楼絵本年中行事 [Seirō ehon nenjū gyōji]", + ], + }, + "type": "Collection", } `; -exports[`Cookbook > Testing normalize %p (%p) 0029-metadata-anywhere https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0001-image": { + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0001-image": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0001-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p1/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0002-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0002-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0002-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p2/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0003-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0003-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0003-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p3/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0004-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0004-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0001-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0004-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p4/1", "type": "Annotation", }, ], @@ -10293,25 +11564,25 @@ exports[`Cookbook > Testing normalize %p (%p) 0029-metadata-anywhere https://iii ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4", "type": "Canvas", }, "type": "SpecificResource", }, "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0002-image": { + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0005-image": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0002-image", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0005-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0002-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p2/1", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0005-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p5/1", "type": "Annotation", }, ], @@ -10320,7 +11591,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0029-metadata-anywhere https://iii ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p2", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5", "type": "Canvas", }, "type": "SpecificResource", @@ -10330,20 +11601,20 @@ exports[`Cookbook > Testing normalize %p (%p) 0029-metadata-anywhere https://iii }, "AnnotationCollection": {}, "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p1/1": { + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p1/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p1/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p1/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0001-image", "type": "Annotation", }, ], @@ -10359,20 +11630,107 @@ exports[`Cookbook > Testing normalize %p (%p) 0029-metadata-anywhere https://iii "thumbnail": [], "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p2/1": { + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p2/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p2/1", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p2/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p2/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p2", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p2/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0002-image", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0002-image", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p3/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p3/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p3/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0003-image", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p4/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p4/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p4/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0004-image", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p5/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p5/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p5/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0005-image", "type": "Annotation", }, ], @@ -10390,39 +11748,60 @@ exports[`Cookbook > Testing normalize %p (%p) 0029-metadata-anywhere https://iii }, }, "Canvas": { - "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p1": { + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1": { "accompanyingCanvas": null, "annotations": [], "behavior": [], "duration": 0, - "height": 1271, + "height": 5730, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p1/1", "type": "AnnotationPage", }, ], "label": { "en": [ - "Painting under natural light", + "Front cover", ], }, - "metadata": [ + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 4301, + }, + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 5702, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2", + "items": [ { - "label": { - "en": [ - "Description", - ], - }, - "value": { - "en": [ - "The scene is the house at Mortlake of Dr John Dee (1527-1608). At the court of Queen Elizabeth I, Dee was revered for the range of his scientific knowledge, which embraced the fields of mathematics, navigation, geography, alchemy/chemistry, medicine and optics. In the painting he is showing the effect of combining two elements, either to cause combustion or to extinguish it. Behind him is his assistant Edward Kelly, wearing a long skullcap to conceal the fact that his ears had been cropped as a punishment for forgery.", - ], - }, + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p2/1", + "type": "AnnotationPage", }, ], + "label": { + "en": [ + "Page spread 1", + ], + }, + "metadata": [], "navDate": null, "partOf": [], "placeholderCanvas": null, @@ -10435,41 +11814,96 @@ exports[`Cookbook > Testing normalize %p (%p) 0029-metadata-anywhere https://iii "summary": null, "thumbnail": [], "type": "Canvas", - "width": 2000, + "width": 7451, }, - "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p2": { + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3": { "accompanyingCanvas": null, "annotations": [], "behavior": [], "duration": 0, - "height": 1271, + "height": 5702, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p2", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p2/1", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p3/1", + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "Page spread 2", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 7451, + }, + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 5702, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p4/1", + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "Page spread 3", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 7451, + }, + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 5702, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p5/1", "type": "AnnotationPage", }, ], "label": { "en": [ - "X-ray view of painting", + "Page spread 4", ], }, - "metadata": [ - { - "label": { - "en": [ - "Description", - ], - }, - "value": { - "en": [ - "The painting originally showed Dee standing in a circle of skulls on the floor, stretching from the floor area in front of the Queen (on the left) to the floor near Edward Kelly (on the right). The skulls were at an early stage painted over, but have since become visible. Another pentimento is visible in the tapestry on the right: shelves containing monstrous animals are visible behind it. The pentimenti were clarified when the painting was X-rayed in 2015.", - ], - }, - }, - ], + "metadata": [], "navDate": null, "partOf": [], "placeholderCanvas": null, @@ -10482,151 +11916,168 @@ exports[`Cookbook > Testing normalize %p (%p) 0029-metadata-anywhere https://iii "summary": null, "thumbnail": [], "type": "Canvas", - "width": 2000, + "width": 7451, }, }, "Collection": {}, "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg": { + "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001/full/max/0/default.jpg": { "format": "image/jpeg", - "height": 1271, - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", + "height": 5730, + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0001-image", + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0001-image", "type": "Image", }, ], "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 2000, + "width": 4301, }, - "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg": { + "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002/full/max/0/default.jpg": { "format": "image/jpeg", - "height": 1271, - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg", + "height": 5702, + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0002-image", + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0002-image", "type": "Image", }, ], "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 2000, + "width": 7451, + }, + "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 5702, + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0003-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 7451, + }, + "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 5702, + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0004-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 7451, + }, + "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 5702, + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0005-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 7451, }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json": { + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json": { "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], - "behavior": [], + "behavior": [ + "individuals", + ], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1", "type": "Canvas", }, { - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p2", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2", "type": "Canvas", }, - ], - "label": { - "en": [ - "John Dee performing an experiment before Queen Elizabeth I.", - ], - }, - "metadata": [ - { - "label": { - "en": [ - "Creator", - ], - }, - "value": { - "en": [ - "Glindoni, Henry Gillard, 1852-1913", - ], - }, - }, { - "label": { - "en": [ - "Date", - ], - }, - "value": { - "en": [ - "1800-1899", - ], - }, + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3", + "type": "Canvas", }, { - "label": { - "en": [ - "Physical Description", - ], - }, - "value": { - "en": [ - "1 painting : oil on canvas ; canvas 152 x 244.4 cm", - ], - }, + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4", + "type": "Canvas", }, { - "label": { - "en": [ - "Reference", - ], - }, - "value": { - "en": [ - "Wellcome Library no. 47369i", - ], - }, + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5", + "type": "Canvas", }, ], + "label": { + "en": [ + "Seirō ehon nenjū gyōji : kan 1 | 青楼絵本年中行事 : 巻 1", + ], + }, + "metadata": [], "navDate": null, "partOf": [], "placeholderCanvas": null, "provider": [], "rendering": [], - "requiredStatement": { - "label": { - "en": [ - "Attribution", - ], - }, - "value": { - "en": [ - "Wellcome Collection. Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)", - ], - }, - }, + "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], @@ -10636,72 +12087,102 @@ exports[`Cookbook > Testing normalize %p (%p) 0029-metadata-anywhere https://iii "summary": null, "thumbnail": [], "type": "Manifest", - "viewingDirection": "left-to-right", + "viewingDirection": "right-to-left", }, }, "Range": {}, "Selector": {}, "Service": { - "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural": { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", + "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001": { + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001", "profile": "level1", "type": "ImageService3", }, - "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray": { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", + "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002": { + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003": { + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007": { + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008": { + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008", "profile": "level1", "type": "ImageService3", }, }, }, "mapping": { - "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0001-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0002-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p2": "Canvas", - "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p1/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p2/1": "AnnotationPage", - "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0002-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0003-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0004-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0005-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2": "Canvas", + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3": "Canvas", + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4": "Canvas", + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5": "Canvas", + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p1/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p2/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p3/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p4/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p5/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008/full/max/0/default.jpg": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json", "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0029-metadata-anywhere https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json", + "behavior": [ + "individuals", + ], + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json", "items": [ { - "height": 1271, - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p1", + "height": 5730, + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p1/1", "items": [ { "body": { "format": "image/jpeg", - "height": 1271, - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", + "height": 5730, + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001/full/max/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 2000, + "width": 4301, }, - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0001-image", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p1", + "target": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1", "type": "Annotation", }, ], @@ -10710,51 +12191,37 @@ exports[`Cookbook > Testing normalize %p (%p) 0029-metadata-anywhere https://iii ], "label": { "en": [ - "Painting under natural light", + "Front cover", ], }, - "metadata": [ - { - "label": { - "en": [ - "Description", - ], - }, - "value": { - "en": [ - "The scene is the house at Mortlake of Dr John Dee (1527-1608). At the court of Queen Elizabeth I, Dee was revered for the range of his scientific knowledge, which embraced the fields of mathematics, navigation, geography, alchemy/chemistry, medicine and optics. In the painting he is showing the effect of combining two elements, either to cause combustion or to extinguish it. Behind him is his assistant Edward Kelly, wearing a long skullcap to conceal the fact that his ears had been cropped as a punishment for forgery.", - ], - }, - }, - ], "type": "Canvas", - "width": 2000, + "width": 4301, }, { - "height": 1271, - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p2", + "height": 5702, + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p2/1", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p2/1", "items": [ { "body": { "format": "image/jpeg", - "height": 1271, - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg", + "height": 5702, + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002/full/max/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 2000, + "width": 7451, }, - "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0002-image", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0002-image", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p2", + "target": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2", "type": "Annotation", }, ], @@ -10762,286 +12229,142 @@ exports[`Cookbook > Testing normalize %p (%p) 0029-metadata-anywhere https://iii }, ], "label": { - "en": [ - "X-ray view of painting", - ], - }, - "metadata": [ - { - "label": { - "en": [ - "Description", - ], - }, - "value": { - "en": [ - "The painting originally showed Dee standing in a circle of skulls on the floor, stretching from the floor area in front of the Queen (on the left) to the floor near Edward Kelly (on the right). The skulls were at an early stage painted over, but have since become visible. Another pentimento is visible in the tapestry on the right: shelves containing monstrous animals are visible behind it. The pentimenti were clarified when the painting was X-rayed in 2015.", - ], - }, - }, - ], - "type": "Canvas", - "width": 2000, - }, - ], - "label": { - "en": [ - "John Dee performing an experiment before Queen Elizabeth I.", - ], - }, - "metadata": [ - { - "label": { - "en": [ - "Creator", - ], - }, - "value": { - "en": [ - "Glindoni, Henry Gillard, 1852-1913", - ], - }, - }, - { - "label": { - "en": [ - "Date", - ], - }, - "value": { - "en": [ - "1800-1899", - ], - }, - }, - { - "label": { - "en": [ - "Physical Description", - ], - }, - "value": { - "en": [ - "1 painting : oil on canvas ; canvas 152 x 244.4 cm", - ], - }, - }, - { - "label": { - "en": [ - "Reference", - ], - }, - "value": { - "en": [ - "Wellcome Library no. 47369i", - ], - }, - }, - ], - "requiredStatement": { - "label": { - "en": [ - "Attribution", - ], - }, - "value": { - "en": [ - "Wellcome Collection. Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)", - ], - }, - }, - "type": "Manifest", -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-collection https://iiif.io/api/cookbook/recipe/0030-multi-volume/collection.json 1`] = ` -{ - "entities": { - "Agent": {}, - "Annotation": {}, - "AnnotationCollection": {}, - "AnnotationPage": {}, - "Canvas": {}, - "Collection": { - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/collection.json": { - "@context": "http://iiif.io/api/presentation/3/context.json", - "accompanyingCanvas": null, - "annotations": [], - "behavior": [ - "multi-part", - ], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/collection.json", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/collection.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/collection.json", - "type": "Collection", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json", - "iiif-parser:isExternal": true, - "label": { - "jp": [ - "巻 1 [Vol. 1]", - ], - }, - "type": "Manifest", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json", - "iiif-parser:isExternal": true, - "label": { - "jp": [ - "巻 2 [Vol. 2]", - ], - }, - "type": "Manifest", - }, - ], - "label": { - "jp": [ - "青楼絵本年中行事 [Seirō ehon nenjū gyōji]", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "services": [], - "summary": null, - "thumbnail": [], - "type": "Collection", - "viewingDirection": "left-to-right", - }, - }, - "ContentResource": {}, - "Manifest": { - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json", - "iiif-parser:isExternal": true, - "items": [], - "label": { - "jp": [ - "巻 1 [Vol. 1]", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "services": [], - "start": null, - "structures": [], - "summary": null, - "thumbnail": [], - "type": "Manifest", - "viewingDirection": "left-to-right", + "en": [ + "Page spread 1", + ], }, - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json", - "iiif-parser:isExternal": true, - "items": [], - "label": { - "jp": [ - "巻 2 [Vol. 2]", + "type": "Canvas", + "width": 7451, + }, + { + "height": 5702, + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p3/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 5702, + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 7451, + }, + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0003-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3", + "type": "Annotation", + }, ], + "type": "AnnotationPage", }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "services": [], - "start": null, - "structures": [], - "summary": null, - "thumbnail": [], - "type": "Manifest", - "viewingDirection": "left-to-right", + ], + "label": { + "en": [ + "Page spread 2", + ], }, + "type": "Canvas", + "width": 7451, }, - "Range": {}, - "Selector": {}, - "Service": {}, - }, - "mapping": { - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/collection.json": "Collection", - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json": "Manifest", - }, - "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/collection.json", - "type": "Collection", - }, -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-collection https://iiif.io/api/cookbook/recipe/0030-multi-volume/collection.json 2`] = ` -{ - "@context": "http://iiif.io/api/presentation/3/context.json", - "behavior": [ - "multi-part", - ], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/collection.json", - "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json", + "height": 5702, + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p4/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 5702, + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 7451, + }, + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0004-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], "label": { - "jp": [ - "巻 1 [Vol. 1]", + "en": [ + "Page spread 3", ], }, - "type": "Manifest", + "type": "Canvas", + "width": 7451, }, { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json", + "height": 5702, + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p5/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 5702, + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 7451, + }, + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0005-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], "label": { - "jp": [ - "巻 2 [Vol. 2]", + "en": [ + "Page spread 4", ], }, - "type": "Manifest", + "type": "Canvas", + "width": 7451, }, ], "label": { - "jp": [ - "青楼絵本年中行事 [Seirō ehon nenjū gyōji]", + "en": [ + "Seirō ehon nenjū gyōji : kan 1 | 青楼絵本年中行事 : 巻 1", ], }, - "type": "Collection", + "type": "Manifest", + "viewingDirection": "right-to-left", } `; -exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v2 https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json 1`] = ` { "entities": { "Agent": {}, @@ -11049,7 +12372,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0001-image": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001/full/max/0/default.jpg", "type": "ContentResource", }, ], @@ -11076,7 +12399,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0002-image": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002/full/max/0/default.jpg", "type": "ContentResource", }, ], @@ -11103,7 +12426,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0003-image": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003/full/max/0/default.jpg", "type": "ContentResource", }, ], @@ -11130,7 +12453,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0004-image": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004/full/max/0/default.jpg", "type": "ContentResource", }, ], @@ -11157,7 +12480,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0005-image": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005/full/max/0/default.jpg", "type": "ContentResource", }, ], @@ -11336,7 +12659,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http "annotations": [], "behavior": [], "duration": 0, - "height": 5730, + "height": 5745, "homepage": [], "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1", "items": [ @@ -11363,14 +12686,14 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http "summary": null, "thumbnail": [], "type": "Canvas", - "width": 4301, + "width": 4114, }, "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2": { "accompanyingCanvas": null, "annotations": [], "behavior": [], "duration": 0, - "height": 5702, + "height": 5745, "homepage": [], "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2", "items": [ @@ -11397,14 +12720,14 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http "summary": null, "thumbnail": [], "type": "Canvas", - "width": 7451, + "width": 7253, }, "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3": { "accompanyingCanvas": null, "annotations": [], "behavior": [], "duration": 0, - "height": 5702, + "height": 5745, "homepage": [], "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3", "items": [ @@ -11431,14 +12754,14 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http "summary": null, "thumbnail": [], "type": "Canvas", - "width": 7451, + "width": 7253, }, "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4": { "accompanyingCanvas": null, "annotations": [], "behavior": [], "duration": 0, - "height": 5702, + "height": 5745, "homepage": [], "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4", "items": [ @@ -11465,14 +12788,14 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http "summary": null, "thumbnail": [], "type": "Canvas", - "width": 7451, + "width": 7253, }, "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5": { "accompanyingCanvas": null, "annotations": [], "behavior": [], "duration": 0, - "height": 5702, + "height": 5745, "homepage": [], "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5", "items": [ @@ -11499,119 +12822,119 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http "summary": null, "thumbnail": [], "type": "Canvas", - "width": 7451, + "width": 7253, }, }, "Collection": {}, "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001/full/max/0/default.jpg": { + "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001/full/max/0/default.jpg": { "format": "image/jpeg", - "height": 5730, - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001/full/max/0/default.jpg", + "height": 5745, + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001/full/max/0/default.jpg", "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0001-image", "type": "Image", }, ], "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001", + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 4301, + "width": 4114, }, - "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002/full/max/0/default.jpg": { + "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002/full/max/0/default.jpg": { "format": "image/jpeg", - "height": 5702, - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002/full/max/0/default.jpg", + "height": 5745, + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002/full/max/0/default.jpg", "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0002-image", "type": "Image", }, ], "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002", + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 7451, + "width": 7253, }, - "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003/full/max/0/default.jpg": { + "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003/full/max/0/default.jpg": { "format": "image/jpeg", - "height": 5702, - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003/full/max/0/default.jpg", + "height": 5745, + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003/full/max/0/default.jpg", "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0003-image", "type": "Image", }, ], "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003", + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 7451, + "width": 7253, }, - "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007/full/max/0/default.jpg": { + "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004/full/max/0/default.jpg": { "format": "image/jpeg", - "height": 5702, - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007/full/max/0/default.jpg", + "height": 5745, + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004/full/max/0/default.jpg", "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0004-image", "type": "Image", }, ], "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007", + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 7451, + "width": 7253, }, - "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008/full/max/0/default.jpg": { + "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005/full/max/0/default.jpg": { "format": "image/jpeg", - "height": 5702, - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008/full/max/0/default.jpg", + "height": 5745, + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005/full/max/0/default.jpg", "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0005-image", "type": "Image", }, ], "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008", + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 7451, + "width": 7253, }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json": { + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json": { "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], @@ -11619,11 +12942,11 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http "individuals", ], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json", "type": "Manifest", }, ], @@ -11651,7 +12974,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http ], "label": { "en": [ - "Seirō ehon nenjū gyōji : kan 1 | 青楼絵本年中行事 : 巻 1", + "Seirō ehon nenjū gyōji : kan 2 | 青楼絵本年中行事 : 巻 2", ], }, "metadata": [], @@ -11676,28 +12999,28 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http "Range": {}, "Selector": {}, "Service": { - "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001": { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001", + "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001": { + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001", "profile": "level1", "type": "ImageService3", }, - "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002": { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002", + "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002": { + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002", "profile": "level1", "type": "ImageService3", }, - "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003": { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003", + "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003": { + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003", "profile": "level1", "type": "ImageService3", }, - "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007": { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007", + "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004": { + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004", "profile": "level1", "type": "ImageService3", }, - "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008": { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008", + "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005": { + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005", "profile": "level1", "type": "ImageService3", }, @@ -11714,35 +13037,35 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3": "Canvas", "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4": "Canvas", "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5": "Canvas", - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json": "Manifest", "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p1/1": "AnnotationPage", "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p2/1": "AnnotationPage", "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p3/1": "AnnotationPage", "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p4/1": "AnnotationPage", "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p5/1": "AnnotationPage", - "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005/full/max/0/default.jpg": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json", "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v2 https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", "behavior": [ "individuals", ], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json", + "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json", "items": [ { - "height": 5730, + "height": 5745, "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1", "items": [ { @@ -11751,17 +13074,17 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http { "body": { "format": "image/jpeg", - "height": 5730, - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001/full/max/0/default.jpg", + "height": 5745, + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001/full/max/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001", + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 4301, + "width": 4114, }, "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0001-image", "motivation": "painting", @@ -11778,10 +13101,10 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http ], }, "type": "Canvas", - "width": 4301, + "width": 4114, }, { - "height": 5702, + "height": 5745, "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2", "items": [ { @@ -11790,17 +13113,17 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http { "body": { "format": "image/jpeg", - "height": 5702, - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002/full/max/0/default.jpg", + "height": 5745, + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002/full/max/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002", + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 7451, + "width": 7253, }, "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0002-image", "motivation": "painting", @@ -11817,10 +13140,10 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http ], }, "type": "Canvas", - "width": 7451, + "width": 7253, }, { - "height": 5702, + "height": 5745, "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3", "items": [ { @@ -11829,17 +13152,17 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http { "body": { "format": "image/jpeg", - "height": 5702, - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003/full/max/0/default.jpg", + "height": 5745, + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003/full/max/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003", + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 7451, + "width": 7253, }, "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0003-image", "motivation": "painting", @@ -11856,10 +13179,10 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http ], }, "type": "Canvas", - "width": 7451, + "width": 7253, }, { - "height": 5702, + "height": 5745, "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4", "items": [ { @@ -11868,17 +13191,17 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http { "body": { "format": "image/jpeg", - "height": 5702, - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007/full/max/0/default.jpg", + "height": 5745, + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004/full/max/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007", + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 7451, + "width": 7253, }, "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0004-image", "motivation": "painting", @@ -11895,10 +13218,10 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http ], }, "type": "Canvas", - "width": 7451, + "width": 7253, }, { - "height": 5702, + "height": 5745, "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5", "items": [ { @@ -11907,17 +13230,17 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http { "body": { "format": "image/jpeg", - "height": 5702, - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008/full/max/0/default.jpg", + "height": 5745, + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005/full/max/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008", + "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 7451, + "width": 7253, }, "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0005-image", "motivation": "painting", @@ -11934,12 +13257,12 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http ], }, "type": "Canvas", - "width": 7451, + "width": 7253, }, ], "label": { "en": [ - "Seirō ehon nenjū gyōji : kan 1 | 青楼絵本年中行事 : 巻 1", + "Seirō ehon nenjū gyōji : kan 2 | 青楼絵本年中行事 : 巻 2", ], }, "type": "Manifest", @@ -11947,23 +13270,23 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v1 http } `; -exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v2 https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0031-bound-multivolume-manifest https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0001-image": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0001-image": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0001-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0001-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p1/1", "type": "Annotation", }, ], @@ -11972,25 +13295,25 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v2 http ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", "type": "Canvas", }, "type": "SpecificResource", }, "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0002-image": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0002-image": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0002-image", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0002-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0002-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p2/1", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0002-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p2/1", "type": "Annotation", }, ], @@ -11999,25 +13322,25 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v2 http ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", "type": "Canvas", }, "type": "SpecificResource", }, "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0003-image": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0003-image": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0003-image", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0003-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0003-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p3/1", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0003-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p3/1", "type": "Annotation", }, ], @@ -12026,25 +13349,25 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v2 http ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", "type": "Canvas", }, "type": "SpecificResource", }, "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0004-image": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0004-image": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0004-image", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0004-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0004-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p4/1", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0004-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p4/1", "type": "Annotation", }, ], @@ -12053,25 +13376,25 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v2 http ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", "type": "Canvas", }, "type": "SpecificResource", }, "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0005-image": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0005-image": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2/max/full/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0005-image", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0005-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0005-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p5/1", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0005-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p5/1", "type": "Annotation", }, ], @@ -12080,88 +13403,57 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v2 http ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", "type": "Canvas", }, "type": "SpecificResource", }, "type": "Annotation", }, - }, - "AnnotationCollection": {}, - "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p1/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p1/1", - "iiif-parser:hasPart": [ + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0006-image": { + "body": [ { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p1/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso/max/full/0/default.jpg", + "type": "ContentResource", }, ], - "items": [ + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0006-image", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0006-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p6/1", "type": "Annotation", }, ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", - }, - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p2/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p2/1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p2/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2", - "type": "AnnotationPage", - }, + "motivation": [ + "painting", ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0002-image", - "type": "Annotation", + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", + "type": "Canvas", }, - ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", + "type": "SpecificResource", + }, + "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p3/1": { + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p1/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p3/1", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p1/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p3/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0003-image", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0001-image", "type": "Annotation", }, ], @@ -12177,20 +13469,20 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v2 http "thumbnail": [], "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p4/1": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p2/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p4/1", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p2/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p4/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p2/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0004-image", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0002-image", "type": "Annotation", }, ], @@ -12206,20 +13498,20 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v2 http "thumbnail": [], "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p5/1": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p3/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p5/1", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p3/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p5/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p3/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0005-image", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0003-image", "type": "Annotation", }, ], @@ -12235,329 +13527,112 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v2 http "thumbnail": [], "type": "AnnotationPage", }, - }, - "Canvas": { - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 5745, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p1/1", - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "Front cover", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 4114, - }, - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 5745, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p2/1", - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "Page spread 1", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 7253, - }, - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 5745, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p3/1", - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "Page spread 2", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 7253, - }, - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4": { - "accompanyingCanvas": null, - "annotations": [], + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p4/1": { "behavior": [], - "duration": 0, - "height": 5745, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4", - "items": [ + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p4/1", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p4/1", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p4/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", "type": "AnnotationPage", }, ], - "label": { - "en": [ - "Page spread 3", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 7253, - }, - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 5745, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p5/1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0004-image", + "type": "Annotation", }, ], - "label": { - "en": [ - "Page spread 4", - ], - }, + "label": null, "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 7253, - }, - }, - "Collection": {}, - "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 5745, - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0001-image", - "type": "Image", - }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 4114, - }, - "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 5745, - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0002-image", - "type": "Image", - }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 7253, - }, - "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 5745, - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0003-image", - "type": "Image", - }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 7253, + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", }, - "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 5745, - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004/full/max/0/default.jpg", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p5/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p5/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0004-image", - "type": "Image", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p5/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", + "type": "AnnotationPage", }, ], - "service": [ + "items": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004", - "profile": "level1", - "type": "ImageService3", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0005-image", + "type": "Annotation", }, ], - "type": "Image", - "width": 7253, + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", }, - "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 5745, - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005/full/max/0/default.jpg", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p6/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p6/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0005-image", - "type": "Image", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p6/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", + "type": "AnnotationPage", }, ], - "service": [ + "items": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005", - "profile": "level1", - "type": "ImageService3", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0006-image", + "type": "Annotation", }, ], - "type": "Image", - "width": 7253, + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", }, }, - "Manifest": { - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json": { - "@context": "http://iiif.io/api/presentation/3/context.json", + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1": { "accompanyingCanvas": null, "annotations": [], - "behavior": [ - "individuals", - ], + "behavior": [], + "duration": 0, + "height": 7230, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json", - "type": "Manifest", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p1/1", + "type": "AnnotationPage", }, ], "label": { "en": [ - "Seirō ehon nenjū gyōji : kan 2 | 青楼絵本年中行事 : 巻 2", + "Front cover", ], }, "metadata": [], @@ -12570,654 +13645,525 @@ exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v2 http "rights": null, "seeAlso": [], "service": [], - "services": [], - "start": null, - "structures": [], "summary": null, "thumbnail": [], - "type": "Manifest", - "viewingDirection": "right-to-left", - }, - }, - "Range": {}, - "Selector": {}, - "Service": { - "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001": { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002": { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003": { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004": { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005": { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005", - "profile": "level1", - "type": "ImageService3", - }, - }, - }, - "mapping": { - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0001-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0002-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0003-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0004-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0005-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2": "Canvas", - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3": "Canvas", - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4": "Canvas", - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5": "Canvas", - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p1/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p2/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p3/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p4/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p5/1": "AnnotationPage", - "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005/full/max/0/default.jpg": "ContentResource", - }, - "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json", - "type": "Manifest", - }, -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0030-multi-volume-manifest_v2 https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json 2`] = ` -{ - "@context": "http://iiif.io/api/presentation/3/context.json", - "behavior": [ - "individuals", - ], - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json", - "items": [ - { - "height": 5745, - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p1/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 5745, - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 4114, - }, - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0001-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "Front cover", - ], - }, - "type": "Canvas", - "width": 4114, - }, - { - "height": 5745, - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p2/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 5745, - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 7253, - }, - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0002-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2", - "type": "Annotation", - }, + "type": "Canvas", + "width": 5428, + }, + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 7230, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p2/1", + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "Inside front cover", ], - "type": "AnnotationPage", }, - ], - "label": { - "en": [ - "Page spread 1", - ], + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 5428, }, - "type": "Canvas", - "width": 7253, - }, - { - "height": 5745, - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p3/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 5745, - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 7253, - }, - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0003-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3", - "type": "Annotation", - }, + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 7230, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p3/1", + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "Vol. 1 title page", ], - "type": "AnnotationPage", }, - ], - "label": { - "en": [ - "Page spread 2", - ], + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 5428, }, - "type": "Canvas", - "width": 7253, - }, - { - "height": 5745, - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p4/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 5745, - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 7253, - }, - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0004-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4", - "type": "Annotation", - }, + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 7230, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p4/1", + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "Vol. 1 title page (verso)", ], - "type": "AnnotationPage", }, - ], - "label": { - "en": [ - "Page spread 3", - ], + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 5428, }, - "type": "Canvas", - "width": 7253, - }, - { - "height": 5745, - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p5/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 5745, - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 7253, - }, - "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0005-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5", - "type": "Annotation", - }, + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 7230, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p5/1", + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "Vol. 2 title page", ], - "type": "AnnotationPage", }, - ], - "label": { - "en": [ - "Page spread 4", + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 5428, + }, + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 7230, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p6/1", + "type": "AnnotationPage", + }, ], + "label": { + "en": [ + "Vol. 2 title page (verso)", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 5428, }, - "type": "Canvas", - "width": 7253, }, - ], - "label": { - "en": [ - "Seirō ehon nenjū gyōji : kan 2 | 青楼絵本年中行事 : 巻 2", - ], - }, - "type": "Manifest", - "viewingDirection": "right-to-left", -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0031-bound-multivolume https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json 1`] = ` -{ - "entities": { - "Agent": {}, - "Annotation": { - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0001-image": { - "body": [ + "Collection": {}, + "ContentResource": { + "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 7230, + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover/full/max/0/default.jpg", + "iiif-parser:hasPart": [ { "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover/full/max/0/default.jpg", - "type": "ContentResource", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0001-image", + "type": "Image", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0001-image", - "iiif-parser:hasPart": [ + "service": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0001-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p1/1", - "type": "Annotation", + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover", + "profile": "level1", + "type": "ImageService3", }, ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", + "type": "Image", + "width": 5428, }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0002-image": { - "body": [ + "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 7230, + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover/full/max/0/default.jpg", + "iiif-parser:hasPart": [ { "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover/full/max/0/default.jpg", - "type": "ContentResource", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0002-image", + "type": "Image", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0002-image", - "iiif-parser:hasPart": [ + "service": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0002-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p2/1", - "type": "Annotation", + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover", + "profile": "level1", + "type": "ImageService3", }, ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", + "type": "Image", + "width": 5428, }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0003-image": { - "body": [ + "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 7230, + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1/full/max/0/default.jpg", + "iiif-parser:hasPart": [ { "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1/full/max/0/default.jpg", - "type": "ContentResource", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0003-image", + "type": "Image", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0003-image", - "iiif-parser:hasPart": [ + "service": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0003-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p3/1", - "type": "Annotation", + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1", + "profile": "level1", + "type": "ImageService3", }, ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", + "type": "Image", + "width": 5428, }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0004-image": { - "body": [ + "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 7230, + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso/full/max/0/default.jpg", + "iiif-parser:hasPart": [ { "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso/full/max/0/default.jpg", - "type": "ContentResource", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0004-image", + "type": "Image", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0004-image", - "iiif-parser:hasPart": [ + "service": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0004-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p4/1", - "type": "Annotation", + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso", + "profile": "level1", + "type": "ImageService3", }, ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", + "type": "Image", + "width": 5428, }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0005-image": { - "body": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2/max/full/0/default.jpg", - "type": "ContentResource", - }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0005-image", + "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2/max/full/0/default.jpg": { + "format": "image/jpeg", + "height": 7230, + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2/max/full/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0005-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p5/1", - "type": "Annotation", - }, - ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", - }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0006-image": { - "body": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso/max/full/0/default.jpg", - "type": "ContentResource", + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2/max/full/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0005-image", + "type": "Image", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0006-image", - "iiif-parser:hasPart": [ + "service": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0006-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p6/1", - "type": "Annotation", + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2", + "profile": "level1", + "type": "ImageService3", }, ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", + "type": "Image", + "width": 5428, }, - }, - "AnnotationCollection": {}, - "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p1/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p1/1", + "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso/max/full/0/default.jpg": { + "format": "image/jpeg", + "height": 7230, + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso/max/full/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p1/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso/max/full/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0006-image", + "type": "Image", }, ], - "items": [ + "service": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0001-image", - "type": "Annotation", + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso", + "profile": "level1", + "type": "ImageService3", }, ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", + "type": "Image", + "width": 5428, }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p2/1": { + }, + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", + "accompanyingCanvas": null, + "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p2/1", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p2/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", - "type": "AnnotationPage", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json", + "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0002-image", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", + "type": "Canvas", }, ], - "label": null, + "label": { + "de": [ + "Gottesdienstliche Ceremonien, Oder H. Kirchen-Gebräuche Und Religions-Pflichten Der Christen", + ], + }, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], + "services": [], + "start": null, + "structures": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r0", + "type": "Range", + }, + ], "summary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Manifest", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p3/1": { + }, + "Range": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1": { + "accompanyingCanvas": null, + "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p3/1", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p3/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", - "type": "AnnotationPage", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0003-image", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r1", + "type": "Canvas", }, ], + "items": [], "label": null, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], + "start": null, "summary": null, + "supplementary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Canvas", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p4/1": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2": { + "accompanyingCanvas": null, + "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p4/1", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p4/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", - "type": "AnnotationPage", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0004-image", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r1", + "type": "Canvas", }, ], + "items": [], "label": null, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], + "start": null, "summary": null, + "supplementary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Canvas", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p5/1": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3": { + "accompanyingCanvas": null, + "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p5/1", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p5/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", - "type": "AnnotationPage", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0005-image", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r2", + "type": "Canvas", }, ], + "items": [], "label": null, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], + "start": null, "summary": null, + "supplementary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Canvas", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p6/1": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4": { + "accompanyingCanvas": null, + "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p6/1", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p6/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", - "type": "AnnotationPage", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0006-image", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r2", + "type": "Canvas", }, ], + "items": [], "label": null, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], + "start": null, "summary": null, + "supplementary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Canvas", + "viewingDirection": "left-to-right", }, - }, - "Canvas": { - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5": { "accompanyingCanvas": null, "annotations": [], "behavior": [], - "duration": 0, - "height": 7230, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", - "items": [ + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p1/1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r3", + "type": "Canvas", }, ], - "label": { - "en": [ - "Front cover", - ], - }, + "items": [], + "label": null, "metadata": [], "navDate": null, "partOf": [], @@ -13228,30 +14174,28 @@ exports[`Cookbook > Testing normalize %p (%p) 0031-bound-multivolume https://iii "rights": null, "seeAlso": [], "service": [], + "start": null, "summary": null, + "supplementary": null, "thumbnail": [], "type": "Canvas", - "width": 5428, + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6": { "accompanyingCanvas": null, "annotations": [], "behavior": [], - "duration": 0, - "height": 7230, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", - "items": [ + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p2/1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r3", + "type": "Canvas", }, ], - "label": { - "en": [ - "Inside front cover", - ], - }, + "items": [], + "label": null, "metadata": [], "navDate": null, "partOf": [], @@ -13262,28 +14206,36 @@ exports[`Cookbook > Testing normalize %p (%p) 0031-bound-multivolume https://iii "rights": null, "seeAlso": [], "service": [], + "start": null, "summary": null, + "supplementary": null, "thumbnail": [], "type": "Canvas", - "width": 5428, + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r0": { "accompanyingCanvas": null, "annotations": [], "behavior": [], - "duration": 0, - "height": 7230, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r0", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p3/1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r1", + "type": "Range", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r2", + "type": "Range", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r3", + "type": "Range", }, ], "label": { - "en": [ - "Vol. 1 title page", + "de": [ + "Gottesdienstliche Ceremonien, Oder H. Kirchen-Gebräuche Und Religions-Pflichten Der Christen", ], }, "metadata": [], @@ -13296,28 +14248,47 @@ exports[`Cookbook > Testing normalize %p (%p) 0031-bound-multivolume https://iii "rights": null, "seeAlso": [], "service": [], + "start": null, "summary": null, + "supplementary": null, "thumbnail": [], - "type": "Canvas", - "width": 5428, + "type": "Range", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r1": { "accompanyingCanvas": null, "annotations": [], "behavior": [], - "duration": 0, - "height": 7230, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r0", + "type": "Range", + }, + ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p4/1", - "type": "AnnotationPage", + "selector": undefined, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + { + "selector": undefined, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", + "type": "Canvas", + }, + "type": "SpecificResource", }, ], "label": { "en": [ - "Vol. 1 title page (verso)", + "Front Matter", ], }, "metadata": [], @@ -13330,28 +14301,47 @@ exports[`Cookbook > Testing normalize %p (%p) 0031-bound-multivolume https://iii "rights": null, "seeAlso": [], "service": [], + "start": null, "summary": null, + "supplementary": null, "thumbnail": [], - "type": "Canvas", - "width": 5428, + "type": "Range", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r2": { "accompanyingCanvas": null, "annotations": [], "behavior": [], - "duration": 0, - "height": 7230, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r2", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r2", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r0", + "type": "Range", + }, + ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p5/1", - "type": "AnnotationPage", + "selector": undefined, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + { + "selector": undefined, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", + "type": "Canvas", + }, + "type": "SpecificResource", }, ], "label": { - "en": [ - "Vol. 2 title page", + "de": [ + "Erste Ausgabe. Begreift die Ceremonien der Lutheraner von der Augspurgischen Confession, der Reformirten, der Holländischen u. a. Kirchen", ], }, "metadata": [], @@ -13364,28 +14354,47 @@ exports[`Cookbook > Testing normalize %p (%p) 0031-bound-multivolume https://iii "rights": null, "seeAlso": [], "service": [], + "start": null, "summary": null, + "supplementary": null, "thumbnail": [], - "type": "Canvas", - "width": 5428, + "type": "Range", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r3": { "accompanyingCanvas": null, "annotations": [], "behavior": [], - "duration": 0, - "height": 7230, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r3", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r3", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r0", + "type": "Range", + }, + ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p6/1", - "type": "AnnotationPage", + "selector": undefined, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + { + "selector": undefined, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", + "type": "Canvas", + }, + "type": "SpecificResource", }, ], "label": { - "en": [ - "Vol. 2 title page (verso)", + "de": [ + "Zweyte Ausgabe. Begreift die Ceremonien der Engl. hohen Kirche : Der Quacker, der Anabaptisten, der Adamiten, der Flagellanten, der Frey-Maurer, der Rhinsbürger...", ], }, "metadata": [], @@ -13398,185 +14407,453 @@ exports[`Cookbook > Testing normalize %p (%p) 0031-bound-multivolume https://iii "rights": null, "seeAlso": [], "service": [], + "start": null, "summary": null, + "supplementary": null, "thumbnail": [], - "type": "Canvas", - "width": 5428, + "type": "Range", + "viewingDirection": "left-to-right", + }, + }, + "Selector": {}, + "Service": { + "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover": { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover": { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1": { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso": { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2": { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso": { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso", + "profile": "level1", + "type": "ImageService3", + }, + }, + }, + "mapping": { + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0002-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0003-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0004-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0005-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0006-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2": "Canvas", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3": "Canvas", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4": "Canvas", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5": "Canvas", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6": "Canvas", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p1/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p2/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p3/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p4/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p5/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p6/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r0": "Range", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r1": "Range", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r2": "Range", + "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r3": "Range", + "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2/max/full/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso/max/full/0/default.jpg": "ContentResource", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json", + "type": "Manifest", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0031-bound-multivolume-manifest https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json", + "items": [ + { + "height": 7230, + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p1/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 7230, + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 5428, + }, + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0001-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "Front cover", + ], + }, + "type": "Canvas", + "width": 5428, + }, + { + "height": 7230, + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p2/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 7230, + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 5428, + }, + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0002-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "Inside front cover", + ], }, + "type": "Canvas", + "width": 5428, }, - "Collection": {}, - "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 7230, - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0001-image", - "type": "Image", - }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover", - "profile": "level1", - "type": "ImageService3", - }, + { + "height": 7230, + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p3/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 7230, + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 5428, + }, + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0003-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "Vol. 1 title page", ], - "type": "Image", - "width": 5428, }, - "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 7230, - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0002-image", - "type": "Image", - }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover", - "profile": "level1", - "type": "ImageService3", - }, + "type": "Canvas", + "width": 5428, + }, + { + "height": 7230, + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p4/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 7230, + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 5428, + }, + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0004-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "Vol. 1 title page (verso)", ], - "type": "Image", - "width": 5428, }, - "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 7230, - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0003-image", - "type": "Image", - }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1", - "profile": "level1", - "type": "ImageService3", - }, + "type": "Canvas", + "width": 5428, + }, + { + "height": 7230, + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p5/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 7230, + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2/max/full/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 5428, + }, + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0005-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "Vol. 2 title page", ], - "type": "Image", - "width": 5428, }, - "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 7230, - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0004-image", - "type": "Image", - }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso", - "profile": "level1", - "type": "ImageService3", - }, + "type": "Canvas", + "width": 5428, + }, + { + "height": 7230, + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p6/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 7230, + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso/max/full/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 5428, + }, + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0006-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "Vol. 2 title page (verso)", ], - "type": "Image", - "width": 5428, }, - "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2/max/full/0/default.jpg": { - "format": "image/jpeg", - "height": 7230, - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2/max/full/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2/max/full/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0005-image", - "type": "Image", - }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2", - "profile": "level1", - "type": "ImageService3", + "type": "Canvas", + "width": 5428, + }, + ], + "label": { + "de": [ + "Gottesdienstliche Ceremonien, Oder H. Kirchen-Gebräuche Und Religions-Pflichten Der Christen", + ], + }, + "structures": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r0", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", + "type": "Canvas", + }, + ], + "label": { + "en": [ + "Front Matter", + ], }, - ], - "type": "Image", - "width": 5428, - }, - "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso/max/full/0/default.jpg": { - "format": "image/jpeg", - "height": 7230, - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso/max/full/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso/max/full/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0006-image", - "type": "Image", + "type": "Range", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r2", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", + "type": "Canvas", + }, + ], + "label": { + "de": [ + "Erste Ausgabe. Begreift die Ceremonien der Lutheraner von der Augspurgischen Confession, der Reformirten, der Holländischen u. a. Kirchen", + ], }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso", - "profile": "level1", - "type": "ImageService3", + "type": "Range", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r3", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", + "type": "Canvas", + }, + ], + "label": { + "de": [ + "Zweyte Ausgabe. Begreift die Ceremonien der Engl. hohen Kirche : Der Quacker, der Anabaptisten, der Adamiten, der Flagellanten, der Frey-Maurer, der Rhinsbürger...", + ], }, + "type": "Range", + }, + ], + "label": { + "de": [ + "Gottesdienstliche Ceremonien, Oder H. Kirchen-Gebräuche Und Religions-Pflichten Der Christen", ], - "type": "Image", - "width": 5428, }, + "type": "Range", }, - "Manifest": { - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json": { + ], + "type": "Manifest", +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0032-collection-collection https://iiif.io/api/cookbook/recipe/0032-collection/collection.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": {}, + "AnnotationCollection": {}, + "AnnotationPage": {}, + "Canvas": {}, + "Collection": { + "https://iiif.io/api/cookbook/recipe/0032-collection/collection.json": { "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/collection.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json", - "type": "Manifest", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/collection.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0032-collection/collection.json", + "type": "Collection", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-01.json", + "iiif-parser:isExternal": true, + "label": { + "en": [ + "The Gulf Stream", + ], + }, + "type": "Manifest", }, { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-02.json", + "iiif-parser:isExternal": true, + "label": { + "en": [ + "Northeaster", + ], + }, + "type": "Manifest", }, ], "label": { - "de": [ - "Gottesdienstliche Ceremonien, Oder H. Kirchen-Gebräuche Und Religions-Pflichten Der Christen", + "en": [ + "Simple Collection Example", ], }, "metadata": [], @@ -13590,35 +14867,27 @@ exports[`Cookbook > Testing normalize %p (%p) 0031-bound-multivolume https://iii "seeAlso": [], "service": [], "services": [], - "start": null, - "structures": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r0", - "type": "Range", - }, - ], "summary": null, "thumbnail": [], - "type": "Manifest", + "type": "Collection", "viewingDirection": "left-to-right", }, }, - "Range": { - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1": { + "ContentResource": {}, + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-01.json": { "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r1", - "type": "Canvas", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-01.json", + "iiif-parser:isExternal": true, "items": [], - "label": null, + "label": { + "en": [ + "The Gulf Stream", + ], + }, "metadata": [], "navDate": null, "partOf": [], @@ -13629,28 +14898,27 @@ exports[`Cookbook > Testing normalize %p (%p) 0031-bound-multivolume https://iii "rights": null, "seeAlso": [], "service": [], + "services": [], "start": null, + "structures": [], "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Canvas", + "type": "Manifest", "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2": { + "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-02.json": { "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r1", - "type": "Canvas", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-02.json", + "iiif-parser:isExternal": true, "items": [], - "label": null, + "label": { + "en": [ + "Northeaster", + ], + }, "metadata": [], "navDate": null, "partOf": [], @@ -13661,59 +14929,144 @@ exports[`Cookbook > Testing normalize %p (%p) 0031-bound-multivolume https://iii "rights": null, "seeAlso": [], "service": [], + "services": [], "start": null, + "structures": [], "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Canvas", + "type": "Manifest", "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3": { - "accompanyingCanvas": null, - "annotations": [], + }, + "Range": {}, + "Selector": {}, + "Service": {}, + }, + "mapping": { + "https://iiif.io/api/cookbook/recipe/0032-collection/collection.json": "Collection", + "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-01.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-02.json": "Manifest", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/collection.json", + "type": "Collection", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0032-collection-collection https://iiif.io/api/cookbook/recipe/0032-collection/collection.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/collection.json", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-01.json", + "label": { + "en": [ + "The Gulf Stream", + ], + }, + "type": "Manifest", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-02.json", + "label": { + "en": [ + "Northeaster", + ], + }, + "type": "Manifest", + }, + ], + "label": { + "en": [ + "Simple Collection Example", + ], + }, + "type": "Collection", +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0032-collection-manifest-01 https://iiif.io/api/cookbook/recipe/0032-collection/manifest-01.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/annotation/p0001-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Winslow_Homer_-_The_Gulf_Stream_-_Metropolitan_Museum_of_Art/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/annotation/p0001-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/annotation/p0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/page/p1/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/canvas/p1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/page/p1/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/page/p1/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r2", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/page/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/canvas/p1", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/annotation/p0001-image", + "type": "Annotation", }, ], - "items": [], "label": null, "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Canvas", - "viewingDirection": "left-to-right", + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4": { + }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/canvas/p1": { "accompanyingCanvas": null, "annotations": [], "behavior": [], + "duration": 0, + "height": 3540, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", - "iiif-parser:hasPart": [ + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/canvas/p1", + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r2", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/page/p1/1", + "type": "AnnotationPage", }, ], - "items": [], "label": null, "metadata": [], "navDate": null, @@ -13725,103 +15078,88 @@ exports[`Cookbook > Testing normalize %p (%p) 0031-bound-multivolume https://iii "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], "type": "Canvas", - "viewingDirection": "left-to-right", + "width": 5886, }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", + }, + "Collection": {}, + "ContentResource": { + "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Winslow_Homer_-_The_Gulf_Stream_-_Metropolitan_Museum_of_Art/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 3540, + "id": "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Winslow_Homer_-_The_Gulf_Stream_-_Metropolitan_Museum_of_Art/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r3", - "type": "Canvas", + "id": "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Winslow_Homer_-_The_Gulf_Stream_-_Metropolitan_Museum_of_Art/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/annotation/p0001-image", + "type": "Image", }, ], - "items": [], - "label": null, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "start": null, - "summary": null, - "supplementary": null, - "thumbnail": [], - "type": "Canvas", - "viewingDirection": "left-to-right", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Winslow_Homer_-_The_Gulf_Stream_-_Metropolitan_Museum_of_Art", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 5886, }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6": { + }, + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-01.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-01.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r3", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-01.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-01.json", + "type": "Manifest", }, ], - "items": [], - "label": null, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "start": null, - "summary": null, - "supplementary": null, - "thumbnail": [], - "type": "Canvas", - "viewingDirection": "left-to-right", - }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r0": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r0", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r1", - "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/canvas/p1", + "type": "Canvas", }, + ], + "label": { + "en": [ + "The Gulf Stream", + ], + }, + "metadata": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r2", - "type": "Range", + "label": { + "en": [ + "Artist", + ], + }, + "value": { + "en": [ + "Winslow Homer (1836–1910)", + ], + }, }, { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r3", - "type": "Range", + "label": { + "en": [ + "Date", + ], + }, + "value": { + "en": [ + "1899", + ], + }, }, ], - "label": { - "de": [ - "Gottesdienstliche Ceremonien, Oder H. Kirchen-Gebräuche Und Religions-Pflichten Der Christen", - ], - }, - "metadata": [], "navDate": null, "partOf": [], "placeholderCanvas": null, @@ -13831,102 +15169,195 @@ exports[`Cookbook > Testing normalize %p (%p) 0031-bound-multivolume https://iii "rights": null, "seeAlso": [], "service": [], + "services": [], "start": null, + "structures": [], "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Range", + "type": "Manifest", "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r1": { - "accompanyingCanvas": null, - "annotations": [], + }, + "Range": {}, + "Selector": {}, + "Service": { + "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Winslow_Homer_-_The_Gulf_Stream_-_Metropolitan_Museum_of_Art": { + "id": "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Winslow_Homer_-_The_Gulf_Stream_-_Metropolitan_Museum_of_Art", + "profile": "level1", + "type": "ImageService3", + }, + }, + }, + "mapping": { + "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-01.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/annotation/p0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/page/p1/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Winslow_Homer_-_The_Gulf_Stream_-_Metropolitan_Museum_of_Art/full/max/0/default.jpg": "ContentResource", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-01.json", + "type": "Manifest", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0032-collection-manifest-01 https://iiif.io/api/cookbook/recipe/0032-collection/manifest-01.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-01.json", + "items": [ + { + "height": 3540, + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/canvas/p1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/page/p1/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 3540, + "id": "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Winslow_Homer_-_The_Gulf_Stream_-_Metropolitan_Museum_of_Art/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Winslow_Homer_-_The_Gulf_Stream_-_Metropolitan_Museum_of_Art", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 5886, + }, + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/annotation/p0001-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/canvas/p1", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "type": "Canvas", + "width": 5886, + }, + ], + "label": { + "en": [ + "The Gulf Stream", + ], + }, + "metadata": [ + { + "label": { + "en": [ + "Artist", + ], + }, + "value": { + "en": [ + "Winslow Homer (1836–1910)", + ], + }, + }, + { + "label": { + "en": [ + "Date", + ], + }, + "value": { + "en": [ + "1899", + ], + }, + }, + ], + "type": "Manifest", +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0032-collection-manifest-02 https://iiif.io/api/cookbook/recipe/0032-collection/manifest-02.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/annotation/p0001-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Northeaster_by_Winslow_Homer_1895/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/annotation/p0001-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/annotation/p0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/page/p1/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/canvas/p1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/page/p1/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r1", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/page/p1/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r0", - "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/page/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/canvas/p1", + "type": "AnnotationPage", }, ], "items": [ { - "selector": undefined, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - { - "selector": undefined, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", - "type": "Canvas", - }, - "type": "SpecificResource", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/annotation/p0001-image", + "type": "Annotation", }, ], - "label": { - "en": [ - "Front Matter", - ], - }, + "label": null, "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Range", - "viewingDirection": "left-to-right", + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r2": { + }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/canvas/p1": { "accompanyingCanvas": null, "annotations": [], "behavior": [], + "duration": 0, + "height": 2572, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r2", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r2", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r0", - "type": "Range", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/canvas/p1", "items": [ { - "selector": undefined, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - { - "selector": undefined, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", - "type": "Canvas", - }, - "type": "SpecificResource", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/page/p1/1", + "type": "AnnotationPage", }, ], - "label": { - "de": [ - "Erste Ausgabe. Begreift die Ceremonien der Lutheraner von der Augspurgischen Confession, der Reformirten, der Holländischen u. a. Kirchen", - ], - }, + "label": null, "metadata": [], "navDate": null, "partOf": [], @@ -13937,50 +15368,88 @@ exports[`Cookbook > Testing normalize %p (%p) 0031-bound-multivolume https://iii "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Range", - "viewingDirection": "left-to-right", + "type": "Canvas", + "width": 3764, }, - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r3": { + }, + "Collection": {}, + "ContentResource": { + "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Northeaster_by_Winslow_Homer_1895/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 2572, + "id": "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Northeaster_by_Winslow_Homer_1895/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Northeaster_by_Winslow_Homer_1895/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/annotation/p0001-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Northeaster_by_Winslow_Homer_1895", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 3764, + }, + }, + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-02.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r3", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-02.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r3", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r0", - "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-02.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-02.json", + "type": "Manifest", }, ], "items": [ { - "selector": undefined, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/canvas/p1", + "type": "Canvas", + }, + ], + "label": { + "en": [ + "Northeaster", + ], + }, + "metadata": [ + { + "label": { + "en": [ + "Artist", + ], + }, + "value": { + "en": [ + "Winslow Homer (1836–1910)", + ], }, - "type": "SpecificResource", }, { - "selector": undefined, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", - "type": "Canvas", + "label": { + "en": [ + "Date", + ], + }, + "value": { + "en": [ + "1895", + ], }, - "type": "SpecificResource", }, ], - "label": { - "de": [ - "Zweyte Ausgabe. Begreift die Ceremonien der Engl. hohen Kirche : Der Quacker, der Anabaptisten, der Adamiten, der Flagellanten, der Frey-Maurer, der Rhinsbürger...", - ], - }, - "metadata": [], "navDate": null, "partOf": [], "placeholderCanvas": null, @@ -13990,422 +15459,444 @@ exports[`Cookbook > Testing normalize %p (%p) 0031-bound-multivolume https://iii "rights": null, "seeAlso": [], "service": [], + "services": [], "start": null, + "structures": [], "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Range", + "type": "Manifest", "viewingDirection": "left-to-right", }, }, + "Range": {}, "Selector": {}, - "Service": { - "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover": { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover": { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1": { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso": { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2": { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso": { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso", - "profile": "level1", - "type": "ImageService3", - }, - }, - }, - "mapping": { - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0001-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0002-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0003-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0004-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0005-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0006-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2": "Canvas", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3": "Canvas", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4": "Canvas", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5": "Canvas", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6": "Canvas", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p1/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p2/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p3/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p4/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p5/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p6/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r0": "Range", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r1": "Range", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r2": "Range", - "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r3": "Range", - "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2/max/full/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso/max/full/0/default.jpg": "ContentResource", - }, - "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json", - "type": "Manifest", - }, -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0031-bound-multivolume https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json 2`] = ` -{ - "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json", - "items": [ - { - "height": 7230, - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p1/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 7230, - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 5428, - }, - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0001-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "Front cover", - ], + "Service": { + "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Northeaster_by_Winslow_Homer_1895": { + "id": "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Northeaster_by_Winslow_Homer_1895", + "profile": "level1", + "type": "ImageService3", }, - "type": "Canvas", - "width": 5428, }, + }, + "mapping": { + "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-02.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/annotation/p0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/page/p1/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Northeaster_by_Winslow_Homer_1895/full/max/0/default.jpg": "ContentResource", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-02.json", + "type": "Manifest", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0032-collection-manifest-02 https://iiif.io/api/cookbook/recipe/0032-collection/manifest-02.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-02.json", + "items": [ { - "height": 7230, - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", + "height": 2572, + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/canvas/p1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p2/1", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/page/p1/1", "items": [ { "body": { "format": "image/jpeg", - "height": 7230, - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover/full/max/0/default.jpg", + "height": 2572, + "id": "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Northeaster_by_Winslow_Homer_1895/full/max/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover", + "id": "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Northeaster_by_Winslow_Homer_1895", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 5428, + "width": 3764, }, - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0002-image", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/annotation/p0001-image", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", + "target": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/canvas/p1", "type": "Annotation", }, ], "type": "AnnotationPage", }, ], + "type": "Canvas", + "width": 3764, + }, + ], + "label": { + "en": [ + "Northeaster", + ], + }, + "metadata": [ + { "label": { "en": [ - "Inside front cover", + "Artist", + ], + }, + "value": { + "en": [ + "Winslow Homer (1836–1910)", ], }, - "type": "Canvas", - "width": 5428, }, { - "height": 7230, - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p3/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 7230, - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 5428, - }, - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0003-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], "label": { "en": [ - "Vol. 1 title page", + "Date", + ], + }, + "value": { + "en": [ + "1895", ], }, - "type": "Canvas", - "width": 5428, }, - { - "height": 7230, - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p4/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 7230, - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 5428, - }, - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0004-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", - "type": "Annotation", - }, + ], + "type": "Manifest", +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0033-choice-manifest https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0033-choice/annotation/p0001-image": { + "body": [ + { + "id": "vault://04f77c53", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0033-choice/annotation/p0001-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0033-choice/annotation/p0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0033-choice/page/p1/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0033-choice/canvas/p1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0033-choice/page/p1/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0033-choice/page/p1/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0033-choice/page/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0033-choice/canvas/p1", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0033-choice/annotation/p0001-image", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0033-choice/canvas/p1": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 1271, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0033-choice/canvas/p1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0033-choice/page/p1/1", + "type": "AnnotationPage", + }, + ], + "label": null, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 2000, + }, + }, + "Collection": {}, + "ContentResource": { + "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 1271, + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", + "label": { + "en": [ + "Natural Light", ], - "type": "AnnotationPage", }, - ], - "label": { - "en": [ - "Vol. 1 title page (verso)", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2000, + }, + "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 1271, + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg", + "label": { + "en": [ + "X-Ray", + ], + }, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2000, + }, + "vault://04f77c53": { + "id": "vault://04f77c53", + "iiif-parser:hasPart": [ + { + "id": "vault://04f77c53", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0033-choice/annotation/p0001-image", + "type": "Choice", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", + "type": "ContentResource", + }, + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg", + "type": "ContentResource", + }, ], + "type": "Choice", }, - "type": "Canvas", - "width": 5428, }, - { - "height": 7230, - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p5/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 7230, - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2/max/full/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 5428, - }, - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0005-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", - "type": "Annotation", - }, + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json", + "type": "Manifest", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0033-choice/canvas/p1", + "type": "Canvas", + }, + ], + "label": { + "en": [ + "John Dee performing an experiment before Queen Elizabeth I.", ], - "type": "AnnotationPage", }, - ], - "label": { - "en": [ - "Vol. 2 title page", - ], + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "services": [], + "start": null, + "structures": [], + "summary": null, + "thumbnail": [], + "type": "Manifest", + "viewingDirection": "left-to-right", + }, + }, + "Range": {}, + "Selector": {}, + "Service": { + "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural": { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray": { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", + "profile": "level1", + "type": "ImageService3", }, - "type": "Canvas", - "width": 5428, }, + }, + "mapping": { + "https://iiif.io/api/cookbook/recipe/0033-choice/annotation/p0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0033-choice/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0033-choice/page/p1/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg": "ContentResource", + "vault://04f77c53": "ContentResource", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json", + "type": "Manifest", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0033-choice-manifest https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json", + "items": [ { - "height": 7230, - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", + "height": 1271, + "id": "https://iiif.io/api/cookbook/recipe/0033-choice/canvas/p1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p6/1", + "id": "https://iiif.io/api/cookbook/recipe/0033-choice/page/p1/1", "items": [ { "body": { - "format": "image/jpeg", - "height": 7230, - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso/max/full/0/default.jpg", - "service": [ + "items": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso", - "profile": "level1", - "type": "ImageService3", + "format": "image/jpeg", + "height": 1271, + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", + "label": { + "en": [ + "Natural Light", + ], + }, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2000, + }, + { + "format": "image/jpeg", + "height": 1271, + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg", + "label": { + "en": [ + "X-Ray", + ], + }, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2000, }, ], - "type": "Image", - "width": 5428, + "type": "Choice", }, - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0006-image", + "id": "https://iiif.io/api/cookbook/recipe/0033-choice/annotation/p0001-image", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "Vol. 2 title page (verso)", - ], - }, - "type": "Canvas", - "width": 5428, - }, - ], - "label": { - "de": [ - "Gottesdienstliche Ceremonien, Oder H. Kirchen-Gebräuche Und Religions-Pflichten Der Christen", - ], - }, - "structures": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r0", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", - "type": "Canvas", - }, - ], - "label": { - "en": [ - "Front Matter", - ], - }, - "type": "Range", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r2", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", - "type": "Canvas", - }, - ], - "label": { - "de": [ - "Erste Ausgabe. Begreift die Ceremonien der Lutheraner von der Augspurgischen Confession, der Reformirten, der Holländischen u. a. Kirchen", - ], - }, - "type": "Range", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r3", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", - "type": "Canvas", + "target": "https://iiif.io/api/cookbook/recipe/0033-choice/canvas/p1", + "type": "Annotation", }, ], - "label": { - "de": [ - "Zweyte Ausgabe. Begreift die Ceremonien der Engl. hohen Kirche : Der Quacker, der Anabaptisten, der Adamiten, der Flagellanten, der Frey-Maurer, der Rhinsbürger...", - ], - }, - "type": "Range", + "type": "AnnotationPage", }, ], - "label": { - "de": [ - "Gottesdienstliche Ceremonien, Oder H. Kirchen-Gebräuche Und Religions-Pflichten Der Christen", - ], - }, - "type": "Range", + "type": "Canvas", + "width": 2000, }, ], + "label": { + "en": [ + "John Dee performing an experiment before Queen Elizabeth I.", + ], + }, "type": "Manifest", } `; -exports[`Cookbook > Testing normalize %p (%p) 0033-choice https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0035-foldouts-manifest https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0033-choice/annotation/p0001-image": { + "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0001-image": { "body": [ { - "id": "vault://04f77c53", + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0033-choice/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0001-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0033-choice/annotation/p0001-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0033-choice/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/1/1", "type": "Annotation", }, ], @@ -14414,7 +15905,223 @@ exports[`Cookbook > Testing normalize %p (%p) 0033-choice https://iiif.io/api/co ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0033-choice/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0002-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0002-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0002-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/2/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/2", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0003-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0003-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0003-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/3/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/3", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0004-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0004-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0004-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/4/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/4", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0005-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0005-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0005-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/5/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/5", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0006-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0006-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0006-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/6/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/6", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0007-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0007-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0007-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/7/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/7", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0008-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0008-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0008-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/8/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/8", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0009-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0009-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0009-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/9/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/9", "type": "Canvas", }, "type": "SpecificResource", @@ -14424,20 +16131,20 @@ exports[`Cookbook > Testing normalize %p (%p) 0033-choice https://iiif.io/api/co }, "AnnotationCollection": {}, "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0033-choice/page/p1/1": { + "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/1/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0033-choice/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/1/1", "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0033-choice/page/p1/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0033-choice/canvas/p1", + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/1", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0033-choice/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0001-image", "type": "Annotation", }, ], @@ -14453,27 +16160,25 @@ exports[`Cookbook > Testing normalize %p (%p) 0033-choice https://iiif.io/api/co "thumbnail": [], "type": "AnnotationPage", }, - }, - "Canvas": { - "https://iiif.io/api/cookbook/recipe/0033-choice/canvas/p1": { - "accompanyingCanvas": null, - "annotations": [], + "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/2/1": { "behavior": [], - "duration": 0, - "height": 1271, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0033-choice/canvas/p1", - "items": [ + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/2/1", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0033-choice/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/2/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/2", "type": "AnnotationPage", }, ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0002-image", + "type": "Annotation", + }, + ], "label": null, "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, @@ -14482,496 +16187,442 @@ exports[`Cookbook > Testing normalize %p (%p) 0033-choice https://iiif.io/api/co "service": [], "summary": null, "thumbnail": [], - "type": "Canvas", - "width": 2000, - }, - }, - "Collection": {}, - "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 1271, - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", - "label": { - "en": [ - "Natural Light", - ], - }, - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 2000, - }, - "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 1271, - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg", - "label": { - "en": [ - "X-Ray", - ], - }, - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 2000, - }, - "vault://04f77c53": { - "id": "vault://04f77c53", - "iiif-parser:hasPart": [ - { - "id": "vault://04f77c53", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0033-choice/annotation/p0001-image", - "type": "Choice", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", - "type": "ContentResource", - }, - { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg", - "type": "ContentResource", - }, - ], - "type": "Choice", + "type": "AnnotationPage", }, - }, - "Manifest": { - "https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json": { - "@context": "http://iiif.io/api/presentation/3/context.json", - "accompanyingCanvas": null, - "annotations": [], + "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/3/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/3/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json", - "type": "Manifest", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/3/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/3", + "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0033-choice/canvas/p1", - "type": "Canvas", - }, - ], - "label": { - "en": [ - "John Dee performing an experiment before Queen Elizabeth I.", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "services": [], - "start": null, - "structures": [], - "summary": null, - "thumbnail": [], - "type": "Manifest", - "viewingDirection": "left-to-right", - }, - }, - "Range": {}, - "Selector": {}, - "Service": { - "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural": { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray": { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", - "profile": "level1", - "type": "ImageService3", - }, - }, - }, - "mapping": { - "https://iiif.io/api/cookbook/recipe/0033-choice/annotation/p0001-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0033-choice/canvas/p1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0033-choice/page/p1/1": "AnnotationPage", - "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg": "ContentResource", - "vault://04f77c53": "ContentResource", - }, - "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json", - "type": "Manifest", - }, -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0033-choice https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json 2`] = ` -{ - "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json", - "items": [ - { - "height": 1271, - "id": "https://iiif.io/api/cookbook/recipe/0033-choice/canvas/p1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0033-choice/page/p1/1", - "items": [ - { - "body": { - "items": [ - { - "format": "image/jpeg", - "height": 1271, - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", - "label": { - "en": [ - "Natural Light", - ], - }, - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 2000, - }, - { - "format": "image/jpeg", - "height": 1271, - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg", - "label": { - "en": [ - "X-Ray", - ], - }, - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 2000, - }, - ], - "type": "Choice", - }, - "id": "https://iiif.io/api/cookbook/recipe/0033-choice/annotation/p0001-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0033-choice/canvas/p1", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], - "type": "Canvas", - "width": 2000, - }, - ], - "label": { - "en": [ - "John Dee performing an experiment before Queen Elizabeth I.", - ], - }, - "type": "Manifest", -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0035-foldouts https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json 1`] = ` -{ - "entities": { - "Agent": {}, - "Annotation": { - "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0001-image": { - "body": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover/full/max/0/default.jpg", - "type": "ContentResource", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0003-image", + "type": "Annotation", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0001-image", + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/4/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/4/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0001-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/1/1", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/4/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/4", + "type": "AnnotationPage", }, ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/1", - "type": "Canvas", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0004-image", + "type": "Annotation", }, - "type": "SpecificResource", - }, - "type": "Annotation", + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0002-image": { - "body": [ + "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/5/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/5/1", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover/full/max/0/default.jpg", - "type": "ContentResource", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/5/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/5", + "type": "AnnotationPage", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0002-image", - "iiif-parser:hasPart": [ + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0002-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/2/1", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0005-image", "type": "Annotation", }, ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/2", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0003-image": { - "body": [ + "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/6/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/6/1", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded/full/max/0/default.jpg", - "type": "ContentResource", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/6/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/6", + "type": "AnnotationPage", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0003-image", - "iiif-parser:hasPart": [ + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0003-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/3/1", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0006-image", "type": "Annotation", }, ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/3", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0004-image": { - "body": [ + "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/7/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/7/1", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout/full/max/0/default.jpg", - "type": "ContentResource", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/7/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/7", + "type": "AnnotationPage", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0004-image", - "iiif-parser:hasPart": [ + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0004-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/4/1", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0007-image", "type": "Annotation", }, ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/4", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0005-image": { - "body": [ + "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/8/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/8/1", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated/full/max/0/default.jpg", - "type": "ContentResource", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/8/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/8", + "type": "AnnotationPage", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0005-image", - "iiif-parser:hasPart": [ + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0005-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/5/1", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0008-image", "type": "Annotation", }, ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/5", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0006-image": { - "body": [ + "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/9/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/9/1", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage/full/max/0/default.jpg", - "type": "ContentResource", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/9/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/9", + "type": "AnnotationPage", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0006-image", - "iiif-parser:hasPart": [ + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0006-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/6/1", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0009-image", "type": "Annotation", }, ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/6", - "type": "Canvas", + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/1": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 4429, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/1/1", + "type": "AnnotationPage", }, - "type": "SpecificResource", + ], + "label": { + "en": [ + "Front cover", + ], }, - "type": "Annotation", + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 2533, }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0007-image": { - "body": [ + "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/2": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 4315, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/2", + "items": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto/full/max/0/default.jpg", - "type": "ContentResource", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/2/1", + "type": "AnnotationPage", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0007-image", - "iiif-parser:hasPart": [ + "label": { + "en": [ + "Inside front cover", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 2490, + }, + "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/3": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 4278, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/3", + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0007-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/7/1", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/3/1", + "type": "AnnotationPage", }, ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/7", - "type": "Canvas", - }, - "type": "SpecificResource", + "label": { + "en": [ + "Foldout, folded", + ], }, - "type": "Annotation", + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 2197, }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0008-image": { - "body": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover/full/max/0/default.jpg", - "type": "ContentResource", - }, + "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/4": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [ + "non-paged", ], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0008-image", - "iiif-parser:hasPart": [ + "duration": 0, + "height": 1968, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/4", + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0008-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/8/1", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/4/1", + "type": "AnnotationPage", }, ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/8", - "type": "Canvas", - }, - "type": "SpecificResource", + "label": { + "en": [ + "Foldout, unfolded", + ], }, - "type": "Annotation", + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 3688, }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0009-image": { - "body": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover/full/max/0/default.jpg", - "type": "ContentResource", - }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0009-image", - "iiif-parser:hasPart": [ + "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/5": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 1968, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/5", + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0009-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/9/1", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/5/1", + "type": "AnnotationPage", }, ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/9", - "type": "Canvas", - }, - "type": "SpecificResource", + "label": { + "en": [ + "Foldout, folded (recto)", + ], }, - "type": "Annotation", + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 3688, }, - }, - "AnnotationCollection": {}, - "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/1/1": { + "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/6": { + "accompanyingCanvas": null, + "annotations": [], "behavior": [], + "duration": 0, + "height": 4315, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/1/1", - "iiif-parser:hasPart": [ + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/6", + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/1/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/1", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/6/1", "type": "AnnotationPage", }, ], + "label": { + "en": [ + "Title page", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 2490, + }, + "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/7": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 4315, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/7", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0001-image", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/7/1", + "type": "AnnotationPage", }, ], - "label": null, + "label": { + "en": [ + "Back of title page", + ], + }, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, @@ -14980,27 +16631,32 @@ exports[`Cookbook > Testing normalize %p (%p) 0035-foldouts https://iiif.io/api/ "service": [], "summary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Canvas", + "width": 2490, }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/2/1": { + "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/8": { + "accompanyingCanvas": null, + "annotations": [], "behavior": [], + "duration": 0, + "height": 4315, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/2/1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/2/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/2", - "type": "AnnotationPage", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/8", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0002-image", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/8/1", + "type": "AnnotationPage", }, ], - "label": null, + "label": { + "en": [ + "Inside back cover", + ], + }, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, @@ -15009,27 +16665,32 @@ exports[`Cookbook > Testing normalize %p (%p) 0035-foldouts https://iiif.io/api/ "service": [], "summary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Canvas", + "width": 2490, }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/3/1": { + "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/9": { + "accompanyingCanvas": null, + "annotations": [], "behavior": [], + "duration": 0, + "height": 4315, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/3/1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/3/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/3", - "type": "AnnotationPage", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/9", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0003-image", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/9/1", + "type": "AnnotationPage", }, ], - "label": null, + "label": { + "en": [ + "Back cover", + ], + }, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, @@ -15038,743 +16699,959 @@ exports[`Cookbook > Testing normalize %p (%p) 0035-foldouts https://iiif.io/api/ "service": [], "summary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Canvas", + "width": 2490, }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/4/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/4/1", + }, + "Collection": {}, + "ContentResource": { + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4429, + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/4/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/4", - "type": "AnnotationPage", + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0001-image", + "type": "Image", }, ], - "items": [ + "service": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0004-image", - "type": "Annotation", + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover", + "profile": "level1", + "type": "ImageService3", }, ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", + "type": "Image", + "width": 2533, }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/5/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/5/1", + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4315, + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/5/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/5", - "type": "AnnotationPage", + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0002-image", + "type": "Image", }, ], - "items": [ + "service": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0005-image", - "type": "Annotation", + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover", + "profile": "level1", + "type": "ImageService3", }, ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", + "type": "Image", + "width": 2490, }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/6/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/6/1", + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4278, + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0003-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2197, + }, + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 1968, + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0005-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 3688, + }, + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 1968, + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0004-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 3688, + }, + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4315, + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0006-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2490, + }, + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4315, + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0007-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2490, + }, + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4315, + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/6/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/6", - "type": "AnnotationPage", + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0008-image", + "type": "Image", }, ], - "items": [ + "service": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0006-image", - "type": "Annotation", + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover", + "profile": "level1", + "type": "ImageService3", }, ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", + "type": "Image", + "width": 2490, }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/7/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/7/1", + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4315, + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/7/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/7", - "type": "AnnotationPage", + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0009-image", + "type": "Image", }, ], - "items": [ + "service": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0007-image", - "type": "Annotation", + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover", + "profile": "level1", + "type": "ImageService3", }, ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", + "type": "Image", + "width": 2490, }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/8/1": { - "behavior": [], + }, + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", + "accompanyingCanvas": null, + "annotations": [], + "behavior": [ + "paged", + ], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/8/1", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/8/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/8", - "type": "AnnotationPage", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json", + "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0008-image", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/1", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/2", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/3", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/4", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/5", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/6", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/7", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/8", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/9", + "type": "Canvas", }, ], - "label": null, + "label": { + "en": [ + "Outlines of geology being the substance of a course of lectures delivered in the Theatre of the Royal Institution in the year 1816", + ], + }, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], + "services": [], + "start": null, + "structures": [], "summary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Manifest", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/9/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/9/1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/9/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/9", - "type": "AnnotationPage", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0009-image", - "type": "Annotation", - }, + }, + "Range": {}, + "Selector": {}, + "Service": { + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover": { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover": { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded": { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated": { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout": { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage": { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto": { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover": { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover": { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover", + "profile": "level1", + "type": "ImageService3", + }, + }, + }, + "mapping": { + "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0002-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0003-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0004-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0005-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0006-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0007-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0008-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0009-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/2": "Canvas", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/3": "Canvas", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/4": "Canvas", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/5": "Canvas", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/6": "Canvas", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/7": "Canvas", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/8": "Canvas", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/9": "Canvas", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/1/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/2/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/3/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/4/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/5/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/6/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/7/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/8/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/9/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover/full/max/0/default.jpg": "ContentResource", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json", + "type": "Manifest", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0035-foldouts-manifest https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "behavior": [ + "paged", + ], + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json", + "items": [ + { + "height": 4429, + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/1/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 4429, + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2533, + }, + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0001-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/1", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "Front cover", ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", }, + "type": "Canvas", + "width": 2533, }, - "Canvas": { - "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/1": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 4429, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/1/1", - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "Front cover", + { + "height": 4315, + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/2", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/2/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 4315, + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2490, + }, + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0002-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/2", + "type": "Annotation", + }, ], + "type": "AnnotationPage", }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 2533, - }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/2": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 4315, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/2", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/2/1", - "type": "AnnotationPage", - }, + ], + "label": { + "en": [ + "Inside front cover", ], - "label": { - "en": [ - "Inside front cover", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 2490, }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/3": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 4278, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/3", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/3/1", - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "Foldout, folded", + "type": "Canvas", + "width": 2490, + }, + { + "height": 4278, + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/3", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/3/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 4278, + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2197, + }, + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0003-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/3", + "type": "Annotation", + }, ], + "type": "AnnotationPage", }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 2197, - }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/4": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [ - "non-paged", - ], - "duration": 0, - "height": 1968, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/4", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/4/1", - "type": "AnnotationPage", - }, + ], + "label": { + "en": [ + "Foldout, folded", ], - "label": { - "en": [ - "Foldout, unfolded", + }, + "type": "Canvas", + "width": 2197, + }, + { + "behavior": [ + "non-paged", + ], + "height": 1968, + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/4", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/4/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 1968, + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 3688, + }, + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0004-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/4", + "type": "Annotation", + }, ], + "type": "AnnotationPage", }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 3688, - }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/5": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 1968, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/5", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/5/1", - "type": "AnnotationPage", - }, + ], + "label": { + "en": [ + "Foldout, unfolded", ], - "label": { - "en": [ - "Foldout, folded (recto)", + }, + "type": "Canvas", + "width": 3688, + }, + { + "height": 1968, + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/5", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/5/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 1968, + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 3688, + }, + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0005-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/5", + "type": "Annotation", + }, ], + "type": "AnnotationPage", }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 3688, - }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/6": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 4315, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/6", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/6/1", - "type": "AnnotationPage", - }, + ], + "label": { + "en": [ + "Foldout, folded (recto)", ], - "label": { - "en": [ - "Title page", + }, + "type": "Canvas", + "width": 3688, + }, + { + "height": 4315, + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/6", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/6/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 4315, + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2490, + }, + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0006-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/6", + "type": "Annotation", + }, ], + "type": "AnnotationPage", }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 2490, - }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/7": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 4315, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/7", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/7/1", - "type": "AnnotationPage", - }, + ], + "label": { + "en": [ + "Title page", ], - "label": { - "en": [ - "Back of title page", + }, + "type": "Canvas", + "width": 2490, + }, + { + "height": 4315, + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/7", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/7/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 4315, + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2490, + }, + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0007-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/7", + "type": "Annotation", + }, ], + "type": "AnnotationPage", }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 2490, - }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/8": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 4315, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/8", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/8/1", - "type": "AnnotationPage", - }, + ], + "label": { + "en": [ + "Back of title page", ], - "label": { - "en": [ - "Inside back cover", + }, + "type": "Canvas", + "width": 2490, + }, + { + "height": 4315, + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/8", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/8/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 4315, + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2490, + }, + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0008-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/8", + "type": "Annotation", + }, ], + "type": "AnnotationPage", }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 2490, - }, - "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/9": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 4315, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/9", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/9/1", - "type": "AnnotationPage", - }, + ], + "label": { + "en": [ + "Inside back cover", ], - "label": { - "en": [ - "Back cover", + }, + "type": "Canvas", + "width": 2490, + }, + { + "height": 4315, + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/9", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/9/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 4315, + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2490, + }, + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0009-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/9", + "type": "Annotation", + }, ], + "type": "AnnotationPage", }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 2490, + ], + "label": { + "en": [ + "Back cover", + ], }, + "type": "Canvas", + "width": 2490, }, - "Collection": {}, - "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 4429, - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0001-image", - "type": "Image", - }, - ], - "service": [ + ], + "label": { + "en": [ + "Outlines of geology being the substance of a course of lectures delivered in the Theatre of the Royal Institution in the year 1816", + ], + }, + "type": "Manifest", +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0036-composition-from-multiple-images-manifest https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0001-image": { + "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover", - "profile": "level1", - "type": "ImageService3", + "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux/full/max/0/default.jpg", + "type": "ContentResource", }, ], - "type": "Image", - "width": 2533, - }, - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 4315, - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover/full/max/0/default.jpg", + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0001-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0002-image", - "type": "Image", + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/page/p1/1", + "type": "Annotation", }, ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover", - "profile": "level1", - "type": "ImageService3", - }, + "motivation": [ + "painting", ], - "type": "Image", - "width": 2490, - }, - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 4278, - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0003-image", - "type": "Image", + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1", + "type": "Canvas", }, - ], - "service": [ + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0002-image": { + "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded", - "profile": "level1", - "type": "ImageService3", + "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature/full/max/0/default.jpg", + "type": "ContentResource", }, ], - "type": "Image", - "width": 2197, - }, - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 1968, - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated/full/max/0/default.jpg", + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0002-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0005-image", - "type": "Image", + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0002-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/page/p1/1", + "type": "Annotation", }, ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated", - "profile": "level1", - "type": "ImageService3", - }, + "motivation": [ + "painting", ], - "type": "Image", - "width": 3688, - }, - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 1968, - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0004-image", - "type": "Image", + "target": { + "selector": { + "type": "FragmentSelector", + "value": "xywh=3949,994,1091,1232", }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout", - "profile": "level1", - "type": "ImageService3", + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1", + "type": "Canvas", }, - ], - "type": "Image", - "width": 3688, + "type": "SpecificResource", + }, + "type": "Annotation", }, - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 4315, - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0006-image", - "type": "Image", + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/page/p1/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/page/p1/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/page/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1", + "type": "AnnotationPage", }, ], - "service": [ + "items": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage", - "profile": "level1", - "type": "ImageService3", + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0001-image", + "type": "Annotation", }, - ], - "type": "Image", - "width": 2490, - }, - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 4315, - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto/full/max/0/default.jpg", - "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0007-image", - "type": "Image", + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0002-image", + "type": "Annotation", }, ], - "service": [ + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 5412, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1", + "items": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto", - "profile": "level1", - "type": "ImageService3", + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/page/p1/1", + "type": "AnnotationPage", }, ], - "type": "Image", - "width": 2490, + "label": { + "none": [ + "f. 033v-034r [Chilpéric Ier tue Galswinthe, se remarie et est assassiné]", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 7216, }, - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover/full/max/0/default.jpg": { + }, + "Collection": {}, + "ContentResource": { + "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux/full/max/0/default.jpg": { "format": "image/jpeg", - "height": 4315, - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover/full/max/0/default.jpg", + "height": 5412, + "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0008-image", + "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0001-image", "type": "Image", }, ], "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover", + "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 2490, + "width": 7216, }, - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover/full/max/0/default.jpg": { + "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature/full/max/0/default.jpg": { "format": "image/jpeg", - "height": 4315, - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover/full/max/0/default.jpg", + "height": 2414, + "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0009-image", + "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0002-image", "type": "Image", }, ], + "label": { + "fr": [ + "Miniature [Chilpéric Ier tue Galswinthe, se remarie et est assassiné]", + ], + }, "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover", + "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 2490, + "width": 2138, }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json": { + "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json": { "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], - "behavior": [ - "paged", - ], + "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/1", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/2", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/3", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/4", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/5", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/6", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/7", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/8", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/9", + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1", "type": "Canvas", }, ], "label": { "en": [ - "Outlines of geology being the substance of a course of lectures delivered in the Theatre of the Royal Institution in the year 1816", + "Folio from Grandes Chroniques de France, ca. 1460", ], }, "metadata": [], @@ -15785,185 +17662,103 @@ exports[`Cookbook > Testing normalize %p (%p) 0035-foldouts https://iiif.io/api/ "rendering": [], "requiredStatement": null, "rights": null, - "seeAlso": [], - "service": [], - "services": [], - "start": null, - "structures": [], - "summary": null, - "thumbnail": [], - "type": "Manifest", - "viewingDirection": "left-to-right", - }, - }, - "Range": {}, - "Selector": {}, - "Service": { - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover": { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover": { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded": { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated": { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout": { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage": { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto": { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover": { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover": { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover", - "profile": "level1", - "type": "ImageService3", - }, - }, - }, - "mapping": { - "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0001-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0002-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0003-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0004-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0005-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0006-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0007-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0008-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0009-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/2": "Canvas", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/3": "Canvas", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/4": "Canvas", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/5": "Canvas", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/6": "Canvas", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/7": "Canvas", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/8": "Canvas", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/9": "Canvas", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/1/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/2/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/3/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/4/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/5/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/6/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/7/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/8/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/9/1": "AnnotationPage", - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover/full/max/0/default.jpg": "ContentResource", + "seeAlso": [], + "service": [], + "services": [], + "start": null, + "structures": [], + "summary": null, + "thumbnail": [], + "type": "Manifest", + "viewingDirection": "left-to-right", + }, + }, + "Range": {}, + "Selector": {}, + "Service": { + "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux": { + "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature": { + "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature", + "profile": "level1", + "type": "ImageService3", + }, + }, + }, + "mapping": { + "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0002-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/page/p1/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature/full/max/0/default.jpg": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json", "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0035-foldouts https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0036-composition-from-multiple-images-manifest https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", - "behavior": [ - "paged", - ], - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json", "items": [ { - "height": 4429, - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/1", + "height": 5412, + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/1/1", + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/page/p1/1", "items": [ { "body": { "format": "image/jpeg", - "height": 4429, - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover/full/max/0/default.jpg", + "height": 5412, + "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux/full/max/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover", + "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 2533, + "width": 7216, }, - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0001-image", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/1", + "target": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1", "type": "Annotation", }, - ], - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "Front cover", - ], - }, - "type": "Canvas", - "width": 2533, - }, - { - "height": 4315, - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/2", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/2/1", - "items": [ { "body": { "format": "image/jpeg", - "height": 4315, - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover/full/max/0/default.jpg", + "height": 2414, + "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature/full/max/0/default.jpg", + "label": { + "fr": [ + "Miniature [Chilpéric Ier tue Galswinthe, se remarie et est assassiné]", + ], + }, "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover", + "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 2490, + "width": 2138, }, - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0002-image", + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0002-image", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/2", + "target": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1#xywh=3949,994,1091,1232", "type": "Annotation", }, ], @@ -15971,236 +17766,258 @@ exports[`Cookbook > Testing normalize %p (%p) 0035-foldouts https://iiif.io/api/ }, ], "label": { - "en": [ - "Inside front cover", + "none": [ + "f. 033v-034r [Chilpéric Ier tue Galswinthe, se remarie et est assassiné]", ], }, "type": "Canvas", - "width": 2490, + "width": 7216, }, - { - "height": 4278, - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/3", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/3/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 4278, - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 2197, - }, - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0003-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/3", - "type": "Annotation", + ], + "label": { + "en": [ + "Folio from Grandes Chroniques de France, ca. 1460", + ], + }, + "type": "Manifest", +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0040-image-rotation-service-manifest-css https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-css.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image": { + "body": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/body/sr1", + "source": { + "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1/full/max/0/default.jpg", + "type": "ContentResource", }, - ], - "type": "AnnotationPage", + "styleClass": "rotated", + "type": "SpecificResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "stylesheet": { + "type": "CssStylesheet", + "value": ".rotated { transform-origin: center; transform: rotate(90deg); }", }, - ], - "label": { - "en": [ - "Foldout, folded", + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image", + "type": "Annotation", + }, ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", }, - "type": "Canvas", - "width": 2197, }, - { - "behavior": [ - "non-paged", - ], - "height": 1968, - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/4", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/4/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 1968, - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 3688, - }, - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0004-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/4", - "type": "Annotation", - }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 1523, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1", + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "inside cover; 1r", ], - "type": "AnnotationPage", }, - ], - "label": { - "en": [ - "Foldout, unfolded", - ], + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 2105, }, - "type": "Canvas", - "width": 3688, }, - { - "height": 1968, - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/5", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/5/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 1968, - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 3688, - }, - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0005-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/5", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "Foldout, folded (recto)", + "Collection": {}, + "ContentResource": { + "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 2105, + "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-master", + "profile": "level1", + "type": "ImageService3", + }, ], + "type": "Image", + "width": 1523, }, - "type": "Canvas", - "width": 3688, }, - { - "height": 4315, - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/6", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/6/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 4315, - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 2490, - }, - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0006-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/6", - "type": "Annotation", - }, + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-css.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-css.json", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-css.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-css.json", + "type": "Manifest", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", + "type": "Canvas", + }, + ], + "label": { + "ca": [ + "[Conoximent de las orines] Ihesus, Ihesus. En nom de Deu et dela beneyeta sa mare e de tots los angels i archangels e de tots los sants e santes de paradis yo micer Johannes comense aquest libre de reseptes en l’ayn Mi 466.", ], - "type": "AnnotationPage", }, - ], - "label": { - "en": [ - "Title page", - ], + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "services": [], + "start": null, + "structures": [], + "summary": null, + "thumbnail": [], + "type": "Manifest", + "viewingDirection": "left-to-right", }, - "type": "Canvas", - "width": 2490, }, - { - "height": 4315, - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/7", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/7/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 4315, - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 2490, - }, - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0007-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/7", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "Back of title page", - ], + "Range": {}, + "Selector": {}, + "Service": { + "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-master": { + "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-master", + "profile": "level1", + "type": "ImageService3", }, - "type": "Canvas", - "width": 2490, }, + }, + "mapping": { + "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-css.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1/full/max/0/default.jpg": "ContentResource", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-css.json", + "type": "Manifest", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0040-image-rotation-service-manifest-css https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-css.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-css.json", + "items": [ { - "height": 4315, - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/8", + "height": 1523, + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/8/1", + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1", "items": [ { "body": { - "format": "image/jpeg", - "height": 4315, - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 2490, + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/body/sr1", + "source": { + "format": "image/jpeg", + "height": 2105, + "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-master", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 1523, + }, + "styleClass": "rotated", + "type": "SpecificResource", + }, + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image", + "motivation": "painting", + "stylesheet": { + "type": "CssStylesheet", + "value": ".rotated { transform-origin: center; transform: rotate(90deg); }", }, - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0008-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/8", + "target": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", "type": "Annotation", }, ], @@ -16209,37 +18026,257 @@ exports[`Cookbook > Testing normalize %p (%p) 0035-foldouts https://iiif.io/api/ ], "label": { "en": [ - "Inside back cover", + "inside cover; 1r", ], }, "type": "Canvas", - "width": 2490, + "width": 2105, + }, + ], + "label": { + "ca": [ + "[Conoximent de las orines] Ihesus, Ihesus. En nom de Deu et dela beneyeta sa mare e de tots los angels i archangels e de tots los sants e santes de paradis yo micer Johannes comense aquest libre de reseptes en l’ayn Mi 466.", + ], + }, + "type": "Manifest", +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0040-image-rotation-service-manifest-service https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-service.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image": { + "body": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/body/v0001-image", + "selector": { + "@context": "http://iiif.io/api/annex/openannotation/context.json", + "rotation": "90", + "type": "iiif:ImageApiSelector", + }, + "source": { + "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1/full/max/0/default.jpg", + "type": "ContentResource", + }, + "type": "SpecificResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 1523, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1", + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "inside cover; 1r", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 2105, + }, + }, + "Collection": {}, + "ContentResource": { + "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 2105, + "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 1523, + }, + }, + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-service.json ": { + "@context": "http://iiif.io/api/presentation/3/context.json", + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-service.json ", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-service.json ", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-service.json ", + "type": "Manifest", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", + "type": "Canvas", + }, + ], + "label": { + "ca": [ + "[Conoximent de las orines] Ihesus, Ihesus. En nom de Deu et dela beneyeta sa mare e de tots los angels i archangels e de tots los sants e santes de paradis yo micer Johannes comense aquest libre de reseptes en l’ayn Mi 466.", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "services": [], + "start": null, + "structures": [], + "summary": null, + "thumbnail": [], + "type": "Manifest", + "viewingDirection": "left-to-right", + }, + }, + "Range": {}, + "Selector": {}, + "Service": { + "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1": { + "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1", + "profile": "level1", + "type": "ImageService3", + }, }, + }, + "mapping": { + "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-service.json ": "Manifest", + "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1/full/max/0/default.jpg": "ContentResource", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-service.json ", + "type": "Manifest", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0040-image-rotation-service-manifest-service https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-service.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-service.json ", + "items": [ { - "height": 4315, - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/9", + "height": 1523, + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/9/1", + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1", "items": [ { "body": { - "format": "image/jpeg", - "height": 4315, - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 2490, + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/body/v0001-image", + "selector": { + "@context": "http://iiif.io/api/annex/openannotation/context.json", + "rotation": "90", + "type": "iiif:ImageApiSelector", + }, + "source": { + "format": "image/jpeg", + "height": 2105, + "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 1523, + }, + "type": "SpecificResource", }, - "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0009-image", + "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/9", + "target": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", "type": "Annotation", }, ], @@ -16248,39 +18285,39 @@ exports[`Cookbook > Testing normalize %p (%p) 0035-foldouts https://iiif.io/api/ ], "label": { "en": [ - "Back cover", + "inside cover; 1r", ], }, "type": "Canvas", - "width": 2490, + "width": 2105, }, ], "label": { - "en": [ - "Outlines of geology being the substance of a course of lectures delivered in the Theatre of the Royal Institution in the year 1816", + "ca": [ + "[Conoximent de las orines] Ihesus, Ihesus. En nom de Deu et dela beneyeta sa mare e de tots los angels i archangels e de tots los sants e santes de paradis yo micer Johannes comense aquest libre de reseptes en l’ayn Mi 466.", ], }, "type": "Manifest", } `; -exports[`Cookbook > Testing normalize %p (%p) 0036-composition-from-multiple-images https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0046-rendering-manifest https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0001-image": { + "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0001-image": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0001-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0001-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p1/1", "type": "Annotation", }, ], @@ -16289,25 +18326,25 @@ exports[`Cookbook > Testing normalize %p (%p) 0036-composition-from-multiple-ima ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p1", "type": "Canvas", }, "type": "SpecificResource", }, "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0002-image": { + "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0002-image": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature/full/max/0/native.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0002-image", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0002-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0002-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0002-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p2/1", "type": "Annotation", }, ], @@ -16315,12 +18352,89 @@ exports[`Cookbook > Testing normalize %p (%p) 0036-composition-from-multiple-ima "painting", ], "target": { - "selector": { - "type": "FragmentSelector", - "value": "xywh=3949,994,1091,1232", + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p2", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0003-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0003-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0003-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p3/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p3", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0004-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0004-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0004-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p4/1", + "type": "Annotation", }, + ], + "motivation": [ + "painting", + ], + "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p4", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0005-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0005-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0005-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p5/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p5", "type": "Canvas", }, "type": "SpecificResource", @@ -16330,24 +18444,136 @@ exports[`Cookbook > Testing normalize %p (%p) 0036-composition-from-multiple-ima }, "AnnotationCollection": {}, "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/page/p1/1": { + "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p1/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p1/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/page/p1/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p1", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0001-image", "type": "Annotation", }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p2/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p2/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p2/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p2", + "type": "AnnotationPage", + }, + ], + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0002-image", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0002-image", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p3/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p3/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p3/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p3", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0003-image", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p4/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p4/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p4/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p4", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0004-image", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p5/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p5/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p5/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p5", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0005-image", "type": "Annotation", }, ], @@ -16365,23 +18591,23 @@ exports[`Cookbook > Testing normalize %p (%p) 0036-composition-from-multiple-ima }, }, "Canvas": { - "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1": { + "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p1": { "accompanyingCanvas": null, "annotations": [], "behavior": [], "duration": 0, - "height": 5412, + "height": 4823, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p1/1", "type": "AnnotationPage", }, ], - "label": { - "none": [ - "f. 033v-034r [Chilpéric Ier tue Galswinthe, se remarie et est assassiné]", + "label": { + "en": [ + "front cover", ], }, "metadata": [], @@ -16397,83 +18623,25 @@ exports[`Cookbook > Testing normalize %p (%p) 0036-composition-from-multiple-ima "summary": null, "thumbnail": [], "type": "Canvas", - "width": 7216, - }, - }, - "Collection": {}, - "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 5412, - "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0001-image", - "type": "Image", - }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 7216, - }, - "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature/full/max/0/native.jpg": { - "format": "image/jpeg", - "height": 2414, - "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature/full/max/0/native.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature/full/max/0/native.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0002-image", - "type": "Image", - }, - ], - "label": { - "fr": [ - "Miniature [Chilpéric Ier tue Galswinthe, se remarie et est assassiné]", - ], - }, - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature", - "profile": "level2", - "type": "ImageService1", - }, - ], - "type": "Image", - "width": 2138, + "width": 3497, }, - }, - "Manifest": { - "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json": { - "@context": "http://iiif.io/api/presentation/3/context.json", + "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p2": { "accompanyingCanvas": null, "annotations": [], "behavior": [], + "duration": 0, + "height": 4804, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json", - "type": "Manifest", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p2", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p2/1", + "type": "AnnotationPage", }, ], "label": { "en": [ - "Folio from Grandes Chroniques de France, ca. 1460", + "pages 1–2", ], }, "metadata": [], @@ -16486,188 +18654,34 @@ exports[`Cookbook > Testing normalize %p (%p) 0036-composition-from-multiple-ima "rights": null, "seeAlso": [], "service": [], - "services": [], - "start": null, - "structures": [], "summary": null, "thumbnail": [], - "type": "Manifest", - "viewingDirection": "left-to-right", - }, - }, - "Range": {}, - "Selector": {}, - "Service": { - "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux": { - "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature": { - "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature", - "profile": "level2", - "type": "ImageService1", - }, - }, - }, - "mapping": { - "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0001-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0002-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/page/p1/1": "AnnotationPage", - "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature/full/max/0/native.jpg": "ContentResource", - }, - "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json", - "type": "Manifest", - }, -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0036-composition-from-multiple-images https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json 2`] = ` -{ - "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json", - "items": [ - { - "height": 5412, - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/page/p1/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 5412, - "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 7216, - }, - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0001-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1", - "type": "Annotation", - }, - { - "body": { - "format": "image/jpeg", - "height": 2414, - "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature/full/max/0/native.jpg", - "label": { - "fr": [ - "Miniature [Chilpéric Ier tue Galswinthe, se remarie et est assassiné]", - ], - }, - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature", - "profile": "level2", - "type": "ImageService1", - }, - ], - "type": "Image", - "width": 2138, - }, - "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0002-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1#xywh=3949,994,1091,1232", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], - "label": { - "none": [ - "f. 033v-034r [Chilpéric Ier tue Galswinthe, se remarie et est assassiné]", - ], - }, - "type": "Canvas", - "width": 7216, - }, - ], - "label": { - "en": [ - "Folio from Grandes Chroniques de France, ca. 1460", - ], - }, - "type": "Manifest", -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0040-image-rotation-service-manifest-css https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-css.json 1`] = ` -{ - "entities": { - "Agent": {}, - "Annotation": { - "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image": { - "body": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/body/sr1", - "source": { - "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1/full/max/0/default.jpg", - "type": "ContentResource", - }, - "styleClass": "rotated", - "type": "SpecificResource", - }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1", - "type": "Annotation", - }, - ], - "motivation": [ - "painting", - ], - "stylesheet": { - "type": "CssStylesheet", - "value": ".rotated { transform-origin: center; transform: rotate(90deg); }", - }, - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", + "type": "Canvas", + "width": 6062, }, - }, - "AnnotationCollection": {}, - "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1": { + "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p3": { + "accompanyingCanvas": null, + "annotations": [], "behavior": [], + "duration": 0, + "height": 4776, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", - "type": "AnnotationPage", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p3", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p3/1", + "type": "AnnotationPage", }, ], - "label": null, + "label": { + "en": [ + "pages 3–4", + ], + }, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, @@ -16676,27 +18690,26 @@ exports[`Cookbook > Testing normalize %p (%p) 0040-image-rotation-service-manife "service": [], "summary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Canvas", + "width": 6127, }, - }, - "Canvas": { - "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1": { + "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p4": { "accompanyingCanvas": null, "annotations": [], "behavior": [], "duration": 0, - "height": 1523, + "height": 4751, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p4", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p4/1", "type": "AnnotationPage", }, ], "label": { "en": [ - "inside cover; 1r", + "pages 5–6", ], }, "metadata": [], @@ -16712,50 +18725,25 @@ exports[`Cookbook > Testing normalize %p (%p) 0040-image-rotation-service-manife "summary": null, "thumbnail": [], "type": "Canvas", - "width": 2105, - }, - }, - "Collection": {}, - "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 2105, - "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-master", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 1523, + "width": 6124, }, - }, - "Manifest": { - "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-css.json": { - "@context": "http://iiif.io/api/presentation/3/context.json", + "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p5": { "accompanyingCanvas": null, "annotations": [], "behavior": [], + "duration": 0, + "height": 4808, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-css.json", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-css.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-css.json", - "type": "Manifest", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p5", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p5/1", + "type": "AnnotationPage", }, ], "label": { - "ca": [ - "[Conoximent de las orines] Ihesus, Ihesus. En nom de Deu et dela beneyeta sa mare e de tots los angels i archangels e de tots los sants e santes de paradis yo micer Johannes comense aquest libre de reseptes en l’ayn Mi 466.", + "en": [ + "back cover", ], }, "metadata": [], @@ -16768,253 +18756,177 @@ exports[`Cookbook > Testing normalize %p (%p) 0040-image-rotation-service-manife "rights": null, "seeAlso": [], "service": [], - "services": [], - "start": null, - "structures": [], "summary": null, "thumbnail": [], - "type": "Manifest", - "viewingDirection": "left-to-right", - }, - }, - "Range": {}, - "Selector": {}, - "Service": { - "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-master": { - "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-master", - "profile": "level1", - "type": "ImageService3", + "type": "Canvas", + "width": 3510, }, }, - }, - "mapping": { - "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-css.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1": "AnnotationPage", - "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1/full/max/0/default.jpg": "ContentResource", - }, - "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-css.json", - "type": "Manifest", - }, -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0040-image-rotation-service-manifest-css https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-css.json 2`] = ` -{ - "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-css.json", - "items": [ - { - "height": 1523, - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1", - "items": [ - { - "body": { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/body/sr1", - "source": { - "format": "image/jpeg", - "height": 2105, - "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-master", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 1523, - }, - "styleClass": "rotated", - "type": "SpecificResource", - }, - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image", - "motivation": "painting", - "stylesheet": { - "type": "CssStylesheet", - "value": ".rotated { transform-origin: center; transform: rotate(90deg); }", - }, - "target": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", - "type": "Annotation", - }, + "Collection": {}, + "ContentResource": { + "https://fixtures.iiif.io/other/UCLA/kabuki_ezukushi_rtl.pdf": { + "format": "application/pdf", + "id": "https://fixtures.iiif.io/other/UCLA/kabuki_ezukushi_rtl.pdf", + "iiif-parser:hasPart": [ + { + "id": "https://fixtures.iiif.io/other/UCLA/kabuki_ezukushi_rtl.pdf", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json", + "type": "Text", + }, + ], + "label": { + "en": [ + "PDF version", ], - "type": "AnnotationPage", }, - ], - "label": { - "en": [ - "inside cover; 1r", - ], + "type": "Text", }, - "type": "Canvas", - "width": 2105, - }, - ], - "label": { - "ca": [ - "[Conoximent de las orines] Ihesus, Ihesus. En nom de Deu et dela beneyeta sa mare e de tots los angels i archangels e de tots los sants e santes de paradis yo micer Johannes comense aquest libre de reseptes en l’ayn Mi 466.", - ], - }, - "type": "Manifest", -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0040-image-rotation-service-manifest-service https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-service.json 1`] = ` -{ - "entities": { - "Agent": {}, - "Annotation": { - "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image": { - "body": [ + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4823, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/body/v0001-image", - "selector": { - "@context": "http://iiif.io/api/annex/openannotation/context.json", - "rotation": "90", - "type": "iiif:ImageApiSelector", - }, - "source": { - "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1/full/max/0/default.jpg", - "type": "ContentResource", - }, - "type": "SpecificResource", + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0001-image", + "type": "Image", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 3497, + }, + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4804, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1", - "type": "Annotation", + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0002-image", + "type": "Image", }, ], - "motivation": [ - "painting", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002", + "profile": "level1", + "type": "ImageService3", + }, ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", - "type": "Canvas", + "type": "Image", + "width": 6062, + }, + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4776, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0003-image", + "type": "Image", }, - "type": "SpecificResource", - }, - "type": "Annotation", + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 6127, }, - }, - "AnnotationCollection": {}, - "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1", + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4751, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0004-image", + "type": "Image", }, ], - "items": [ + "service": [ { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image", - "type": "Annotation", + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004", + "profile": "level1", + "type": "ImageService3", }, ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", + "type": "Image", + "width": 6124, }, - }, - "Canvas": { - "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 1523, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", - "items": [ + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4808, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0005-image", + "type": "Image", }, ], - "label": { - "en": [ - "inside cover; 1r", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 2105, - }, - }, - "Collection": {}, - "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 2105, - "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1/full/max/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1", + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 1523, + "width": 3510, }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-service.json ": { + "https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json": { "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-service.json ", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-service.json ", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-service.json ", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p1", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p2", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p3", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p4", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p5", "type": "Canvas", }, ], "label": { - "ca": [ - "[Conoximent de las orines] Ihesus, Ihesus. En nom de Deu et dela beneyeta sa mare e de tots los angels i archangels e de tots los sants e santes de paradis yo micer Johannes comense aquest libre de reseptes en l’ayn Mi 466.", + "en": [ + "Alternative Representations Through Rendering", ], }, "metadata": [], @@ -17022,7 +18934,12 @@ exports[`Cookbook > Testing normalize %p (%p) 0040-image-rotation-service-manife "partOf": [], "placeholderCanvas": null, "provider": [], - "rendering": [], + "rendering": [ + { + "id": "https://fixtures.iiif.io/other/UCLA/kabuki_ezukushi_rtl.pdf", + "type": "ContentResource", + }, + ], "requiredStatement": null, "rights": null, "seeAlso": [], @@ -17030,75 +18947,185 @@ exports[`Cookbook > Testing normalize %p (%p) 0040-image-rotation-service-manife "services": [], "start": null, "structures": [], - "summary": null, + "summary": { + "en": [ + "Playbill for "Akiba gongen kaisen-banashi," "Futatsu chōchō kuruwa nikki" and "Godairiki koi no fūjime" performed at the Chikugo Theater in Osaka from the fifth month of Kaei 2 (May, 1849); main actors: Gadō Kataoka II, Ebizō Ichikawa VI, Kitō Sawamura II, Daigorō Mimasu IV and Karoku Nakamura I; on front cover: producer Mominosuke Ichikawa's crest.", + ], + }, "thumbnail": [], "type": "Manifest", - "viewingDirection": "left-to-right", + "viewingDirection": "right-to-left", }, }, "Range": {}, "Selector": {}, "Service": { - "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1": { - "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1", + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005", "profile": "level1", "type": "ImageService3", }, }, - }, - "mapping": { - "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-service.json ": "Manifest", - "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1": "AnnotationPage", - "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1/full/max/0/default.jpg": "ContentResource", - }, - "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-service.json ", - "type": "Manifest", - }, -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0040-image-rotation-service-manifest-service https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-service.json 2`] = ` -{ - "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-service.json ", - "items": [ + }, + "mapping": { + "https://fixtures.iiif.io/other/UCLA/kabuki_ezukushi_rtl.pdf": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0002-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0003-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0004-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0005-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p2": "Canvas", + "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p3": "Canvas", + "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p4": "Canvas", + "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p5": "Canvas", + "https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p1/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p2/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p3/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p4/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p5/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg": "ContentResource", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json", + "type": "Manifest", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0046-rendering-manifest https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json", + "items": [ + { + "height": 4823, + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p1/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 4823, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 3497, + }, + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0001-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p1", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "front cover", + ], + }, + "type": "Canvas", + "width": 3497, + }, + { + "height": 4804, + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p2", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p2/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 4804, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 6062, + }, + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0002-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p2", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "pages 1–2", + ], + }, + "type": "Canvas", + "width": 6062, + }, { - "height": 1523, - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", + "height": 4776, + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p3", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p3/1", "items": [ { "body": { - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/body/v0001-image", - "selector": { - "@context": "http://iiif.io/api/annex/openannotation/context.json", - "rotation": "90", - "type": "iiif:ImageApiSelector", - }, - "source": { - "format": "image/jpeg", - "height": 2105, - "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/85a96c630f077e6ac6cb984f1b752bbf-0-21198-zz00022840-1-page1", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 1523, - }, - "type": "SpecificResource", + "format": "image/jpeg", + "height": 4776, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 6127, }, - "id": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/annotation/v0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0003-image", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/canvas/p1", + "target": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p3", "type": "Annotation", }, ], @@ -17107,147 +19134,135 @@ exports[`Cookbook > Testing normalize %p (%p) 0040-image-rotation-service-manife ], "label": { "en": [ - "inside cover; 1r", + "pages 3–4", ], }, "type": "Canvas", - "width": 2105, + "width": 6127, }, - ], - "label": { - "ca": [ - "[Conoximent de las orines] Ihesus, Ihesus. En nom de Deu et dela beneyeta sa mare e de tots los angels i archangels e de tots los sants e santes de paradis yo micer Johannes comense aquest libre de reseptes en l’ayn Mi 466.", - ], - }, - "type": "Manifest", -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0046-rendering https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json 1`] = ` -{ - "entities": { - "Agent": {}, - "Annotation": { - "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0001-image": { - "body": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", - "type": "ContentResource", - }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0001-image", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0001-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p1/1", - "type": "Annotation", - }, - ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p1", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", - }, - "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0002-image": { - "body": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg", - "type": "ContentResource", - }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0002-image", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0002-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p2/1", - "type": "Annotation", - }, - ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p2", - "type": "Canvas", - }, - "type": "SpecificResource", + { + "height": 4751, + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p4", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p4/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 4751, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 6124, + }, + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0004-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p4", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", }, - "type": "Annotation", - }, - "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0003-image": { - "body": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg", - "type": "ContentResource", - }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0003-image", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0003-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p3/1", - "type": "Annotation", - }, - ], - "motivation": [ - "painting", + ], + "label": { + "en": [ + "pages 5–6", ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p3", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0004-image": { - "body": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg", - "type": "ContentResource", - }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0004-image", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0004-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p4/1", - "type": "Annotation", - }, - ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p4", - "type": "Canvas", - }, - "type": "SpecificResource", + "type": "Canvas", + "width": 6124, + }, + { + "height": 4808, + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p5", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p5/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 4808, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 3510, + }, + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0005-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p5", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", }, - "type": "Annotation", + ], + "label": { + "en": [ + "back cover", + ], }, - "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0005-image": { + "type": "Canvas", + "width": 3510, + }, + ], + "label": { + "en": [ + "Alternative Representations Through Rendering", + ], + }, + "rendering": [ + { + "format": "application/pdf", + "id": "https://fixtures.iiif.io/other/UCLA/kabuki_ezukushi_rtl.pdf", + "label": { + "en": [ + "PDF version", + ], + }, + "type": "Text", + }, + ], + "summary": { + "en": [ + "Playbill for "Akiba gongen kaisen-banashi," "Futatsu chōchō kuruwa nikki" and "Godairiki koi no fūjime" performed at the Chikugo Theater in Osaka from the fifth month of Kaei 2 (May, 1849); main actors: Gadō Kataoka II, Ebizō Ichikawa VI, Kitō Sawamura II, Daigorō Mimasu IV and Karoku Nakamura I; on front cover: producer Mominosuke Ichikawa's crest.", + ], + }, + "type": "Manifest", + "viewingDirection": "right-to-left", +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0047-homepage-manifest https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1/annotation/1": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/!500,500/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0005-image", + "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1/annotation/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0005-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p5/1", + "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1/annotation/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1", "type": "Annotation", }, ], @@ -17255,289 +19270,36 @@ exports[`Cookbook > Testing normalize %p (%p) 0046-rendering https://iiif.io/api "painting", ], "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p5", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", - }, - }, - "AnnotationCollection": {}, - "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p1/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p1/1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p1/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p1", - "type": "AnnotationPage", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0001-image", - "type": "Annotation", - }, - ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", - }, - "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p2/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p2/1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p2/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p2", - "type": "AnnotationPage", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0002-image", - "type": "Annotation", - }, - ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", - }, - "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p3/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p3/1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p3/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p3", - "type": "AnnotationPage", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0003-image", - "type": "Annotation", - }, - ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", - }, - "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p4/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p4/1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p4/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p4", - "type": "AnnotationPage", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0004-image", - "type": "Annotation", - }, - ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", - }, - "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p5/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p5/1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p5/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p5", - "type": "AnnotationPage", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0005-image", - "type": "Annotation", - }, - ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", - }, - }, - "Canvas": { - "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p1": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 4823, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p1/1", - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "front cover", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 3497, - }, - "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p2": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 4804, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p2", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p2/1", - "type": "AnnotationPage", + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1", + "type": "Canvas", }, - ], - "label": { - "en": [ - "pages 1–2", - ], + "type": "SpecificResource", }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 6062, + "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p3": { - "accompanyingCanvas": null, - "annotations": [], + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1": { "behavior": [], - "duration": 0, - "height": 4776, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p3", - "items": [ + "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p3/1", + "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1", "type": "AnnotationPage", }, ], - "label": { - "en": [ - "pages 3–4", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 6127, - }, - "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p4": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 4751, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p4", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p4/1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1/annotation/1", + "type": "Annotation", }, ], - "label": { - "en": [ - "pages 5–6", - ], - }, + "label": null, "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, @@ -17546,26 +19308,27 @@ exports[`Cookbook > Testing normalize %p (%p) 0046-rendering https://iiif.io/api "service": [], "summary": null, "thumbnail": [], - "type": "Canvas", - "width": 6124, + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p5": { + }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1": { "accompanyingCanvas": null, "annotations": [], "behavior": [], "duration": 0, - "height": 4808, + "height": 3000, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p5", + "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p5/1", + "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1", "type": "AnnotationPage", }, ], "label": { - "en": [ - "back cover", + "none": [ + "Front", ], }, "metadata": [], @@ -17581,174 +19344,82 @@ exports[`Cookbook > Testing normalize %p (%p) 0046-rendering https://iiif.io/api "summary": null, "thumbnail": [], "type": "Canvas", - "width": 3510, + "width": 2315, }, }, "Collection": {}, "ContentResource": { - "https://fixtures.iiif.io/other/UCLA/kabuki_ezukushi_rtl.pdf": { - "format": "application/pdf", - "id": "https://fixtures.iiif.io/other/UCLA/kabuki_ezukushi_rtl.pdf", - "iiif-parser:hasPart": [ - { - "id": "https://fixtures.iiif.io/other/UCLA/kabuki_ezukushi_rtl.pdf", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json", - "type": "Text", - }, - ], - "label": { - "en": [ - "PDF version", - ], - }, - "type": "Text", - }, - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 4823, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0001-image", - "type": "Image", - }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 3497, - }, - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 4804, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0002-image", - "type": "Image", - }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 6062, - }, - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 4776, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0003-image", - "type": "Image", - }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 6127, - }, - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg": { + "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/!500,500/0/default.jpg": { "format": "image/jpeg", - "height": 4751, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg", + "height": 3000, + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/!500,500/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0004-image", + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/!500,500/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1/annotation/1", "type": "Image", }, ], "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004", + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 6124, + "width": 2315, }, - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 4808, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg", + "https://www.getty.edu/art/collection/object/103RQQ": { + "format": "text/html", + "id": "https://www.getty.edu/art/collection/object/103RQQ", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0005-image", - "type": "Image", + "id": "https://www.getty.edu/art/collection/object/103RQQ", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json", + "type": "Text", }, ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005", - "profile": "level1", - "type": "ImageService3", - }, + "label": { + "en": [ + "Home page at the Getty Museum Collection", + ], + }, + "language": [ + "en", ], - "type": "Image", - "width": 3510, + "type": "Text", }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json": { + "https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json": { "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json", + "homepage": [ + { + "id": "https://www.getty.edu/art/collection/object/103RQQ", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p1", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p2", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p3", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p4", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p5", + "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1", "type": "Canvas", }, ], "label": { - "en": [ - "Alternative Representations Through Rendering", + "none": [ + "Laocöon", ], }, "metadata": [], @@ -17756,12 +19427,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0046-rendering https://iiif.io/api "partOf": [], "placeholderCanvas": null, "provider": [], - "rendering": [ - { - "id": "https://fixtures.iiif.io/other/UCLA/kabuki_ezukushi_rtl.pdf", - "type": "ContentResource", - }, - ], + "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], @@ -17769,263 +19435,82 @@ exports[`Cookbook > Testing normalize %p (%p) 0046-rendering https://iiif.io/api "services": [], "start": null, "structures": [], - "summary": { - "en": [ - "Playbill for "Akiba gongen kaisen-banashi," "Futatsu chōchō kuruwa nikki" and "Godairiki koi no fūjime" performed at the Chikugo Theater in Osaka from the fifth month of Kaei 2 (May, 1849); main actors: Gadō Kataoka II, Ebizō Ichikawa VI, Kitō Sawamura II, Daigorō Mimasu IV and Karoku Nakamura I; on front cover: producer Mominosuke Ichikawa's crest.", - ], - }, + "summary": null, "thumbnail": [], "type": "Manifest", - "viewingDirection": "right-to-left", + "viewingDirection": "left-to-right", }, }, "Range": {}, "Selector": {}, "Service": { - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001": { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002": { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003": { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004": { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005": { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005", + "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon": { + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", "profile": "level1", "type": "ImageService3", }, }, }, "mapping": { - "https://fixtures.iiif.io/other/UCLA/kabuki_ezukushi_rtl.pdf": "ContentResource", - "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0001-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0002-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0003-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0004-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0005-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p2": "Canvas", - "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p3": "Canvas", - "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p4": "Canvas", - "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p5": "Canvas", - "https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p1/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p2/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p3/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p4/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p5/1": "AnnotationPage", - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1/annotation/1": "Annotation", + "https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json": "Manifest", + "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/!500,500/0/default.jpg": "ContentResource", + "https://www.getty.edu/art/collection/object/103RQQ": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json", "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0046-rendering https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0047-homepage-manifest https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json", - "items": [ - { - "height": 4823, - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p1/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 4823, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 3497, - }, - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0001-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p1", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "front cover", - ], - }, - "type": "Canvas", - "width": 3497, - }, - { - "height": 4804, - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p2", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p2/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 4804, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 6062, - }, - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0002-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p2", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "pages 1–2", - ], - }, - "type": "Canvas", - "width": 6062, - }, + "homepage": [ { - "height": 4776, - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p3", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p3/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 4776, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 6127, - }, - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0003-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p3", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], + "format": "text/html", + "id": "https://www.getty.edu/art/collection/object/103RQQ", "label": { "en": [ - "pages 3–4", + "Home page at the Getty Museum Collection", ], }, - "type": "Canvas", - "width": 6127, - }, - { - "height": 4751, - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p4", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p4/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 4751, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 6124, - }, - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0004-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p4", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, + "language": [ + "en", ], - "label": { - "en": [ - "pages 5–6", - ], - }, - "type": "Canvas", - "width": 6124, + "type": "Text", }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json", + "items": [ { - "height": 4808, - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p5", + "height": 3000, + "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p5/1", + "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1", "items": [ { "body": { "format": "image/jpeg", - "height": 4808, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg", + "height": 3000, + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/!500,500/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005", + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 3510, + "width": 2315, }, - "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0005-image", + "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1/annotation/1", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p5", + "target": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1", "type": "Annotation", }, ], @@ -18033,90 +19518,296 @@ exports[`Cookbook > Testing normalize %p (%p) 0046-rendering https://iiif.io/api }, ], "label": { - "en": [ - "back cover", + "none": [ + "Front", ], }, "type": "Canvas", - "width": 3510, + "width": 2315, }, ], "label": { - "en": [ - "Alternative Representations Through Rendering", - ], - }, - "rendering": [ - { - "format": "application/pdf", - "id": "https://fixtures.iiif.io/other/UCLA/kabuki_ezukushi_rtl.pdf", - "label": { - "en": [ - "PDF version", - ], - }, - "type": "Text", - }, - ], - "summary": { - "en": [ - "Playbill for "Akiba gongen kaisen-banashi," "Futatsu chōchō kuruwa nikki" and "Godairiki koi no fūjime" performed at the Chikugo Theater in Osaka from the fifth month of Kaei 2 (May, 1849); main actors: Gadō Kataoka II, Ebizō Ichikawa VI, Kitō Sawamura II, Daigorō Mimasu IV and Karoku Nakamura I; on front cover: producer Mominosuke Ichikawa's crest.", + "none": [ + "Laocöon", ], }, "type": "Manifest", - "viewingDirection": "right-to-left", } `; -exports[`Cookbook > Testing normalize %p (%p) 0047-homepage https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0053-seeAlso-manifest https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1/annotation/1": { + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0001-image": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/!500,500/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1/annotation/1", + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0001-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p1/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0002-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0002-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0002-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p2/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p2", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0003-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0003-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0003-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p3/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p3", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0004-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0004-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0004-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p4/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p4", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0005-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0005-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0005-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p5/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p5", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p1/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p1/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p1", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0001-image", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p2/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p2/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p2/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p2", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0002-image", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p3/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p3/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p3/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p3", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0003-image", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p4/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p4/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1/annotation/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1", + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p4/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p4", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0004-image", "type": "Annotation", }, ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", }, - }, - "AnnotationCollection": {}, - "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1": { + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p5/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1", + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p5/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1", + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p5/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p5", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1/annotation/1", + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0005-image", "type": "Annotation", }, ], @@ -18134,23 +19825,23 @@ exports[`Cookbook > Testing normalize %p (%p) 0047-homepage https://iiif.io/api/ }, }, "Canvas": { - "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1": { + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p1": { "accompanyingCanvas": null, "annotations": [], "behavior": [], "duration": 0, - "height": 3000, + "height": 4823, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1", + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1", + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p1/1", "type": "AnnotationPage", }, ], "label": { - "none": [ - "Front", + "en": [ + "front cover", ], }, "metadata": [], @@ -18166,82 +19857,311 @@ exports[`Cookbook > Testing normalize %p (%p) 0047-homepage https://iiif.io/api/ "summary": null, "thumbnail": [], "type": "Canvas", - "width": 2315, + "width": 3497, + }, + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p2": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 4804, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p2", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p2/1", + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "pages 1–2", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 6062, + }, + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p3": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 4776, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p3", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p3/1", + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "pages 3–4", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 6127, + }, + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p4": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 4751, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p4", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p4/1", + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "pages 5–6", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 6124, + }, + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p5": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 4808, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p5", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p5/1", + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "back cover", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 3510, + }, + }, + "Collection": {}, + "ContentResource": { + "https://fixtures.iiif.io/other/UCLA/ezukushi_mods.xml": { + "format": "text/xml", + "id": "https://fixtures.iiif.io/other/UCLA/ezukushi_mods.xml", + "iiif-parser:hasPart": [ + { + "id": "https://fixtures.iiif.io/other/UCLA/ezukushi_mods.xml", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json", + "type": "Dataset", + }, + ], + "label": { + "en": [ + "MODS metadata", + ], + }, + "profile": "http://www.loc.gov/mods/v3", + "type": "Dataset", + }, + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4823, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0001-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 3497, + }, + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4804, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0002-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 6062, + }, + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4776, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0003-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 6127, }, - }, - "Collection": {}, - "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/!500,500/0/default.jpg": { + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg": { "format": "image/jpeg", - "height": 3000, - "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/!500,500/0/default.jpg", + "height": 4751, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/!500,500/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1/annotation/1", + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0004-image", "type": "Image", }, ], "service": [ { - "@id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", - "@type": "ImageService3", - "profile": "http://iiif.io/api/image/2/level1.json", + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004", + "profile": "level1", + "type": "ImageService3", }, ], "type": "Image", - "width": 2315, + "width": 6124, }, - "https://www.getty.edu/art/collection/object/103RQQ": { - "format": "text/html", - "id": "https://www.getty.edu/art/collection/object/103RQQ", + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4808, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://www.getty.edu/art/collection/object/103RQQ", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json", - "type": "Text", + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0005-image", + "type": "Image", }, ], - "label": { - "en": [ - "Home page at the Getty Museum Collection", - ], - }, - "language": [ - "en", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005", + "profile": "level1", + "type": "ImageService3", + }, ], - "type": "Text", + "type": "Image", + "width": 3510, }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json": { + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json": { "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], - "homepage": [ - { - "id": "https://www.getty.edu/art/collection/object/103RQQ", - "type": "ContentResource", - }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json", + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1", + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p1", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p2", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p3", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p4", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p5", "type": "Canvas", }, ], "label": { - "none": [ - "Laocöon", + "en": [ + "Linking to Structured Metadata", ], }, "metadata": [], @@ -18252,89 +20172,273 @@ exports[`Cookbook > Testing normalize %p (%p) 0047-homepage https://iiif.io/api/ "rendering": [], "requiredStatement": null, "rights": null, - "seeAlso": [], + "seeAlso": [ + { + "id": "https://fixtures.iiif.io/other/UCLA/ezukushi_mods.xml", + "type": "ContentResource", + }, + ], "service": [], "services": [], "start": null, "structures": [], - "summary": null, + "summary": { + "en": [ + "Playbill for "Akiba gongen kaisen-banashi," "Futatsu chōchō kuruwa nikki" and "Godairiki koi no fūjime" performed at the Chikugo Theater in Osaka from the fifth month of Kaei 2 (May, 1849); main actors: Gadō Kataoka II, Ebizō Ichikawa VI, Kitō Sawamura II, Daigorō Mimasu IV and Karoku Nakamura I; on front cover: producer Mominosuke Ichikawa's crest.", + ], + }, "thumbnail": [], "type": "Manifest", - "viewingDirection": "left-to-right", + "viewingDirection": "right-to-left", + }, + }, + "Range": {}, + "Selector": {}, + "Service": { + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005", + "profile": "level1", + "type": "ImageService3", + }, + }, + }, + "mapping": { + "https://fixtures.iiif.io/other/UCLA/ezukushi_mods.xml": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0002-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0003-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0004-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0005-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p2": "Canvas", + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p3": "Canvas", + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p4": "Canvas", + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p5": "Canvas", + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p1/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p2/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p3/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p4/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p5/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg": "ContentResource", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json", + "type": "Manifest", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0053-seeAlso-manifest https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json", + "items": [ + { + "height": 4823, + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p1/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 4823, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 3497, + }, + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0001-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p1", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "front cover", + ], + }, + "type": "Canvas", + "width": 3497, + }, + { + "height": 4804, + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p2", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p2/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 4804, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 6062, + }, + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0002-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p2", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "pages 1–2", + ], }, + "type": "Canvas", + "width": 6062, }, - "Range": {}, - "Selector": {}, - "Service": { - "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon": { - "@id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", - "@type": "ImageService3", - "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", - "profile": "http://iiif.io/api/image/2/level1.json", - "type": "ImageService3", + { + "height": 4776, + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p3", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p3/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 4776, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 6127, + }, + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0003-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p3", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "pages 3–4", + ], }, + "type": "Canvas", + "width": 6127, }, - }, - "mapping": { - "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1/annotation/1": "Annotation", - "https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json": "Manifest", - "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/!500,500/0/default.jpg": "ContentResource", - "https://www.getty.edu/art/collection/object/103RQQ": "ContentResource", - }, - "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json", - "type": "Manifest", - }, -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0047-homepage https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json 2`] = ` -{ - "@context": "http://iiif.io/api/presentation/3/context.json", - "homepage": [ { - "format": "text/html", - "id": "https://www.getty.edu/art/collection/object/103RQQ", + "height": 4751, + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p4", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p4/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 4751, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 6124, + }, + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0004-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p4", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], "label": { "en": [ - "Home page at the Getty Museum Collection", + "pages 5–6", ], }, - "language": [ - "en", - ], - "type": "Text", + "type": "Canvas", + "width": 6124, }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json", - "items": [ { - "height": 3000, - "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1", + "height": 4808, + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p5", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1", + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p5/1", "items": [ { "body": { "format": "image/jpeg", - "height": 3000, - "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/!500,500/0/default.jpg", + "height": 4808, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg", "service": [ { - "@id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", - "@type": "ImageService3", - "profile": "http://iiif.io/api/image/2/level1.json", + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005", + "profile": "level1", + "type": "ImageService3", }, ], "type": "Image", - "width": 2315, + "width": 3510, }, - "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1/annotation/1", + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0005-image", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1", + "target": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p5", "type": "Annotation", }, ], @@ -18342,40 +20446,59 @@ exports[`Cookbook > Testing normalize %p (%p) 0047-homepage https://iiif.io/api/ }, ], "label": { - "none": [ - "Front", + "en": [ + "back cover", ], }, "type": "Canvas", - "width": 2315, + "width": 3510, }, ], "label": { - "none": [ - "Laocöon", + "en": [ + "Linking to Structured Metadata", + ], + }, + "seeAlso": [ + { + "format": "text/xml", + "id": "https://fixtures.iiif.io/other/UCLA/ezukushi_mods.xml", + "label": { + "en": [ + "MODS metadata", + ], + }, + "profile": "http://www.loc.gov/mods/v3", + "type": "Dataset", + }, + ], + "summary": { + "en": [ + "Playbill for "Akiba gongen kaisen-banashi," "Futatsu chōchō kuruwa nikki" and "Godairiki koi no fūjime" performed at the Chikugo Theater in Osaka from the fifth month of Kaei 2 (May, 1849); main actors: Gadō Kataoka II, Ebizō Ichikawa VI, Kitō Sawamura II, Daigorō Mimasu IV and Karoku Nakamura I; on front cover: producer Mominosuke Ichikawa's crest.", ], }, "type": "Manifest", + "viewingDirection": "right-to-left", } `; -exports[`Cookbook > Testing normalize %p (%p) 0053-seeAlso https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0064-opera-one-canvas-manifest https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0001-image": { + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/1": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0001-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1", "type": "Annotation", }, ], @@ -18383,26 +20506,30 @@ exports[`Cookbook > Testing normalize %p (%p) 0053-seeAlso https://iiif.io/api/c "painting", ], "target": { + "selector": { + "type": "FragmentSelector", + "value": "t=0,3971.24", + }, "source": { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", "type": "Canvas", }, "type": "SpecificResource", }, "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0002-image": { + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/2": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg", + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0002-image", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/2", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0002-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p2/1", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/2", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1", "type": "Annotation", }, ], @@ -18410,262 +20537,375 @@ exports[`Cookbook > Testing normalize %p (%p) 0053-seeAlso https://iiif.io/api/c "painting", ], "target": { + "selector": { + "type": "FragmentSelector", + "value": "t=3971.24", + }, "source": { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p2", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", "type": "Canvas", }, "type": "SpecificResource", }, "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0003-image": { - "body": [ + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg", - "type": "ContentResource", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", + "type": "AnnotationPage", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0003-image", - "iiif-parser:hasPart": [ + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0003-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p3/1", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/1", "type": "Annotation", }, - ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p3", - "type": "Canvas", + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/2", + "type": "Annotation", }, - "type": "SpecificResource", - }, - "type": "Annotation", + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0004-image": { - "body": [ + }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 7278.422, + "height": 1080, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1", + "type": "AnnotationPage", + }, + ], + "label": null, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg", + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0004-image", + "type": "Canvas", + "width": 1920, + }, + }, + "Collection": {}, + "ContentResource": { + "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png": { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0004-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p4/1", - "type": "Annotation", + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", + "type": "Image", }, ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p4", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", + "type": "Image", }, - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0005-image": { - "body": [ + "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4": { + "duration": 3971.24, + "format": "video/mp4", + "height": 1080, + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg", - "type": "ContentResource", + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/1", + "type": "Video", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0005-image", + "type": "Video", + "width": 1920, + }, + "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4": { + "duration": 3307.22, + "format": "video/mp4", + "height": 1080, + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0005-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p5/1", - "type": "Annotation", + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/2", + "type": "Video", }, ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p5", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", + "type": "Video", + "width": 1920, }, }, - "AnnotationCollection": {}, - "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p1/1": { + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", + "accompanyingCanvas": null, + "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p1/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json", + "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0001-image", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", + "type": "Canvas", }, ], - "label": null, - "metadata": [], + "label": { + "en": [ + "The Elixir of Love", + ], + "it": [ + "L'Elisir D'Amore", + ], + }, + "metadata": [ + { + "label": { + "en": [ + "Date Issued", + ], + }, + "value": { + "en": [ + "2019", + ], + }, + }, + { + "label": { + "en": [ + "Publisher", + ], + }, + "value": { + "en": [ + "Indiana University Jacobs School of Music", + ], + }, + }, + ], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], + "services": [], + "start": null, + "structures": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/1", + "type": "Range", + }, + ], "summary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Manifest", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p2/1": { + }, + "Range": { + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=0,302.05": { + "accompanyingCanvas": null, + "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p2/1", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=0,302.05", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p2/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p2", - "type": "AnnotationPage", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0002-image", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=0,302.05", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/3", + "type": "Canvas", }, ], + "items": [], "label": null, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], + "start": null, "summary": null, + "supplementary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Canvas", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p3/1": { + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=302.05,3971.24": { + "accompanyingCanvas": null, + "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p3/1", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=302.05,3971.24", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p3/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p3", - "type": "AnnotationPage", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0003-image", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=302.05,3971.24", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/4", + "type": "Canvas", }, ], + "items": [], "label": null, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], + "start": null, "summary": null, + "supplementary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Canvas", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p4/1": { + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=3971.24,7278.422": { + "accompanyingCanvas": null, + "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p4/1", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=3971.24,7278.422", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p4/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p4", - "type": "AnnotationPage", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0004-image", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=3971.24,7278.422", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/5", + "type": "Canvas", }, ], + "items": [], "label": null, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], + "start": null, "summary": null, + "supplementary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Canvas", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p5/1": { + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/1": { + "accompanyingCanvas": null, + "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p5/1", - "iiif-parser:hasPart": [ + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/1", + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p5/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p5", - "type": "AnnotationPage", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/2", + "type": "Range", }, - ], - "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0005-image", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/5", + "type": "Range", }, ], - "label": null, + "label": { + "it": [ + "Gaetano Donizetti, L'Elisir D'Amore", + ], + }, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], + "start": null, "summary": null, + "supplementary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Range", + "viewingDirection": "left-to-right", }, - }, - "Canvas": { - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p1": { + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/2": { "accompanyingCanvas": null, "annotations": [], "behavior": [], - "duration": 0, - "height": 4823, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/2", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/2", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/1", + "type": "Range", + }, + ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p1/1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/3", + "type": "Range", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/4", + "type": "Range", }, ], "label": { - "en": [ - "front cover", + "it": [ + "Atto Primo", ], }, "metadata": [], @@ -18678,28 +20918,42 @@ exports[`Cookbook > Testing normalize %p (%p) 0053-seeAlso https://iiif.io/api/c "rights": null, "seeAlso": [], "service": [], + "start": null, "summary": null, + "supplementary": null, "thumbnail": [], - "type": "Canvas", - "width": 3497, + "type": "Range", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p2": { + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/3": { "accompanyingCanvas": null, "annotations": [], "behavior": [], - "duration": 0, - "height": 4804, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p2", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/3", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/3", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/2", + "type": "Range", + }, + ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p2/1", - "type": "AnnotationPage", + "selector": { + "type": "FragmentSelector", + "value": "t=0,302.05", + }, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", + "type": "Canvas", + }, + "type": "SpecificResource", }, ], "label": { - "en": [ - "pages 1–2", + "it": [ + "Preludio e Coro d'introduzione – Bel conforto al mietitore", ], }, "metadata": [], @@ -18712,28 +20966,42 @@ exports[`Cookbook > Testing normalize %p (%p) 0053-seeAlso https://iiif.io/api/c "rights": null, "seeAlso": [], "service": [], + "start": null, "summary": null, + "supplementary": null, "thumbnail": [], - "type": "Canvas", - "width": 6062, + "type": "Range", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p3": { + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/4": { "accompanyingCanvas": null, "annotations": [], "behavior": [], - "duration": 0, - "height": 4776, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p3", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/4", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/4", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/2", + "type": "Range", + }, + ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p3/1", - "type": "AnnotationPage", + "selector": { + "type": "FragmentSelector", + "value": "t=302.05,3971.24", + }, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", + "type": "Canvas", + }, + "type": "SpecificResource", }, ], "label": { "en": [ - "pages 3–4", + "Remainder of Atto Primo", ], }, "metadata": [], @@ -18746,28 +21014,42 @@ exports[`Cookbook > Testing normalize %p (%p) 0053-seeAlso https://iiif.io/api/c "rights": null, "seeAlso": [], "service": [], + "start": null, "summary": null, + "supplementary": null, "thumbnail": [], - "type": "Canvas", - "width": 6127, + "type": "Range", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p4": { + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/5": { "accompanyingCanvas": null, "annotations": [], "behavior": [], - "duration": 0, - "height": 4751, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p4", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/5", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/5", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/1", + "type": "Range", + }, + ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p4/1", - "type": "AnnotationPage", + "selector": { + "type": "FragmentSelector", + "value": "t=3971.24,7278.422", + }, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", + "type": "Canvas", + }, + "type": "SpecificResource", }, ], "label": { - "en": [ - "pages 5–6", + "it": [ + "Atto Secondo", ], }, "metadata": [], @@ -18780,212 +21062,343 @@ exports[`Cookbook > Testing normalize %p (%p) 0053-seeAlso https://iiif.io/api/c "rights": null, "seeAlso": [], "service": [], + "start": null, "summary": null, + "supplementary": null, "thumbnail": [], - "type": "Canvas", - "width": 6124, + "type": "Range", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p5": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 4808, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p5", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p5/1", - "type": "AnnotationPage", - }, + }, + "Selector": {}, + "Service": {}, + }, + "mapping": { + "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png": "ContentResource", + "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4": "ContentResource", + "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=0,302.05": "Canvas", + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=302.05,3971.24": "Canvas", + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=3971.24,7278.422": "Canvas", + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/1": "Annotation", + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/2": "Annotation", + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/1": "Range", + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/2": "Range", + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/3": "Range", + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/4": "Range", + "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/5": "Range", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json", + "type": "Manifest", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0064-opera-one-canvas-manifest https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json", + "items": [ + { + "duration": 7278.422, + "height": 1080, + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1", + "items": [ + { + "body": { + "duration": 3971.24, + "format": "video/mp4", + "height": 1080, + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4", + "type": "Video", + "width": 1920, + }, + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/1", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=0,3971.24", + "type": "Annotation", + }, + { + "body": { + "duration": 3307.22, + "format": "video/mp4", + "height": 1080, + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4", + "type": "Video", + "width": 1920, + }, + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/2", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=3971.24", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "thumbnail": [ + { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png", + "type": "Image", + }, + ], + "type": "Canvas", + "width": 1920, + }, + ], + "label": { + "en": [ + "The Elixir of Love", + ], + "it": [ + "L'Elisir D'Amore", + ], + }, + "metadata": [ + { + "label": { + "en": [ + "Date Issued", + ], + }, + "value": { + "en": [ + "2019", ], - "label": { - "en": [ - "back cover", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 3510, }, }, - "Collection": {}, - "ContentResource": { - "https://fixtures.iiif.io/other/UCLA/ezukushi_mods.xml": { - "format": "text/xml", - "id": "https://fixtures.iiif.io/other/UCLA/ezukushi_mods.xml", - "iiif-parser:hasPart": [ - { - "id": "https://fixtures.iiif.io/other/UCLA/ezukushi_mods.xml", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json", - "type": "Dataset", - }, + { + "label": { + "en": [ + "Publisher", ], - "label": { - "en": [ - "MODS metadata", + }, + "value": { + "en": [ + "Indiana University Jacobs School of Music", + ], + }, + }, + ], + "structures": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/2", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/3", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=0,302.05", + "type": "Canvas", + }, + ], + "label": { + "it": [ + "Preludio e Coro d'introduzione – Bel conforto al mietitore", + ], + }, + "type": "Range", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/4", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=302.05,3971.24", + "type": "Canvas", + }, + ], + "label": { + "en": [ + "Remainder of Atto Primo", + ], + }, + "type": "Range", + }, ], + "label": { + "it": [ + "Atto Primo", + ], + }, + "type": "Range", }, - "profile": "http://www.loc.gov/mods/v3", - "type": "Dataset", - }, - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 4823, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0001-image", - "type": "Image", + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/5", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=3971.24,7278.422", + "type": "Canvas", + }, + ], + "label": { + "it": [ + "Atto Secondo", + ], }, + "type": "Range", + }, + ], + "label": { + "it": [ + "Gaetano Donizetti, L'Elisir D'Amore", ], - "service": [ + }, + "type": "Range", + }, + ], + "type": "Manifest", +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0065-opera-multiple-canvases-manifest https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1/annotation/1": { + "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001", - "profile": "level1", - "type": "ImageService3", + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4", + "type": "ContentResource", }, ], - "type": "Image", - "width": 3497, - }, - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 4804, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1/annotation/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0002-image", - "type": "Image", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1/annotation/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1", + "type": "Annotation", }, ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002", - "profile": "level1", - "type": "ImageService3", - }, + "motivation": [ + "painting", ], - "type": "Image", - "width": 6062, + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", }, - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 4776, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg", - "iiif-parser:hasPart": [ + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1/annotation/1": { + "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0003-image", - "type": "Image", + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4", + "type": "ContentResource", }, ], - "service": [ + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1/annotation/1", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003", - "profile": "level1", - "type": "ImageService3", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1/annotation/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1", + "type": "Annotation", }, ], - "type": "Image", - "width": 6127, + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", }, - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 4751, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg", + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0004-image", - "type": "Image", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1", + "type": "AnnotationPage", }, ], - "service": [ + "items": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004", - "profile": "level1", - "type": "ImageService3", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1/annotation/1", + "type": "Annotation", }, ], - "type": "Image", - "width": 6124, + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", }, - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 4808, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0005-image", - "type": "Image", + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2", + "type": "AnnotationPage", }, ], - "service": [ + "items": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005", - "profile": "level1", - "type": "ImageService3", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1/annotation/1", + "type": "Annotation", }, ], - "type": "Image", - "width": 3510, + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", }, }, - "Manifest": { - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json": { - "@context": "http://iiif.io/api/presentation/3/context.json", + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1": { "accompanyingCanvas": null, "annotations": [], "behavior": [], + "duration": 3971.24, + "height": 1080, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json", - "type": "Manifest", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p1", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p2", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p3", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p4", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p5", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1", + "type": "AnnotationPage", }, ], "label": { "en": [ - "Linking to Structured Metadata", + "Atto Primo", ], }, "metadata": [], @@ -18996,436 +21409,502 @@ exports[`Cookbook > Testing normalize %p (%p) 0053-seeAlso https://iiif.io/api/c "rendering": [], "requiredStatement": null, "rights": null, - "seeAlso": [ + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [ { - "id": "https://fixtures.iiif.io/other/UCLA/ezukushi_mods.xml", + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png", "type": "ContentResource", - }, - ], - "service": [], - "services": [], - "start": null, - "structures": [], - "summary": { - "en": [ - "Playbill for "Akiba gongen kaisen-banashi," "Futatsu chōchō kuruwa nikki" and "Godairiki koi no fūjime" performed at the Chikugo Theater in Osaka from the fifth month of Kaei 2 (May, 1849); main actors: Gadō Kataoka II, Ebizō Ichikawa VI, Kitō Sawamura II, Daigorō Mimasu IV and Karoku Nakamura I; on front cover: producer Mominosuke Ichikawa's crest.", - ], - }, - "thumbnail": [], - "type": "Manifest", - "viewingDirection": "right-to-left", - }, - }, - "Range": {}, - "Selector": {}, - "Service": { - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001": { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002": { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003": { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004": { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005": { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005", - "profile": "level1", - "type": "ImageService3", - }, - }, - }, - "mapping": { - "https://fixtures.iiif.io/other/UCLA/ezukushi_mods.xml": "ContentResource", - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0001-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0002-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0003-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0004-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0005-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p2": "Canvas", - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p3": "Canvas", - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p4": "Canvas", - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p5": "Canvas", - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p1/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p2/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p3/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p4/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p5/1": "AnnotationPage", - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg": "ContentResource", - }, - "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json", - "type": "Manifest", - }, -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0053-seeAlso https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json 2`] = ` -{ - "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json", - "items": [ - { - "height": 4823, - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p1/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 4823, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 3497, - }, - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0001-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p1", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "front cover", - ], - }, - "type": "Canvas", - "width": 3497, - }, - { - "height": 4804, - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p2", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p2/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 4804, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 6062, - }, - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0002-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p2", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "pages 1–2", - ], - }, - "type": "Canvas", - "width": 6062, - }, - { - "height": 4776, - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p3", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p3/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 4776, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 6127, - }, - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0003-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p3", - "type": "Annotation", - }, + }, + ], + "type": "Canvas", + "width": 1920, + }, + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 3307.22, + "height": 1080, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1", + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "Atto Secondo", ], - "type": "AnnotationPage", }, - ], - "label": { - "en": [ - "pages 3–4", + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [ + { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act2-thumbnail.png", + "type": "ContentResource", + }, ], + "type": "Canvas", + "width": 1920, }, - "type": "Canvas", - "width": 6127, }, - { - "height": 4751, - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p4", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p4/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 4751, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 6124, - }, - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0004-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p4", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "pages 5–6", + "Collection": {}, + "ContentResource": { + "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png": { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png", + "iiif-parser:hasPart": [ + { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1", + "type": "Image", + }, ], + "type": "Image", + }, + "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act2-thumbnail.png": { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act2-thumbnail.png", + "iiif-parser:hasPart": [ + { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act2-thumbnail.png", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2", + "type": "Image", + }, + ], + "type": "Image", + }, + "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4": { + "duration": 3971.24, + "format": "video/mp4", + "height": 1080, + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4", + "iiif-parser:hasPart": [ + { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1/annotation/1", + "type": "Video", + }, + ], + "type": "Video", + "width": 1920, + }, + "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4": { + "duration": 3307.22, + "format": "video/mp4", + "height": 1080, + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4", + "iiif-parser:hasPart": [ + { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1/annotation/1", + "type": "Video", + }, + ], + "type": "Video", + "width": 1920, }, - "type": "Canvas", - "width": 6124, }, - { - "height": 4808, - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p5", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p5/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 4808, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 3510, - }, - "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0005-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p5", - "type": "Annotation", - }, + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json", + "type": "Manifest", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2", + "type": "Canvas", + }, + ], + "label": { + "en": [ + "The Elixir of Love", + ], + "it": [ + "L'Elisir D'Amore", ], - "type": "AnnotationPage", }, - ], - "label": { - "en": [ - "back cover", + "metadata": [ + { + "label": { + "en": [ + "Date Issued", + ], + }, + "value": { + "en": [ + "2019", + ], + }, + }, + { + "label": { + "en": [ + "Publisher", + ], + }, + "value": { + "en": [ + "Indiana University Jacobs School of Music", + ], + }, + }, ], - }, - "type": "Canvas", - "width": 3510, - }, - ], - "label": { - "en": [ - "Linking to Structured Metadata", - ], - }, - "seeAlso": [ - { - "format": "text/xml", - "id": "https://fixtures.iiif.io/other/UCLA/ezukushi_mods.xml", - "label": { - "en": [ - "MODS metadata", + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "services": [], + "start": null, + "structures": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/1", + "type": "Range", + }, ], + "summary": null, + "thumbnail": [], + "type": "Manifest", + "viewingDirection": "left-to-right", }, - "profile": "http://www.loc.gov/mods/v3", - "type": "Dataset", }, - ], - "summary": { - "en": [ - "Playbill for "Akiba gongen kaisen-banashi," "Futatsu chōchō kuruwa nikki" and "Godairiki koi no fūjime" performed at the Chikugo Theater in Osaka from the fifth month of Kaei 2 (May, 1849); main actors: Gadō Kataoka II, Ebizō Ichikawa VI, Kitō Sawamura II, Daigorō Mimasu IV and Karoku Nakamura I; on front cover: producer Mominosuke Ichikawa's crest.", - ], - }, - "type": "Manifest", - "viewingDirection": "right-to-left", -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0064-opera-one-canvas https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json 1`] = ` -{ - "entities": { - "Agent": {}, - "Annotation": { - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/1": { - "body": [ + "Range": { + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=0,302.05": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=0,302.05", + "iiif-parser:hasPart": [ { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4", - "type": "ContentResource", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=0,302.05", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/3", + "type": "Canvas", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/1", + "items": [], + "label": null, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Canvas", + "viewingDirection": "left-to-right", + }, + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=302.05,3971.24": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=302.05,3971.24", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=302.05,3971.24", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/4", + "type": "Canvas", }, ], - "motivation": [ - "painting", - ], - "target": { - "selector": { - "type": "FragmentSelector", - "value": "t=0,3971.24", - }, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", + "items": [], + "label": null, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Canvas", + "viewingDirection": "left-to-right", + }, + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2#t=0,3307.22": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2#t=0,3307.22", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2#t=0,3307.22", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/5", "type": "Canvas", }, - "type": "SpecificResource", - }, - "type": "Annotation", + ], + "items": [], + "label": null, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Canvas", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/2": { - "body": [ + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/1": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/1", + "items": [ { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4", - "type": "ContentResource", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/2", + "type": "Range", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/5", + "type": "Range", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/2", + "label": { + "it": [ + "Gaetano Donizetti, L'Elisir D'Amore", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Range", + "viewingDirection": "left-to-right", + }, + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/2": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/2", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/2", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/2", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/1", + "type": "Range", }, ], - "motivation": [ - "painting", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/3", + "type": "Range", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/4", + "type": "Range", + }, ], - "target": { - "selector": { - "type": "FragmentSelector", - "value": "t=3971.24", + "label": { + "en": [ + "Atto Primo", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Range", + "viewingDirection": "left-to-right", + }, + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/3": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/3", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/3", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/2", + "type": "Range", }, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", - "type": "Canvas", + ], + "items": [ + { + "selector": { + "type": "FragmentSelector", + "value": "t=0,302.05", + }, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1", + "type": "Canvas", + }, + "type": "SpecificResource", }, - "type": "SpecificResource", + ], + "label": { + "it": [ + "Preludio e Coro d'introduzione – Bel conforto al mietitore", + ], }, - "type": "Annotation", + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "start": null, + "summary": null, + "supplementary": null, + "thumbnail": [], + "type": "Range", + "viewingDirection": "left-to-right", }, - }, - "AnnotationCollection": {}, - "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1": { + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/4": { + "accompanyingCanvas": null, + "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/4", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/4", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/2", + "type": "Range", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/1", - "type": "Annotation", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/2", - "type": "Annotation", + "selector": { + "type": "FragmentSelector", + "value": "t=302.05,3971.24", + }, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1", + "type": "Canvas", + }, + "type": "SpecificResource", }, ], - "label": null, + "label": { + "en": [ + "Remainder of Atto Primo", + ], + }, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], + "start": null, "summary": null, + "supplementary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Range", + "viewingDirection": "left-to-right", }, - }, - "Canvas": { - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1": { + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/5": { "accompanyingCanvas": null, "annotations": [], "behavior": [], - "duration": 7278.422, - "height": 1080, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/5", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/5", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/1", + "type": "Range", + }, + ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1", - "type": "AnnotationPage", + "selector": { + "type": "FragmentSelector", + "value": "t=0,3307.22", + }, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2", + "type": "Canvas", + }, + "type": "SpecificResource", }, ], - "label": null, + "label": { + "en": [ + "Atto Secondo", + ], + }, "metadata": [], "navDate": null, "partOf": [], @@ -19436,302 +21915,380 @@ exports[`Cookbook > Testing normalize %p (%p) 0064-opera-one-canvas https://iiif "rights": null, "seeAlso": [], "service": [], + "start": null, "summary": null, - "thumbnail": [ - { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png", - "type": "ContentResource", - }, - ], - "type": "Canvas", - "width": 1920, + "supplementary": null, + "thumbnail": [], + "type": "Range", + "viewingDirection": "left-to-right", }, }, - "Collection": {}, - "ContentResource": { - "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png": { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png", - "iiif-parser:hasPart": [ - { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", - "type": "Image", - }, + "Selector": {}, + "Service": {}, + }, + "mapping": { + "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png": "ContentResource", + "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act2-thumbnail.png": "ContentResource", + "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4": "ContentResource", + "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=0,302.05": "Canvas", + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=302.05,3971.24": "Canvas", + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1/annotation/1": "Annotation", + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2": "Canvas", + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2#t=0,3307.22": "Canvas", + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1/annotation/1": "Annotation", + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/1": "Range", + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/2": "Range", + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/3": "Range", + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/4": "Range", + "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/5": "Range", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json", + "type": "Manifest", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0065-opera-multiple-canvases-manifest https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json", + "items": [ + { + "duration": 3971.24, + "height": 1080, + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1", + "items": [ + { + "body": { + "duration": 3971.24, + "format": "video/mp4", + "height": 1080, + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4", + "type": "Video", + "width": 1920, + }, + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1/annotation/1", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "Atto Primo", ], - "type": "Image", }, - "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4": { - "duration": 3971.24, - "format": "video/mp4", - "height": 1080, - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4", - "iiif-parser:hasPart": [ - { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/1", - "type": "Video", - }, + "thumbnail": [ + { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png", + "type": "Image", + }, + ], + "type": "Canvas", + "width": 1920, + }, + { + "duration": 3307.22, + "height": 1080, + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1", + "items": [ + { + "body": { + "duration": 3307.22, + "format": "video/mp4", + "height": 1080, + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4", + "type": "Video", + "width": 1920, + }, + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1/annotation/1", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "Atto Secondo", ], - "type": "Video", - "width": 1920, }, - "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4": { - "duration": 3307.22, - "format": "video/mp4", - "height": 1080, - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4", - "iiif-parser:hasPart": [ - { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/2", - "type": "Video", - }, + "thumbnail": [ + { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act2-thumbnail.png", + "type": "Image", + }, + ], + "type": "Canvas", + "width": 1920, + }, + ], + "label": { + "en": [ + "The Elixir of Love", + ], + "it": [ + "L'Elisir D'Amore", + ], + }, + "metadata": [ + { + "label": { + "en": [ + "Date Issued", + ], + }, + "value": { + "en": [ + "2019", ], - "type": "Video", - "width": 1920, }, }, - "Manifest": { - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json": { - "@context": "http://iiif.io/api/presentation/3/context.json", - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json", - "type": "Manifest", - }, + { + "label": { + "en": [ + "Publisher", ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", - "type": "Canvas", - }, + }, + "value": { + "en": [ + "Indiana University Jacobs School of Music", ], - "label": { - "en": [ - "The Elixir of Love", - ], - "it": [ - "L'Elisir D'Amore", - ], - }, - "metadata": [ - { - "label": { - "en": [ - "Date Issued", + }, + }, + ], + "structures": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/2", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/3", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=0,302.05", + "type": "Canvas", + }, ], + "label": { + "it": [ + "Preludio e Coro d'introduzione – Bel conforto al mietitore", + ], + }, + "type": "Range", }, - "value": { - "en": [ - "2019", + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/4", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=302.05,3971.24", + "type": "Canvas", + }, ], + "label": { + "en": [ + "Remainder of Atto Primo", + ], + }, + "type": "Range", }, + ], + "label": { + "en": [ + "Atto Primo", + ], }, - { - "label": { - "en": [ - "Publisher", - ], - }, - "value": { - "en": [ - "Indiana University Jacobs School of Music", - ], + "type": "Range", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/5", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2#t=0,3307.22", + "type": "Canvas", }, + ], + "label": { + "en": [ + "Atto Secondo", + ], }, + "type": "Range", + }, + ], + "label": { + "it": [ + "Gaetano Donizetti, L'Elisir D'Amore", ], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "services": [], - "start": null, - "structures": [ + }, + "type": "Range", + }, + ], + "type": "Manifest", +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0074-multiple-language-captions-manifest https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page/annotation": { + "body": [ { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/1", - "type": "Range", + "id": "https://fixtures.iiif.io/video/europeana/Per_voi_signore_Modelli_francesi.mp4", + "type": "ContentResource", }, ], - "summary": null, - "thumbnail": [], - "type": "Manifest", - "viewingDirection": "left-to-right", - }, - }, - "Range": { - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=0,302.05": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=0,302.05", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page/annotation", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=0,302.05", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/3", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page/annotation", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page", + "type": "Annotation", }, ], - "items": [], - "label": null, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "start": null, - "summary": null, - "supplementary": null, - "thumbnail": [], - "type": "Canvas", - "viewingDirection": "left-to-right", + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=302.05,3971.24": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=302.05,3971.24", + "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/subtitles_captions-files-vtt": { + "body": [ + { + "id": "vault://30199866", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/subtitles_captions-files-vtt", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=302.05,3971.24", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/4", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/subtitles_captions-files-vtt", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/anno/page/1", + "type": "Annotation", }, ], - "items": [], - "label": null, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "start": null, - "summary": null, - "supplementary": null, - "thumbnail": [], - "type": "Canvas", - "viewingDirection": "left-to-right", + "motivation": [ + "supplementing", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=3971.24,7278.422": { - "accompanyingCanvas": null, - "annotations": [], + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=3971.24,7278.422", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=3971.24,7278.422", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/5", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page/annotation", + "type": "Annotation", }, ], - "items": [], "label": null, "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Canvas", - "viewingDirection": "left-to-right", + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/1": { - "accompanyingCanvas": null, - "annotations": [], + "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/anno/page/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/1", - "items": [ + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/anno/page/1", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/2", - "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/anno/page/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas", + "type": "AnnotationPage", }, + ], + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/5", - "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/subtitles_captions-files-vtt", + "type": "Annotation", }, ], - "label": { - "it": [ - "Gaetano Donizetti, L'Elisir D'Amore", - ], - }, + "label": null, "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Range", - "viewingDirection": "left-to-right", + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/2": { + }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas": { "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/2", - "iiif-parser:hasPart": [ + "annotations": [ { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/2", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/1", - "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/anno/page/1", + "type": "AnnotationPage", }, ], + "behavior": [], + "duration": 65, + "height": 384, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/3", - "type": "Range", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/4", - "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page", + "type": "AnnotationPage", }, ], - "label": { - "it": [ - "Atto Primo", - ], - }, + "label": null, "metadata": [], "navDate": null, "partOf": [], @@ -19742,138 +22299,100 @@ exports[`Cookbook > Testing normalize %p (%p) 0064-opera-one-canvas https://iiif "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Range", - "viewingDirection": "left-to-right", + "type": "Canvas", + "width": 288, }, - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/3": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/3", + }, + "Collection": {}, + "ContentResource": { + "https://fixtures.iiif.io/video/europeana/Per_voi_signore_Modelli_francesi.mp4": { + "duration": 65, + "format": "video/mp4", + "height": 384, + "id": "https://fixtures.iiif.io/video/europeana/Per_voi_signore_Modelli_francesi.mp4", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/3", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/2", - "type": "Range", - }, - ], - "items": [ - { - "selector": { - "type": "FragmentSelector", - "value": "t=0,302.05", - }, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", - "type": "Canvas", - }, - "type": "SpecificResource", + "id": "https://fixtures.iiif.io/video/europeana/Per_voi_signore_Modelli_francesi.mp4", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page/annotation", + "type": "Video", }, ], + "type": "Video", + "width": 288, + }, + "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_en.vtt": { + "format": "text/vtt", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_en.vtt", + "label": { + "en": [ + "Captions in WebVTT format", + ], + }, + "language": "en", + "type": "Text", + }, + "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_it.vtt": { + "format": "text/vtt", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_it.vtt", "label": { "it": [ - "Preludio e Coro d'introduzione – Bel conforto al mietitore", + "Sottotitoli in formato WebVTT", ], }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "start": null, - "summary": null, - "supplementary": null, - "thumbnail": [], - "type": "Range", - "viewingDirection": "left-to-right", + "language": "it", + "type": "Text", }, - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/4": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/4", + "vault://30199866": { + "id": "vault://30199866", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/4", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/2", - "type": "Range", + "id": "vault://30199866", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/subtitles_captions-files-vtt", + "type": "Choice", }, ], "items": [ { - "selector": { - "type": "FragmentSelector", - "value": "t=302.05,3971.24", - }, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", - "type": "Canvas", - }, - "type": "SpecificResource", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_en.vtt", + "type": "ContentResource", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_it.vtt", + "type": "ContentResource", }, ], - "label": { - "en": [ - "Remainder of Atto Primo", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "start": null, - "summary": null, - "supplementary": null, - "thumbnail": [], - "type": "Range", - "viewingDirection": "left-to-right", + "type": "Choice", }, - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/5": { + }, + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/5", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/5", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/1", - "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json", + "type": "Manifest", }, ], "items": [ { - "selector": { - "type": "FragmentSelector", - "value": "t=3971.24,7278.422", - }, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", - "type": "Canvas", - }, - "type": "SpecificResource", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas", + "type": "Canvas", }, ], "label": { + "en": [ + "For ladies. French models", + ], "it": [ - "Atto Secondo", + "Per voi signore. Modelli francesi", ], }, "metadata": [], @@ -19882,252 +22401,171 @@ exports[`Cookbook > Testing normalize %p (%p) 0064-opera-one-canvas https://iiif "placeholderCanvas": null, "provider": [], "rendering": [], - "requiredStatement": null, - "rights": null, + "requiredStatement": { + "label": { + "en": [ + "Rights", + ], + }, + "value": { + "en": [ + "All rights reserved Cinecittà Luce spa", + ], + }, + }, + "rights": "http://rightsstatements.org/vocab/InC/1.0/", "seeAlso": [], "service": [], + "services": [], "start": null, + "structures": [], "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Range", + "type": "Manifest", "viewingDirection": "left-to-right", }, }, + "Range": {}, "Selector": {}, "Service": {}, }, "mapping": { - "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png": "ContentResource", - "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4": "ContentResource", - "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4": "ContentResource", - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=0,302.05": "Canvas", - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=302.05,3971.24": "Canvas", - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=3971.24,7278.422": "Canvas", - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/1": "Annotation", - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/2": "Annotation", - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/1": "Range", - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/2": "Range", - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/3": "Range", - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/4": "Range", - "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/5": "Range", + "https://fixtures.iiif.io/video/europeana/Per_voi_signore_Modelli_francesi.mp4": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_en.vtt": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_it.vtt": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas": "Canvas", + "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page/annotation": "Annotation", + "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/anno/page/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/subtitles_captions-files-vtt": "Annotation", + "vault://30199866": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json", "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0064-opera-one-canvas https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0074-multiple-language-captions-manifest https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json", "items": [ { - "duration": 7278.422, - "height": 1080, - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", - "items": [ + "annotations": [ { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/anno/page/1", "items": [ { "body": { - "duration": 3971.24, - "format": "video/mp4", - "height": 1080, - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4", - "type": "Video", - "width": 1920, + "items": [ + { + "format": "text/vtt", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_en.vtt", + "label": { + "en": [ + "Captions in WebVTT format", + ], + }, + "language": "en", + "type": "Text", + }, + { + "format": "text/vtt", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_it.vtt", + "label": { + "it": [ + "Sottotitoli in formato WebVTT", + ], + }, + "language": "it", + "type": "Text", + }, + ], + "type": "Choice", }, - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/1", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=0,3971.24", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/subtitles_captions-files-vtt", + "motivation": "supplementing", + "target": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas", "type": "Annotation", }, + ], + "type": "AnnotationPage", + }, + ], + "duration": 65, + "height": 384, + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page", + "items": [ { "body": { - "duration": 3307.22, + "duration": 65, "format": "video/mp4", - "height": 1080, - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4", + "height": 384, + "id": "https://fixtures.iiif.io/video/europeana/Per_voi_signore_Modelli_francesi.mp4", "type": "Video", - "width": 1920, + "width": 288, }, - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/2", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page/annotation", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=3971.24", + "target": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas", "type": "Annotation", }, ], "type": "AnnotationPage", }, ], - "thumbnail": [ - { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png", - "type": "Image", - }, - ], "type": "Canvas", - "width": 1920, + "width": 288, }, ], "label": { "en": [ - "The Elixir of Love", + "For ladies. French models", ], "it": [ - "L'Elisir D'Amore", + "Per voi signore. Modelli francesi", ], }, - "metadata": [ - { - "label": { - "en": [ - "Date Issued", - ], - }, - "value": { - "en": [ - "2019", - ], - }, - }, - { - "label": { - "en": [ - "Publisher", - ], - }, - "value": { - "en": [ - "Indiana University Jacobs School of Music", - ], - }, + "requiredStatement": { + "label": { + "en": [ + "Rights", + ], }, - ], - "structures": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/2", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/3", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=0,302.05", - "type": "Canvas", - }, - ], - "label": { - "it": [ - "Preludio e Coro d'introduzione – Bel conforto al mietitore", - ], - }, - "type": "Range", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/4", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=302.05,3971.24", - "type": "Canvas", - }, - ], - "label": { - "en": [ - "Remainder of Atto Primo", - ], - }, - "type": "Range", - }, - ], - "label": { - "it": [ - "Atto Primo", - ], - }, - "type": "Range", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/5", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=3971.24,7278.422", - "type": "Canvas", - }, - ], - "label": { - "it": [ - "Atto Secondo", - ], - }, - "type": "Range", - }, + "value": { + "en": [ + "All rights reserved Cinecittà Luce spa", ], - "label": { - "it": [ - "Gaetano Donizetti, L'Elisir D'Amore", - ], - }, - "type": "Range", }, - ], + }, + "rights": "http://rightsstatements.org/vocab/InC/1.0/", "type": "Manifest", } `; -exports[`Cookbook > Testing normalize %p (%p) 0065-opera-multiple-canvases https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0117-add-image-thumbnail-manifest https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1/annotation/1": { - "body": [ - { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4", - "type": "ContentResource", - }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1/annotation/1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1/annotation/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1", - "type": "Annotation", - }, - ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", - }, - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1/annotation/1": { + "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/annotation/p0000-image": { "body": [ { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4", + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1/annotation/1", + "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/annotation/p0000-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1/annotation/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1", + "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/annotation/p0000-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/page/p0/1", "type": "Annotation", }, ], @@ -20136,7 +22574,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0065-opera-multiple-canvases https ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2", + "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/canvas/p0", "type": "Canvas", }, "type": "SpecificResource", @@ -20146,49 +22584,20 @@ exports[`Cookbook > Testing normalize %p (%p) 0065-opera-multiple-canvases https }, "AnnotationCollection": {}, "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1", - "type": "AnnotationPage", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1/annotation/1", - "type": "Annotation", - }, - ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", - }, - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1": { + "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/page/p0/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1", + "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/page/p0/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2", + "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/page/p0/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/canvas/p0", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1/annotation/1", + "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/annotation/p0000-image", "type": "Annotation", }, ], @@ -20206,62 +22615,23 @@ exports[`Cookbook > Testing normalize %p (%p) 0065-opera-multiple-canvases https }, }, "Canvas": { - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 3971.24, - "height": 1080, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1", - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "Atto Primo", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [ - { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png", - "type": "ContentResource", - }, - ], - "type": "Canvas", - "width": 1920, - }, - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2": { + "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/canvas/p0": { "accompanyingCanvas": null, "annotations": [], "behavior": [], - "duration": 3307.22, - "height": 1080, + "duration": 0, + "height": 5312, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2", + "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/canvas/p0", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1", + "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/page/p0/1", "type": "AnnotationPage", }, ], "label": { "en": [ - "Atto Secondo", + "front cover with color bar", ], }, "metadata": [], @@ -20275,169 +22645,105 @@ exports[`Cookbook > Testing normalize %p (%p) 0065-opera-multiple-canvases https "seeAlso": [], "service": [], "summary": null, - "thumbnail": [ - { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act2-thumbnail.png", - "type": "ContentResource", - }, - ], + "thumbnail": [], "type": "Canvas", - "width": 1920, + "width": 4520, }, }, "Collection": {}, "ContentResource": { - "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png": { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png", + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4823, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1", + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json", "type": "Image", }, ], - "type": "Image", - }, - "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act2-thumbnail.png": { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act2-thumbnail.png", - "iiif-parser:hasPart": [ + "service": [ { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act2-thumbnail.png", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2", - "type": "Image", + "extraFormats": [ + "png", + ], + "extraQualities": [ + "default", + "color", + "gray", + ], + "height": 4823, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001", + "profile": "level1", + "protocol": "http://iiif.io/api/image", + "tiles": [ + { + "height": 512, + "scaleFactors": [ + 1, + 2, + 4, + 8, + ], + "width": 512, + }, + ], + "type": "ImageService3", + "width": 3497, }, ], "type": "Image", + "width": 3497, }, - "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4": { - "duration": 3971.24, - "format": "video/mp4", - "height": 1080, - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4", - "iiif-parser:hasPart": [ - { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1/annotation/1", - "type": "Video", - }, - ], - "type": "Video", - "width": 1920, - }, - "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4": { - "duration": 3307.22, - "format": "video/mp4", - "height": 1080, - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4", - "iiif-parser:hasPart": [ - { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1/annotation/1", - "type": "Video", - }, - ], - "type": "Video", - "width": 1920, - }, - }, - "Manifest": { - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json": { - "@context": "http://iiif.io/api/presentation/3/context.json", - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json", + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 5312, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json", - "type": "Manifest", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2", - "type": "Canvas", - }, - ], - "label": { - "en": [ - "The Elixir of Love", - ], - "it": [ - "L'Elisir D'Amore", - ], - }, - "metadata": [ - { - "label": { - "en": [ - "Date Issued", - ], - }, - "value": { - "en": [ - "2019", - ], - }, - }, - { - "label": { - "en": [ - "Publisher", - ], - }, - "value": { - "en": [ - "Indiana University Jacobs School of Music", - ], - }, - }, - ], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "services": [], - "start": null, - "structures": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/1", - "type": "Range", + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/annotation/p0000-image", + "type": "Image", }, ], - "summary": null, - "thumbnail": [], - "type": "Manifest", - "viewingDirection": "left-to-right", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 4520, }, }, - "Range": { - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=0,302.05": { + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=0,302.05", + "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=0,302.05", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/3", + "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json", + "type": "Manifest", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/canvas/p0", "type": "Canvas", }, ], - "items": [], - "label": null, + "label": { + "en": [ + "Playbill Cover with Manifest Thumbnail", + ], + }, "metadata": [], "navDate": null, "partOf": [], @@ -20448,59 +22754,227 @@ exports[`Cookbook > Testing normalize %p (%p) 0065-opera-multiple-canvases https "rights": null, "seeAlso": [], "service": [], + "services": [], "start": null, - "summary": null, - "supplementary": null, - "thumbnail": [], - "type": "Canvas", + "structures": [], + "summary": { + "en": [ + "Cover of playbill for "Akiba gongen kaisen-banashi," "Futatsu chōchō kuruwa nikki" and "Godairiki koi no fūjime" performed at the Chikugo Theater in Osaka from the fifth month of Kaei 2 (May, 1849); main actors: Gadō Kataoka II, Ebizō Ichikawa VI, Kitō Sawamura II, Daigorō Mimasu IV and Karoku Nakamura I; on front cover: producer Mominosuke Ichikawa's crest.", + ], + }, + "thumbnail": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "type": "Manifest", "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=302.05,3971.24": { - "accompanyingCanvas": null, - "annotations": [], + }, + "Range": {}, + "Selector": {}, + "Service": { + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full", + "profile": "level1", + "type": "ImageService3", + }, + }, + }, + "mapping": { + "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/annotation/p0000-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/canvas/p0": "Canvas", + "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/page/p0/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg": "ContentResource", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json", + "type": "Manifest", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0117-add-image-thumbnail-manifest https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json", + "items": [ + { + "height": 5312, + "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/canvas/p0", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/page/p0/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 5312, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 4520, + }, + "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/annotation/p0000-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/canvas/p0", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "front cover with color bar", + ], + }, + "type": "Canvas", + "width": 4520, + }, + ], + "label": { + "en": [ + "Playbill Cover with Manifest Thumbnail", + ], + }, + "summary": { + "en": [ + "Cover of playbill for "Akiba gongen kaisen-banashi," "Futatsu chōchō kuruwa nikki" and "Godairiki koi no fūjime" performed at the Chikugo Theater in Osaka from the fifth month of Kaei 2 (May, 1849); main actors: Gadō Kataoka II, Ebizō Ichikawa VI, Kitō Sawamura II, Daigorō Mimasu IV and Karoku Nakamura I; on front cover: producer Mominosuke Ichikawa's crest.", + ], + }, + "thumbnail": [ + { + "format": "image/jpeg", + "height": 4823, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", + "service": [ + { + "extraFormats": [ + "png", + ], + "extraQualities": [ + "default", + "color", + "gray", + ], + "height": 4823, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001", + "profile": "level1", + "protocol": "http://iiif.io/api/image", + "tiles": [ + { + "height": 512, + "scaleFactors": [ + 1, + 2, + 4, + 8, + ], + "width": 512, + }, + ], + "type": "ImageService3", + "width": 3497, + }, + ], + "type": "Image", + "width": 3497, + }, + ], + "type": "Manifest", +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0118-multivalue-manifest https://iiif.io/api/cookbook/recipe/0118-multivalue/manifest.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1/page/1/annotation/1": { + "body": [ + { + "id": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Whistlers_Mother_high_res.jpg/1114px-Whistlers_Mother_high_res.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1/page/1/annotation/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1/page/1/annotation/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1/page/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1/page/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=302.05,3971.24", + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1/page/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=302.05,3971.24", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/4", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1/page/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1/page/1/annotation/1", + "type": "Annotation", }, ], - "items": [], "label": null, "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Canvas", - "viewingDirection": "left-to-right", + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2#t=0,3307.22": { + }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1": { "accompanyingCanvas": null, "annotations": [], "behavior": [], + "duration": 0, + "height": 991, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2#t=0,3307.22", - "iiif-parser:hasPart": [ + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1", + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2#t=0,3307.22", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/5", - "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1/page/1", + "type": "AnnotationPage", }, ], - "items": [], "label": null, "metadata": [], "navDate": null, @@ -20512,35 +22986,72 @@ exports[`Cookbook > Testing normalize %p (%p) 0065-opera-multiple-canvases https "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], "type": "Canvas", - "viewingDirection": "left-to-right", + "width": 1114, + }, + }, + "Collection": {}, + "ContentResource": { + "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Whistlers_Mother_high_res.jpg/1114px-Whistlers_Mother_high_res.jpg": { + "format": "image/jpeg", + "id": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Whistlers_Mother_high_res.jpg/1114px-Whistlers_Mother_high_res.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Whistlers_Mother_high_res.jpg/1114px-Whistlers_Mother_high_res.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1/page/1/annotation/1", + "type": "Image", + }, + ], + "type": "Image", }, - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/1": { + }, + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0118-multivalue/manifest.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/1", - "items": [ + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/manifest.json", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/2", - "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0118-multivalue/manifest.json", + "type": "Manifest", }, + ], + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/5", - "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1", + "type": "Canvas", }, ], "label": { - "it": [ - "Gaetano Donizetti, L'Elisir D'Amore", + "fr": [ + "Arrangement en gris et noir no 1", ], }, - "metadata": [], + "metadata": [ + { + "label": { + "en": [ + "Alternative titles", + ], + }, + "value": { + "en": [ + "Whistler's Mother", + "Arrangement in Grey and Black No. 1", + ], + "fr": [ + "Portrait de la mère de l'artiste", + "La Mère de Whistler", + ], + }, + }, + ], "navDate": null, "partOf": [], "placeholderCanvas": null, @@ -20550,135 +23061,252 @@ exports[`Cookbook > Testing normalize %p (%p) 0065-opera-multiple-canvases https "rights": null, "seeAlso": [], "service": [], + "services": [], "start": null, - "summary": null, - "supplementary": null, + "structures": [], + "summary": { + "en": [ + "A painting in oil on canvas created by the American-born painter James McNeill Whistler, in 1871.", + ], + }, "thumbnail": [], - "type": "Range", + "type": "Manifest", "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/2": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/2", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/2", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/1", - "type": "Range", - }, + }, + "Range": {}, + "Selector": {}, + "Service": {}, + }, + "mapping": { + "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1/page/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1/page/1/annotation/1": "Annotation", + "https://iiif.io/api/cookbook/recipe/0118-multivalue/manifest.json": "Manifest", + "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Whistlers_Mother_high_res.jpg/1114px-Whistlers_Mother_high_res.jpg": "ContentResource", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/manifest.json", + "type": "Manifest", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0118-multivalue-manifest https://iiif.io/api/cookbook/recipe/0118-multivalue/manifest.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/manifest.json", + "items": [ + { + "height": 991, + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1/page/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "id": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Whistlers_Mother_high_res.jpg/1114px-Whistlers_Mother_high_res.jpg", + "type": "Image", + }, + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1/page/1/annotation/1", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "type": "Canvas", + "width": 1114, + }, + ], + "label": { + "fr": [ + "Arrangement en gris et noir no 1", + ], + }, + "metadata": [ + { + "label": { + "en": [ + "Alternative titles", ], - "items": [ + }, + "value": { + "en": [ + "Whistler's Mother", + "Arrangement in Grey and Black No. 1", + ], + "fr": [ + "Portrait de la mère de l'artiste", + "La Mère de Whistler", + ], + }, + }, + ], + "summary": { + "en": [ + "A painting in oil on canvas created by the American-born painter James McNeill Whistler, in 1871.", + ], + }, + "type": "Manifest", +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0135-annotating-point-in-canvas-manifest https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/manifest.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/annotation/p0002-tag": { + "body": [ { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/3", - "type": "Range", + "id": "vault://5332a945", + "type": "ContentResource", }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/annotation/p0002-tag", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/4", - "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/annotation/p0002-tag", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/page/p2/1", + "type": "Annotation", }, ], "label": { "en": [ - "Atto Primo", + "Annotation containing the name of the place annotated using the PointSelector.", ], }, + "motivation": [ + "tagging", + ], + "target": { + "selector": { + "type": "PointSelector", + "x": 3385, + "y": 1464, + }, + "source": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/canvas.json", + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/content.json": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/content.json", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/content.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/contentPage.json", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/canvas.json", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/contentPage.json": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/contentPage.json", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/contentPage.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/canvas.json", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/content.json", + "type": "Annotation", + }, + ], + "label": null, "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Range", - "viewingDirection": "left-to-right", + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/3": { - "accompanyingCanvas": null, - "annotations": [], + "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/page/p2/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/3", + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/page/p2/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/3", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/2", - "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/page/p2/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/canvas.json", + "type": "AnnotationPage", }, ], "items": [ { - "selector": { - "type": "FragmentSelector", - "value": "t=0,302.05", - }, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1", - "type": "Canvas", - }, - "type": "SpecificResource", + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/annotation/p0002-tag", + "type": "Annotation", }, ], - "label": { - "it": [ - "Preludio e Coro d'introduzione – Bel conforto al mietitore", - ], - }, + "label": null, "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Range", - "viewingDirection": "left-to-right", + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/4": { + }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/canvas.json": { "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/4", - "iiif-parser:hasPart": [ + "annotations": [ { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/4", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/2", - "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/page/p2/1", + "type": "AnnotationPage", }, ], + "behavior": [], + "duration": 0, + "height": 7072, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/canvas.json", "items": [ { - "selector": { - "type": "FragmentSelector", - "value": "t=302.05,3971.24", - }, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1", - "type": "Canvas", - }, - "type": "SpecificResource", + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/contentPage.json", + "type": "AnnotationPage", }, ], "label": { "en": [ - "Remainder of Atto Primo", + "Chesapeake and Ohio Canal Pamphlet", ], }, "metadata": [], @@ -20691,42 +23319,74 @@ exports[`Cookbook > Testing normalize %p (%p) 0065-opera-multiple-canvases https "rights": null, "seeAlso": [], "service": [], - "start": null, "summary": null, - "supplementary": null, "thumbnail": [], - "type": "Range", - "viewingDirection": "left-to-right", + "type": "Canvas", + "width": 5212, }, - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/5": { + }, + "Collection": {}, + "ContentResource": { + "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 7072, + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/content.json", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 5212, + }, + "vault://5332a945": { + "format": "text/plain", + "id": "vault://5332a945", + "iiif-parser:hasPart": [ + { + "id": "vault://5332a945", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/annotation/p0002-tag", + "type": "TextualBody", + }, + ], + "language": "en", + "type": "TextualBody", + "value": "Town Creek Aqueduct", + }, + }, + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/manifest.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/5", + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/5", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/1", - "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/manifest.json", + "type": "Manifest", }, ], "items": [ { - "selector": { - "type": "FragmentSelector", - "value": "t=0,3307.22", - }, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2", - "type": "Canvas", - }, - "type": "SpecificResource", + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/canvas.json", + "type": "Canvas", }, ], "label": { "en": [ - "Atto Secondo", + "Using a point selector for annotating a location on a map.", ], }, "metadata": [], @@ -20739,291 +23399,205 @@ exports[`Cookbook > Testing normalize %p (%p) 0065-opera-multiple-canvases https "rights": null, "seeAlso": [], "service": [], + "services": [], "start": null, - "summary": null, - "supplementary": null, + "structures": [], + "summary": { + "en": [ + "A map containing an point with an annotation of the location.", + ], + }, "thumbnail": [], - "type": "Range", + "type": "Manifest", "viewingDirection": "left-to-right", }, }, + "Range": {}, "Selector": {}, - "Service": {}, + "Service": { + "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674": { + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674", + "profile": "level1", + "type": "ImageService3", + }, + }, }, "mapping": { - "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png": "ContentResource", - "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act2-thumbnail.png": "ContentResource", - "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4": "ContentResource", - "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4": "ContentResource", - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=0,302.05": "Canvas", - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=302.05,3971.24": "Canvas", - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1/annotation/1": "Annotation", - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2": "Canvas", - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2#t=0,3307.22": "Canvas", - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1/annotation/1": "Annotation", - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/1": "Range", - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/2": "Range", - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/3": "Range", - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/4": "Range", - "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/5": "Range", + "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/annotation/p0002-tag": "Annotation", + "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/canvas.json": "Canvas", + "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/content.json": "Annotation", + "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/contentPage.json": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/page/p2/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg": "ContentResource", + "vault://5332a945": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/manifest.json", "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0065-opera-multiple-canvases https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json 2`] = ` -{ - "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json", - "items": [ - { - "duration": 3971.24, - "height": 1080, - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1", - "items": [ - { - "body": { - "duration": 3971.24, - "format": "video/mp4", - "height": 1080, - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4", - "type": "Video", - "width": 1920, - }, - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1/annotation/1", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "Atto Primo", - ], - }, - "thumbnail": [ - { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png", - "type": "Image", - }, - ], - "type": "Canvas", - "width": 1920, - }, - { - "duration": 3307.22, - "height": 1080, - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1", - "items": [ - { - "body": { - "duration": 3307.22, - "format": "video/mp4", - "height": 1080, - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4", - "type": "Video", - "width": 1920, - }, - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1/annotation/1", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "Atto Secondo", - ], - }, - "thumbnail": [ - { - "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act2-thumbnail.png", - "type": "Image", - }, - ], - "type": "Canvas", - "width": 1920, - }, - ], - "label": { - "en": [ - "The Elixir of Love", - ], - "it": [ - "L'Elisir D'Amore", - ], - }, - "metadata": [ - { - "label": { - "en": [ - "Date Issued", - ], - }, - "value": { - "en": [ - "2019", - ], - }, - }, - { - "label": { - "en": [ - "Publisher", - ], - }, - "value": { - "en": [ - "Indiana University Jacobs School of Music", - ], - }, - }, - ], - "structures": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/2", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/3", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=0,302.05", - "type": "Canvas", - }, - ], - "label": { - "it": [ - "Preludio e Coro d'introduzione – Bel conforto al mietitore", - ], - }, - "type": "Range", - }, +exports[`Cookbook > Testing normalize %p (%p) 0135-annotating-point-in-canvas-manifest https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/manifest.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/manifest.json", + "items": [ + { + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/page/p2/1", + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/4", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=302.05,3971.24", - "type": "Canvas", - }, - ], + "body": { + "format": "text/plain", + "language": "en", + "type": "TextualBody", + "value": "Town Creek Aqueduct", + }, + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/annotation/p0002-tag", "label": { "en": [ - "Remainder of Atto Primo", + "Annotation containing the name of the place annotated using the PointSelector.", ], }, - "type": "Range", + "motivation": "tagging", + "target": { + "selector": { + "type": "PointSelector", + "x": 3385, + "y": 1464, + }, + "source": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/canvas.json", + "type": "SpecificResource", + }, + "type": "Annotation", }, ], - "label": { - "en": [ - "Atto Primo", - ], - }, - "type": "Range", + "type": "AnnotationPage", }, + ], + "height": 7072, + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/canvas.json", + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/5", + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/contentPage.json", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2#t=0,3307.22", - "type": "Canvas", + "body": { + "format": "image/jpeg", + "height": 7072, + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 5212, + }, + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/content.json", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/canvas.json", + "type": "Annotation", }, ], - "label": { - "en": [ - "Atto Secondo", - ], - }, - "type": "Range", + "type": "AnnotationPage", }, ], "label": { - "it": [ - "Gaetano Donizetti, L'Elisir D'Amore", + "en": [ + "Chesapeake and Ohio Canal Pamphlet", ], }, - "type": "Range", + "type": "Canvas", + "width": 5212, }, ], + "label": { + "en": [ + "Using a point selector for annotating a location on a map.", + ], + }, + "summary": { + "en": [ + "A map containing an point with an annotation of the location.", + ], + }, "type": "Manifest", } `; -exports[`Cookbook > Testing normalize %p (%p) 0074-multiple-language-captions https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0139-geolocate-canvas-fragment-manifest https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page/annotation": { + "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/content.json": { "body": [ { - "id": "https://fixtures.iiif.io/video/europeana/Per_voi_signore_Modelli_francesi.mp4", + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page/annotation", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/content.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page/annotation", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/content.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/contentPage.json", "type": "Annotation", }, ], + "label": { + "en": [ + "Pamphlet Cover", + ], + }, "motivation": [ "painting", ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json", "type": "Canvas", }, "type": "SpecificResource", }, "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/subtitles_captions-files-vtt": { + "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geoAnno.json": { "body": [ { - "id": "vault://30199866", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geo.json", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/subtitles_captions-files-vtt", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geoAnno.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/subtitles_captions-files-vtt", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/anno/page/1", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geoAnno.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/supplementingPage.json", "type": "Annotation", }, ], + "label": { + "en": [ + "Annotation containing GeoJSON-LD coordinates that place the map depiction onto a Leaflet web map.", + ], + }, "motivation": [ - "supplementing", + "tagging", ], "target": { + "selector": { + "type": "FragmentSelector", + "value": "xywh=920,3600,1510,3000", + }, "source": { - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json", "type": "Canvas", }, "type": "SpecificResource", @@ -21033,20 +23607,20 @@ exports[`Cookbook > Testing normalize %p (%p) 0074-multiple-language-captions ht }, "AnnotationCollection": {}, "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page": { + "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/contentPage.json": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/contentPage.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/contentPage.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page/annotation", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/content.json", "type": "Annotation", }, ], @@ -21062,20 +23636,20 @@ exports[`Cookbook > Testing normalize %p (%p) 0074-multiple-language-captions ht "thumbnail": [], "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/anno/page/1": { + "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/supplementingPage.json": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/anno/page/1", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/supplementingPage.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/anno/page/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/supplementingPage.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/subtitles_captions-files-vtt", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geoAnno.json", "type": "Annotation", }, ], @@ -21093,26 +23667,30 @@ exports[`Cookbook > Testing normalize %p (%p) 0074-multiple-language-captions ht }, }, "Canvas": { - "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas": { + "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json": { "accompanyingCanvas": null, "annotations": [ { - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/anno/page/1", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/supplementingPage.json", "type": "AnnotationPage", }, ], "behavior": [], - "duration": 65, - "height": 384, + "duration": 0, + "height": 7072, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/contentPage.json", "type": "AnnotationPage", }, ], - "label": null, + "label": { + "en": [ + "Chesapeake and Ohio Canal Pamphlet", + ], + }, "metadata": [], "navDate": null, "partOf": [], @@ -21126,97 +23704,101 @@ exports[`Cookbook > Testing normalize %p (%p) 0074-multiple-language-captions ht "summary": null, "thumbnail": [], "type": "Canvas", - "width": 288, + "width": 5212, }, }, "Collection": {}, "ContentResource": { - "https://fixtures.iiif.io/video/europeana/Per_voi_signore_Modelli_francesi.mp4": { - "duration": 65, - "format": "video/mp4", - "height": 384, - "id": "https://fixtures.iiif.io/video/europeana/Per_voi_signore_Modelli_francesi.mp4", + "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geo.json": { + "geometry": { + "coordinates": [ + [ + [ + -77.019853, + 38.913101, + ], + [ + -77.110013, + 38.843254, + ], + [ + -77.284698, + 38.997574, + ], + [ + -77.188911, + 39.062648, + ], + ], + ], + "type": "Polygon", + }, + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geo.json", "iiif-parser:hasPart": [ { - "id": "https://fixtures.iiif.io/video/europeana/Per_voi_signore_Modelli_francesi.mp4", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page/annotation", - "type": "Video", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geo.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geoAnno.json", + "type": "Feature", }, ], - "type": "Video", - "width": 288, - }, - "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_en.vtt": { - "format": "text/vtt", - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_en.vtt", - "label": { - "en": [ - "Captions in WebVTT format", - ], - }, - "language": "en", - "type": "Text", - }, - "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_it.vtt": { - "format": "text/vtt", - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_it.vtt", - "label": { - "it": [ - "Sottotitoli in formato WebVTT", - ], + "properties": { + "label": { + "en": [ + "Targeted Map from Chesapeake and Ohio Canal Pamphlet", + ], + }, }, - "language": "it", - "type": "Text", + "type": "Feature", }, - "vault://30199866": { - "id": "vault://30199866", + "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 7072, + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "vault://30199866", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/subtitles_captions-files-vtt", - "type": "Choice", + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/content.json", + "type": "Image", }, ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_en.vtt", - "type": "ContentResource", - }, + "service": [ { - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_it.vtt", - "type": "ContentResource", + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674", + "profile": "level1", + "type": "ImageService3", }, ], - "type": "Choice", + "type": "Image", + "width": 5212, }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json": { - "@context": "http://iiif.io/api/presentation/3/context.json", + "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json": { + "@context": [ + "http://geojson.org/geojson-ld/geojson-context.jsonld", + "http://iiif.io/api/presentation/3/context.json", + ], "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json", "type": "Canvas", }, ], "label": { "en": [ - "For ladies. French models", - ], - "it": [ - "Per voi signore. Modelli francesi", + "Recipe Manifest for #139", ], }, "metadata": [], @@ -21225,25 +23807,18 @@ exports[`Cookbook > Testing normalize %p (%p) 0074-multiple-language-captions ht "placeholderCanvas": null, "provider": [], "rendering": [], - "requiredStatement": { - "label": { - "en": [ - "Rights", - ], - }, - "value": { - "en": [ - "All rights reserved Cinecittà Luce spa", - ], - }, - }, - "rights": "http://rightsstatements.org/vocab/InC/1.0/", + "requiredStatement": null, + "rights": null, "seeAlso": [], "service": [], "services": [], "start": null, "structures": [], - "summary": null, + "summary": { + "en": [ + "A IIIF Presentation API 3.0 Manifest containing a GeoJSON-LD Web Annotation which targets a Canvas fragment.", + ], + }, "thumbnail": [], "type": "Manifest", "viewingDirection": "left-to-right", @@ -21251,145 +23826,168 @@ exports[`Cookbook > Testing normalize %p (%p) 0074-multiple-language-captions ht }, "Range": {}, "Selector": {}, - "Service": {}, + "Service": { + "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674": { + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674", + "profile": "level1", + "type": "ImageService3", + }, + }, }, "mapping": { - "https://fixtures.iiif.io/video/europeana/Per_voi_signore_Modelli_francesi.mp4": "ContentResource", - "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_en.vtt": "ContentResource", - "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_it.vtt": "ContentResource", - "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas": "Canvas", - "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page/annotation": "Annotation", - "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/anno/page/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/subtitles_captions-files-vtt": "Annotation", - "vault://30199866": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json": "Canvas", + "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/content.json": "Annotation", + "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/contentPage.json": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geo.json": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geoAnno.json": "Annotation", + "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/supplementingPage.json": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json", "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0074-multiple-language-captions https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0139-geolocate-canvas-fragment-manifest https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json 2`] = ` { - "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json", + "@context": [ + "http://geojson.org/geojson-ld/geojson-context.jsonld", + "http://iiif.io/api/presentation/3/context.json", + ], + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json", "items": [ { "annotations": [ { - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/anno/page/1", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/supplementingPage.json", "items": [ { "body": { - "items": [ - { - "format": "text/vtt", - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_en.vtt", - "label": { - "en": [ - "Captions in WebVTT format", + "geometry": { + "coordinates": [ + [ + [ + -77.019853, + 38.913101, ], - }, - "language": "en", - "type": "Text", - }, - { - "format": "text/vtt", - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_it.vtt", - "label": { - "it": [ - "Sottotitoli in formato WebVTT", + [ + -77.110013, + 38.843254, ], - }, - "language": "it", - "type": "Text", + [ + -77.284698, + 38.997574, + ], + [ + -77.188911, + 39.062648, + ], + ], + ], + "type": "Polygon", + }, + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geo.json", + "properties": { + "label": { + "en": [ + "Targeted Map from Chesapeake and Ohio Canal Pamphlet", + ], }, + }, + "type": "Feature", + }, + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geoAnno.json", + "label": { + "en": [ + "Annotation containing GeoJSON-LD coordinates that place the map depiction onto a Leaflet web map.", ], - "type": "Choice", }, - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/subtitles_captions-files-vtt", - "motivation": "supplementing", - "target": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas", + "motivation": "tagging", + "target": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json#xywh=920,3600,1510,3000", "type": "Annotation", }, ], "type": "AnnotationPage", }, ], - "duration": 65, - "height": 384, - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas", + "height": 7072, + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page", + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/contentPage.json", "items": [ { "body": { - "duration": 65, - "format": "video/mp4", - "height": 384, - "id": "https://fixtures.iiif.io/video/europeana/Per_voi_signore_Modelli_francesi.mp4", - "type": "Video", - "width": 288, + "format": "image/jpeg", + "height": 7072, + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 5212, + }, + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/content.json", + "label": { + "en": [ + "Pamphlet Cover", + ], }, - "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page/annotation", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas", + "target": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json", "type": "Annotation", }, ], "type": "AnnotationPage", }, ], + "label": { + "en": [ + "Chesapeake and Ohio Canal Pamphlet", + ], + }, "type": "Canvas", - "width": 288, + "width": 5212, }, ], "label": { "en": [ - "For ladies. French models", - ], - "it": [ - "Per voi signore. Modelli francesi", + "Recipe Manifest for #139", ], }, - "requiredStatement": { - "label": { - "en": [ - "Rights", - ], - }, - "value": { - "en": [ - "All rights reserved Cinecittà Luce spa", - ], - }, + "summary": { + "en": [ + "A IIIF Presentation API 3.0 Manifest containing a GeoJSON-LD Web Annotation which targets a Canvas fragment.", + ], }, - "rights": "http://rightsstatements.org/vocab/InC/1.0/", "type": "Manifest", } `; -exports[`Cookbook > Testing normalize %p (%p) 0117-add-image-thumbnail https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0154-geo-extension-manifest https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/annotation/p0000-image": { + "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno/1": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/annotation/p0000-image", + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/annotation/p0000-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/page/p0/1", + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno-page/1", "type": "Annotation", }, ], @@ -21398,7 +23996,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0117-add-image-thumbnail https://i ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/canvas/p0", + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/canvas/1", "type": "Canvas", }, "type": "SpecificResource", @@ -21408,20 +24006,20 @@ exports[`Cookbook > Testing normalize %p (%p) 0117-add-image-thumbnail https://i }, "AnnotationCollection": {}, "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/page/p0/1": { + "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno-page/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/page/p0/1", + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno-page/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/page/p0/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/canvas/p0", + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno-page/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/canvas/1", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/annotation/p0000-image", + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno/1", "type": "Annotation", }, ], @@ -21439,23 +24037,23 @@ exports[`Cookbook > Testing normalize %p (%p) 0117-add-image-thumbnail https://i }, }, "Canvas": { - "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/canvas/p0": { + "https://iiif.io/api/cookbook/recipe/0154-geo-extension/canvas/1": { "accompanyingCanvas": null, "annotations": [], "behavior": [], "duration": 0, - "height": 5312, + "height": 3000, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/canvas/p0", + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/canvas/1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/page/p0/1", + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno-page/1", "type": "AnnotationPage", }, ], "label": { "en": [ - "front cover with color bar", + "Front of Bronze", ], }, "metadata": [], @@ -21471,104 +24069,91 @@ exports[`Cookbook > Testing normalize %p (%p) 0117-add-image-thumbnail https://i "summary": null, "thumbnail": [], "type": "Canvas", - "width": 4520, + "width": 2315, }, }, "Collection": {}, - "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 300, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json", - "type": "Image", - }, - ], - "service": [ - { - "extraFormats": [ - "jpg", - "png", - ], - "extraQualities": [ - "default", - "color", - "gray", - ], - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001", - "profile": "level1", - "protocol": "http://iiif.io/api/image", - "tiles": [ - { - "height": 512, - "scaleFactors": [ - 1, - 2, - 4, - 8, - ], - "width": 512, - }, - ], - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 219, - }, - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg": { + "ContentResource": { + "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg": { "format": "image/jpeg", - "height": 5312, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg", + "height": 3000, + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/annotation/p0000-image", + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno/1", "type": "Image", }, ], "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full", + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 4520, + "width": 2315, }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json": { - "@context": "http://iiif.io/api/presentation/3/context.json", + "https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json": { + "@context": [ + "http://iiif.io/api/extension/navplace/context.json", + "http://iiif.io/api/presentation/3/context.json", + ], "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/canvas/p0", + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/canvas/1", "type": "Canvas", }, ], "label": { - "en": [ - "Playbill Cover with Manifest Thumbnail", + "it": [ + "Bronzo Laocoonte e i suoi figli", ], }, "metadata": [], "navDate": null, + "navPlace": { + "features": [ + { + "geometry": { + "coordinates": [ + -118.4745559, + 34.0776376, + ], + "type": "Point", + }, + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/feature/1", + "properties": { + "label": { + "en": [ + "The Laocoön Bronze", + ], + "it": [ + "Bronzo Laocoonte e i suoi figli", + ], + }, + }, + "type": "Feature", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/feature-collection/1", + "type": "FeatureCollection", + }, "partOf": [], "placeholderCanvas": null, "provider": [], @@ -21580,17 +24165,8 @@ exports[`Cookbook > Testing normalize %p (%p) 0117-add-image-thumbnail https://i "services": [], "start": null, "structures": [], - "summary": { - "en": [ - "Cover of playbill for "Akiba gongen kaisen-banashi," "Futatsu chōchō kuruwa nikki" and "Godairiki koi no fūjime" performed at the Chikugo Theater in Osaka from the fifth month of Kaei 2 (May, 1849); main actors: Gadō Kataoka II, Ebizō Ichikawa VI, Kitō Sawamura II, Daigorō Mimasu IV and Karoku Nakamura I; on front cover: producer Mominosuke Ichikawa's crest.", - ], - }, - "thumbnail": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", - "type": "ContentResource", - }, - ], + "summary": null, + "thumbnail": [], "type": "Manifest", "viewingDirection": "left-to-right", }, @@ -21598,58 +24174,60 @@ exports[`Cookbook > Testing normalize %p (%p) 0117-add-image-thumbnail https://i "Range": {}, "Selector": {}, "Service": { - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full": { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full", + "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon": { + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", "profile": "level1", "type": "ImageService3", }, }, }, "mapping": { - "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/annotation/p0000-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/canvas/p0": "Canvas", - "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/page/p0/1": "AnnotationPage", - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno-page/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno/1": "Annotation", + "https://iiif.io/api/cookbook/recipe/0154-geo-extension/canvas/1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json": "Manifest", + "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json", "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0117-add-image-thumbnail https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0154-geo-extension-manifest https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json 2`] = ` { - "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json", + "@context": [ + "http://iiif.io/api/extension/navplace/context.json", + "http://iiif.io/api/presentation/3/context.json", + ], + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json", "items": [ { - "height": 5312, - "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/canvas/p0", + "height": 3000, + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/canvas/1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/page/p0/1", + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno-page/1", "items": [ { "body": { "format": "image/jpeg", - "height": 5312, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg", + "height": 3000, + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full", + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 4520, + "width": 2315, }, - "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/annotation/p0000-image", + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno/1", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/canvas/p0", + "target": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/canvas/1", "type": "Annotation", }, ], @@ -21658,82 +24236,174 @@ exports[`Cookbook > Testing normalize %p (%p) 0117-add-image-thumbnail https://i ], "label": { "en": [ - "front cover with color bar", + "Front of Bronze", ], }, "type": "Canvas", - "width": 4520, + "width": 2315, }, ], "label": { - "en": [ - "Playbill Cover with Manifest Thumbnail", + "it": [ + "Bronzo Laocoonte e i suoi figli", ], }, - "summary": { - "en": [ - "Cover of playbill for "Akiba gongen kaisen-banashi," "Futatsu chōchō kuruwa nikki" and "Godairiki koi no fūjime" performed at the Chikugo Theater in Osaka from the fifth month of Kaei 2 (May, 1849); main actors: Gadō Kataoka II, Ebizō Ichikawa VI, Kitō Sawamura II, Daigorō Mimasu IV and Karoku Nakamura I; on front cover: producer Mominosuke Ichikawa's crest.", + "navPlace": { + "features": [ + { + "geometry": { + "coordinates": [ + -118.4745559, + 34.0776376, + ], + "type": "Point", + }, + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/feature/1", + "properties": { + "label": { + "en": [ + "The Laocoön Bronze", + ], + "it": [ + "Bronzo Laocoonte e i suoi figli", + ], + }, + }, + "type": "Feature", + }, ], + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/feature-collection/1", + "type": "FeatureCollection", }, - "thumbnail": [ - { - "format": "image/jpeg", - "height": 300, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", - "service": [ - { - "extraFormats": [ - "jpg", - "png", - ], - "extraQualities": [ - "default", - "color", - "gray", - ], - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001", - "profile": "level1", - "protocol": "http://iiif.io/api/image", - "tiles": [ - { - "height": 512, - "scaleFactors": [ - 1, - 2, - 4, - 8, - ], - "width": 512, - }, - ], - "type": "ImageService3", + "type": "Manifest", +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0202-start-canvas-manifest https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0001-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0001-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p1/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0002-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0002-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0002-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p2/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0003-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0003-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0003-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p3/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p3", + "type": "Canvas", + }, + "type": "SpecificResource", }, - ], - "type": "Image", - "width": 219, - }, - ], - "type": "Manifest", -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0118_multivalue https://iiif.io/api/cookbook/recipe/0118_multivalue/manifest.json 1`] = ` -{ - "entities": { - "Agent": {}, - "Annotation": { - "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1/page/1/annotation/1": { + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0004-image": { "body": [ { - "id": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Whistlers_Mother_high_res.jpg/1114px-Whistlers_Mother_high_res.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0004-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0004-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p4/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p4", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0005-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1/page/1/annotation/1", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0005-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1/page/1/annotation/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1/page/1", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0005-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p5/1", "type": "Annotation", }, ], @@ -21742,7 +24412,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0118_multivalue https://iiif.io/ap ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p5", "type": "Canvas", }, "type": "SpecificResource", @@ -21752,20 +24422,20 @@ exports[`Cookbook > Testing normalize %p (%p) 0118_multivalue https://iiif.io/ap }, "AnnotationCollection": {}, "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1/page/1": { + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p1/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1/page/1", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p1/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1/page/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p1", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1/page/1/annotation/1", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0001-image", "type": "Annotation", }, ], @@ -21781,27 +24451,25 @@ exports[`Cookbook > Testing normalize %p (%p) 0118_multivalue https://iiif.io/ap "thumbnail": [], "type": "AnnotationPage", }, - }, - "Canvas": { - "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1": { - "accompanyingCanvas": null, - "annotations": [], + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p2/1": { "behavior": [], - "duration": 0, - "height": 991, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1", - "items": [ + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p2/1", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1/page/1", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p2/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2", "type": "AnnotationPage", }, ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0002-image", + "type": "Annotation", + }, + ], "label": null, "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, @@ -21810,269 +24478,195 @@ exports[`Cookbook > Testing normalize %p (%p) 0118_multivalue https://iiif.io/ap "service": [], "summary": null, "thumbnail": [], - "type": "Canvas", - "width": 1114, + "type": "AnnotationPage", }, - }, - "Collection": {}, - "ContentResource": { - "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Whistlers_Mother_high_res.jpg/1114px-Whistlers_Mother_high_res.jpg": { - "format": "image/jpeg", - "id": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Whistlers_Mother_high_res.jpg/1114px-Whistlers_Mother_high_res.jpg", + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p3/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p3/1", "iiif-parser:hasPart": [ { - "id": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Whistlers_Mother_high_res.jpg/1114px-Whistlers_Mother_high_res.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1/page/1/annotation/1", - "type": "Image", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p3/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p3", + "type": "AnnotationPage", }, ], - "type": "Image", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0003-image", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", }, - }, - "Manifest": { - "https://iiif.io/api/cookbook/recipe/0118_multivalue/manifest.json": { - "@context": "http://iiif.io/api/presentation/3/context.json", - "accompanyingCanvas": null, - "annotations": [], + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p4/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0118_multivalue/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p4/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0118_multivalue/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0118_multivalue/manifest.json", - "type": "Manifest", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p4/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p4", + "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1", - "type": "Canvas", - }, - ], - "label": { - "fr": [ - "Arrangement en gris et noir no 1", - ], - }, - "metadata": [ - { - "label": { - "en": [ - "Alternative titles", - ], - }, - "value": { - "en": [ - "Whistler's Mother", - "Arrangement in Grey and Black No. 1", - ], - "fr": [ - "Portrait de la mère de l'artiste", - "La Mère de Whistler", - ], - }, + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0004-image", + "type": "Annotation", }, ], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, + "label": null, + "metadata": [], "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], - "services": [], - "start": null, - "structures": [], - "summary": { - "en": [ - "A painting in oil on canvas created by the American-born painter James McNeill Whistler, in 1871.", - ], - }, + "summary": null, "thumbnail": [], - "type": "Manifest", - "viewingDirection": "left-to-right", - }, - }, - "Range": {}, - "Selector": {}, - "Service": {}, - }, - "mapping": { - "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1/page/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1/page/1/annotation/1": "Annotation", - "https://iiif.io/api/cookbook/recipe/0118_multivalue/manifest.json": "Manifest", - "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Whistlers_Mother_high_res.jpg/1114px-Whistlers_Mother_high_res.jpg": "ContentResource", - }, - "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0118_multivalue/manifest.json", - "type": "Manifest", - }, -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0118_multivalue https://iiif.io/api/cookbook/recipe/0118_multivalue/manifest.json 2`] = ` -{ - "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0118_multivalue/manifest.json", - "items": [ - { - "height": 991, - "id": "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1/page/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "id": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Whistlers_Mother_high_res.jpg/1114px-Whistlers_Mother_high_res.jpg", - "type": "Image", - }, - "id": "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1/page/1/annotation/1", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0118_multivalue/canvas/1", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], - "type": "Canvas", - "width": 1114, - }, - ], - "label": { - "fr": [ - "Arrangement en gris et noir no 1", - ], - }, - "metadata": [ - { - "label": { - "en": [ - "Alternative titles", - ], - }, - "value": { - "en": [ - "Whistler's Mother", - "Arrangement in Grey and Black No. 1", - ], - "fr": [ - "Portrait de la mère de l'artiste", - "La Mère de Whistler", - ], - }, - }, - ], - "summary": { - "en": [ - "A painting in oil on canvas created by the American-born painter James McNeill Whistler, in 1871.", - ], - }, - "type": "Manifest", -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0139-geolocate-canvas-fragment https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json 1`] = ` -{ - "entities": { - "Agent": {}, - "Annotation": { - "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/content.json": { - "body": [ + "type": "AnnotationPage", + }, + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p5/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p5/1", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", - "type": "ContentResource", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p5/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p5", + "type": "AnnotationPage", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/content.json", - "iiif-parser:hasPart": [ + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/content.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/contentPage.json", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0005-image", "type": "Annotation", }, ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p1": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 4613, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p1/1", + "type": "AnnotationPage", + }, + ], "label": { "en": [ - "Pamphlet Cover", + "Blank page", ], }, - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 3204, }, - "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geoAnno.json": { - "body": [ + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 4612, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geo.json", - "type": "ContentResource", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json", + "type": "Canvas", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geoAnno.json", - "iiif-parser:hasPart": [ + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geoAnno.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/supplementingPage.json", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p2/1", + "type": "AnnotationPage", }, ], "label": { "en": [ - "Annotation containing GeoJSON-LD coordinates that place the map depiction onto a Leaflet web map.", + "Frontispiece", ], }, - "motivation": [ - "tagging", - ], - "target": { - "selector": { - "type": "FragmentSelector", - "value": "xywh=920,3600,1510,3000", - }, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 3186, }, - }, - "AnnotationCollection": {}, - "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/contentPage.json": { + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p3": { + "accompanyingCanvas": null, + "annotations": [], "behavior": [], + "duration": 0, + "height": 4613, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/contentPage.json", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/contentPage.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json", - "type": "AnnotationPage", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p3", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/content.json", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p3/1", + "type": "AnnotationPage", }, ], - "label": null, + "label": { + "en": [ + "Title page", + ], + }, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, @@ -22081,27 +24675,66 @@ exports[`Cookbook > Testing normalize %p (%p) 0139-geolocate-canvas-fragment htt "service": [], "summary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Canvas", + "width": 3204, }, - "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/supplementingPage.json": { + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p4": { + "accompanyingCanvas": null, + "annotations": [], "behavior": [], + "duration": 0, + "height": 4578, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/supplementingPage.json", - "iiif-parser:hasPart": [ + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p4", + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/supplementingPage.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p4/1", "type": "AnnotationPage", }, ], + "label": { + "en": [ + "Blank page", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 3174, + }, + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p5": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 4632, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p5", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geoAnno.json", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p5/1", + "type": "AnnotationPage", }, ], - "label": null, + "label": { + "en": [ + "Bookplate", + ], + }, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, @@ -22110,142 +24743,158 @@ exports[`Cookbook > Testing normalize %p (%p) 0139-geolocate-canvas-fragment htt "service": [], "summary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Canvas", + "width": 3198, + }, + }, + "Collection": {}, + "ContentResource": { + "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4613, + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0001-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 3204, + }, + "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4612, + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0002-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 3186, }, - }, - "Canvas": { - "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json": { - "accompanyingCanvas": null, - "annotations": [ + "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4613, + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20/full/max/0/default.jpg", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/supplementingPage.json", - "type": "AnnotationPage", + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0003-image", + "type": "Image", }, ], - "behavior": [], - "duration": 0, - "height": 7072, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json", - "items": [ + "service": [ { - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/contentPage.json", - "type": "AnnotationPage", + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20", + "profile": "level1", + "type": "ImageService3", }, ], - "label": { - "en": [ - "Chesapeake and Ohio Canal Pamphlet", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 5212, + "type": "Image", + "width": 3204, }, - }, - "Collection": {}, - "ContentResource": { - "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geo.json": { - "geometry": { - "coordinates": [ - [ - [ - -77.097847, - 38.901359, - ], - [ - -77.02694, - 38.901359, - ], - [ - -77.02694, - 39.03404, - ], - [ - -77.097847, - 39.03404, - ], - ], - ], - "type": "Polygon", - }, - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geo.json", + "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 4578, + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geo.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geoAnno.json", - "type": "Feature", + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0004-image", + "type": "Image", }, ], - "properties": { - "label": { - "en": [ - "Targeted Map from Chesapeake and Ohio Canal Pamphlet", - ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21", + "profile": "level1", + "type": "ImageService3", }, - }, - "type": "Feature", + ], + "type": "Image", + "width": 3174, }, - "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg": { + "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22/full/max/0/default.jpg": { "format": "image/jpeg", - "height": 7072, - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "height": 4632, + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/content.json", + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0005-image", "type": "Image", }, ], "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674", + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 5212, + "width": 3198, }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json": { - "@context": [ - "http://geojson.org/geojson-ld/geojson-context.jsonld", - "http://iiif.io/api/presentation/3/context.json", - ], + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p1", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p3", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p4", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p5", "type": "Canvas", }, ], "label": { "en": [ - "Recipe Manifest for #139", + "Multiple Related Images (Book, etc.)", ], }, "metadata": [], @@ -22259,13 +24908,16 @@ exports[`Cookbook > Testing normalize %p (%p) 0139-geolocate-canvas-fragment htt "seeAlso": [], "service": [], "services": [], - "start": null, - "structures": [], - "summary": { - "en": [ - "A IIIF Presentation API 3.0 Manifest containing a GeoJSON-LD Web Annotation which targets a Canvas fragment.", - ], + "start": { + "selector": undefined, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2", + "type": "Canvas", + }, + "type": "SpecificResource", }, + "structures": [], + "summary": null, "thumbnail": [], "type": "Manifest", "viewingDirection": "left-to-right", @@ -22274,121 +24926,132 @@ exports[`Cookbook > Testing normalize %p (%p) 0139-geolocate-canvas-fragment htt "Range": {}, "Selector": {}, "Service": { - "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674": { - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674", + "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18": { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19": { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20": { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21": { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22": { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22", "profile": "level1", "type": "ImageService3", }, }, }, "mapping": { - "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json": "Canvas", - "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/content.json": "Annotation", - "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/contentPage.json": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geo.json": "ContentResource", - "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geoAnno.json": "Annotation", - "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/supplementingPage.json": "AnnotationPage", - "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0002-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0003-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0004-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0005-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2": "Canvas", + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p3": "Canvas", + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p4": "Canvas", + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p5": "Canvas", + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p1/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p2/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p3/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p4/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p5/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22/full/max/0/default.jpg": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json", "type": "Manifest", - }, -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0139-geolocate-canvas-fragment https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json 2`] = ` -{ - "@context": [ - "http://geojson.org/geojson-ld/geojson-context.jsonld", - "http://iiif.io/api/presentation/3/context.json", - ], - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json", - "items": [ - { - "annotations": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/supplementingPage.json", - "items": [ - { - "body": { - "geometry": { - "coordinates": [ - [ - [ - -77.097847, - 38.901359, - ], - [ - -77.02694, - 38.901359, - ], - [ - -77.02694, - 39.03404, - ], - [ - -77.097847, - 39.03404, - ], - ], - ], - "type": "Polygon", - }, - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geo.json", - "properties": { - "label": { - "en": [ - "Targeted Map from Chesapeake and Ohio Canal Pamphlet", - ], + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0202-start-canvas-manifest https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json", + "items": [ + { + "height": 4613, + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p1/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 4613, + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18", + "profile": "level1", + "type": "ImageService3", }, - }, - "type": "Feature", - }, - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geoAnno.json", - "label": { - "en": [ - "Annotation containing GeoJSON-LD coordinates that place the map depiction onto a Leaflet web map.", ], + "type": "Image", + "width": 3204, }, - "motivation": "tagging", - "target": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json#xywh=920,3600,1510,3000", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0001-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p1", "type": "Annotation", }, ], "type": "AnnotationPage", }, ], - "height": 7072, - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json", + "label": { + "en": [ + "Blank page", + ], + }, + "type": "Canvas", + "width": 3204, + }, + { + "height": 4612, + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/contentPage.json", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p2/1", "items": [ { "body": { "format": "image/jpeg", - "height": 7072, - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "height": 4612, + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19/full/max/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674", + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 5212, - }, - "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/content.json", - "label": { - "en": [ - "Pamphlet Cover", - ], + "width": 3186, }, + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0002-image", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json", + "target": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2", "type": "Annotation", }, ], @@ -22397,284 +25060,115 @@ exports[`Cookbook > Testing normalize %p (%p) 0139-geolocate-canvas-fragment htt ], "label": { "en": [ - "Chesapeake and Ohio Canal Pamphlet", + "Frontispiece", ], }, "type": "Canvas", - "width": 5212, - }, - ], - "label": { - "en": [ - "Recipe Manifest for #139", - ], - }, - "summary": { - "en": [ - "A IIIF Presentation API 3.0 Manifest containing a GeoJSON-LD Web Annotation which targets a Canvas fragment.", - ], - }, - "type": "Manifest", -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0154-geo-extension https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json 1`] = ` -{ - "entities": { - "Agent": {}, - "Annotation": { - "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno/1": { - "body": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg", - "type": "ContentResource", - }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno/1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno-page/1", - "type": "Annotation", - }, - ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/canvas/1", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", - }, - }, - "AnnotationCollection": {}, - "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno-page/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno-page/1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno-page/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/canvas/1", - "type": "AnnotationPage", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno/1", - "type": "Annotation", - }, - ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", - }, - }, - "Canvas": { - "https://iiif.io/api/cookbook/recipe/0154-geo-extension/canvas/1": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 3000, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/canvas/1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno-page/1", - "type": "AnnotationPage", - }, - ], - "label": { - "en": [ - "Front of Bronze", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 2315, - }, - }, - "Collection": {}, - "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg": { - "format": "image/jpg", - "height": 3000, - "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno/1", - "type": "Image", - }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 2315, - }, + "width": 3186, }, - "Manifest": { - "https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json": { - "@context": [ - "http://iiif.io/api/extension/navplace/context.json", - "http://iiif.io/api/presentation/3/context.json", - ], - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json", - "type": "Manifest", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/canvas/1", - "type": "Canvas", - }, - ], - "label": { - "it": [ - "Bronzo Laocoonte e i suoi figli", + { + "height": 4613, + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p3", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p3/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 4613, + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 3204, + }, + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0003-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p3", + "type": "Annotation", + }, ], + "type": "AnnotationPage", }, - "metadata": [], - "navDate": null, - "navPlace": { - "features": [ + ], + "label": { + "en": [ + "Title page", + ], + }, + "type": "Canvas", + "width": 3204, + }, + { + "height": 4578, + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p4", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p4/1", + "items": [ { - "geometry": { - "coordinates": [ - -118.4745559, - 34.0776376, + "body": { + "format": "image/jpeg", + "height": 4578, + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21", + "profile": "level1", + "type": "ImageService3", + }, ], - "type": "Point", - }, - "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/feature/1", - "properties": { - "label": { - "en": [ - "The Laocoön Bronze", - ], - "it": [ - "Bronzo Laocoonte e i suoi figli", - ], - }, + "type": "Image", + "width": 3174, }, - "type": "Feature", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0004-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p4", + "type": "Annotation", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/feature-collection/1", - "type": "FeatureCollection", + "type": "AnnotationPage", }, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "services": [], - "start": null, - "structures": [], - "summary": null, - "thumbnail": [], - "type": "Manifest", - "viewingDirection": "left-to-right", - }, - }, - "Range": {}, - "Selector": {}, - "Service": { - "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon": { - "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", - "profile": "level1", - "type": "ImageService3", + ], + "label": { + "en": [ + "Blank page", + ], }, + "type": "Canvas", + "width": 3174, }, - }, - "mapping": { - "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno-page/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno/1": "Annotation", - "https://iiif.io/api/cookbook/recipe/0154-geo-extension/canvas/1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json": "Manifest", - "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg": "ContentResource", - }, - "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json", - "type": "Manifest", - }, -} -`; - -exports[`Cookbook > Testing normalize %p (%p) 0154-geo-extension https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json 2`] = ` -{ - "@context": [ - "http://iiif.io/api/extension/navplace/context.json", - "http://iiif.io/api/presentation/3/context.json", - ], - "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json", - "items": [ { - "height": 3000, - "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/canvas/1", + "height": 4632, + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p5", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno-page/1", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p5/1", "items": [ { "body": { - "format": "image/jpg", - "height": 3000, - "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg", + "format": "image/jpeg", + "height": 4632, + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22/full/max/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 2315, + "width": 3198, }, - "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno/1", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0005-image", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/canvas/1", + "target": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p5", "type": "Annotation", }, ], @@ -22683,66 +25177,43 @@ exports[`Cookbook > Testing normalize %p (%p) 0154-geo-extension https://iiif.io ], "label": { "en": [ - "Front of Bronze", + "Bookplate", ], }, "type": "Canvas", - "width": 2315, + "width": 3198, }, ], "label": { - "it": [ - "Bronzo Laocoonte e i suoi figli", + "en": [ + "Multiple Related Images (Book, etc.)", ], }, - "navPlace": { - "features": [ - { - "geometry": { - "coordinates": [ - -118.4745559, - 34.0776376, - ], - "type": "Point", - }, - "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/feature/1", - "properties": { - "label": { - "en": [ - "The Laocoön Bronze", - ], - "it": [ - "Bronzo Laocoonte e i suoi figli", - ], - }, - }, - "type": "Feature", - }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/feature-collection/1", - "type": "FeatureCollection", + "start": { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2", + "type": "Canvas", }, "type": "Manifest", } `; -exports[`Cookbook > Testing normalize %p (%p) 0202-start-canvas https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0219-using-caption-file-manifest https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0001-image": { + "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page/annotation1": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18/full/max/0/default.jpg", + "id": "https://fixtures.iiif.io/video/indiana/lunchroom_manners/high/lunchroom_manners_1024kb.mp4", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page/annotation1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0001-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page/annotation1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page", "type": "Annotation", }, ], @@ -22751,196 +25222,359 @@ exports[`Cookbook > Testing normalize %p (%p) 0202-start-canvas https://iiif.io/ ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas", "type": "Canvas", }, "type": "SpecificResource", }, "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0002-image": { + "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2/a1": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19/full/max/0/default.jpg", + "id": "https://fixtures.iiif.io/video/indiana/lunchroom_manners/lunchroom_manners.vtt", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0002-image", + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2/a1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0002-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p2/1", + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2/a1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2", "type": "Annotation", }, ], "motivation": [ - "painting", + "supplementing", ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2", + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas", "type": "Canvas", }, "type": "SpecificResource", }, "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0003-image": { - "body": [ + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20/full/max/0/default.jpg", - "type": "ContentResource", + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas", + "type": "AnnotationPage", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0003-image", - "iiif-parser:hasPart": [ + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0003-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p3/1", + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page/annotation1", "type": "Annotation", }, ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p3", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0004-image": { - "body": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21/full/max/0/default.jpg", - "type": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas", + "type": "AnnotationPage", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0004-image", - "iiif-parser:hasPart": [ + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0004-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p4/1", + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2/a1", "type": "Annotation", }, ], - "motivation": [ - "painting", + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas": { + "accompanyingCanvas": null, + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2", + "type": "AnnotationPage", + }, ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p4", - "type": "Canvas", + "behavior": [], + "duration": 572.034, + "height": 360, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page", + "type": "AnnotationPage", }, - "type": "SpecificResource", - }, - "type": "Annotation", + ], + "label": null, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 480, }, - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0005-image": { - "body": [ + }, + "Collection": {}, + "ContentResource": { + "https://fixtures.iiif.io/video/indiana/lunchroom_manners/high/lunchroom_manners_1024kb.mp4": { + "duration": 572.034, + "format": "video/mp4", + "height": 360, + "id": "https://fixtures.iiif.io/video/indiana/lunchroom_manners/high/lunchroom_manners_1024kb.mp4", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22/full/max/0/default.jpg", - "type": "ContentResource", + "id": "https://fixtures.iiif.io/video/indiana/lunchroom_manners/high/lunchroom_manners_1024kb.mp4", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page/annotation1", + "type": "Video", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0005-image", + "type": "Video", + "width": 480, + }, + "https://fixtures.iiif.io/video/indiana/lunchroom_manners/lunchroom_manners.vtt": { + "format": "text/vtt", + "id": "https://fixtures.iiif.io/video/indiana/lunchroom_manners/lunchroom_manners.vtt", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0005-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p5/1", - "type": "Annotation", + "id": "https://fixtures.iiif.io/video/indiana/lunchroom_manners/lunchroom_manners.vtt", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2/a1", + "type": "Text", }, ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p5", - "type": "Canvas", - }, - "type": "SpecificResource", + "label": { + "en": [ + "Captions in WebVTT format", + ], }, - "type": "Annotation", + "language": "en", + "type": "Text", }, }, - "AnnotationCollection": {}, - "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p1/1": { + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", + "accompanyingCanvas": null, + "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p1/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json", + "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0001-image", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas", + "type": "Canvas", }, ], - "label": null, + "label": { + "en": [ + "Lunchroom Manners", + ], + }, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, "rights": null, "seeAlso": [], "service": [], + "services": [], + "start": null, + "structures": [], "summary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Manifest", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p2/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p2/1", - "iiif-parser:hasPart": [ + }, + "Range": {}, + "Selector": {}, + "Service": {}, + }, + "mapping": { + "https://fixtures.iiif.io/video/indiana/lunchroom_manners/high/lunchroom_manners_1024kb.mp4": "ContentResource", + "https://fixtures.iiif.io/video/indiana/lunchroom_manners/lunchroom_manners.vtt": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas": "Canvas", + "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page/annotation1": "Annotation", + "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2/a1": "Annotation", + "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json": "Manifest", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json", + "type": "Manifest", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0219-using-caption-file-manifest https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json", + "items": [ + { + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2", + "items": [ + { + "body": { + "format": "text/vtt", + "id": "https://fixtures.iiif.io/video/indiana/lunchroom_manners/lunchroom_manners.vtt", + "label": { + "en": [ + "Captions in WebVTT format", + ], + }, + "language": "en", + "type": "Text", + }, + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2/a1", + "motivation": "supplementing", + "target": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "duration": 572.034, + "height": 360, + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page", + "items": [ + { + "body": { + "duration": 572.034, + "format": "video/mp4", + "height": 360, + "id": "https://fixtures.iiif.io/video/indiana/lunchroom_manners/high/lunchroom_manners_1024kb.mp4", + "type": "Video", + "width": 480, + }, + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page/annotation1", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "type": "Canvas", + "width": 480, + }, + ], + "label": { + "en": [ + "Lunchroom Manners", + ], + }, + "type": "Manifest", +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate_map_1-manifest https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image": { + "body": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p2/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2", - "type": "AnnotationPage", + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "type": "ContentResource", }, ], - "items": [ + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0002-image", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1", "type": "Annotation", }, ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p3/1": { + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p3/1", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p3/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p3", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0003-image", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image", "type": "Annotation", }, ], @@ -22956,25 +25590,31 @@ exports[`Cookbook > Testing normalize %p (%p) 0202-start-canvas https://iiif.io/ "thumbnail": [], "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p4/1": { + }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1": { + "accompanyingCanvas": null, + "annotations": [], "behavior": [], + "duration": 0, + "height": 7072, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p4/1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p4/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p4", - "type": "AnnotationPage", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0004-image", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1", + "type": "AnnotationPage", }, ], - "label": null, + "label": { + "en": [ + "1987 Map, recto and verso, with a date of publication", + ], + }, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, @@ -22983,60 +25623,62 @@ exports[`Cookbook > Testing normalize %p (%p) 0202-start-canvas https://iiif.io/ "service": [], "summary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Canvas", + "width": 5212, }, - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p5/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p5/1", + }, + "Collection": {}, + "ContentResource": { + "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 7072, + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p5/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p5", - "type": "AnnotationPage", + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image", + "type": "Image", }, ], - "items": [ + "service": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0005-image", - "type": "Annotation", + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/", + "profile": "level1", + "type": "ImageService3", }, ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", + "type": "Image", + "width": 5212, }, }, - "Canvas": { - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p1": { + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], - "duration": 0, - "height": 4613, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json", + "type": "Manifest", + }, + ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p1/1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", + "type": "Canvas", }, ], "label": { "en": [ - "Blank page", + "1987 Chesapeake and Ohio Canal, Washington, D.C., Maryland, West Virginia, official map and guide", ], }, "metadata": [], - "navDate": null, + "navDate": "1987-01-01T00:00:00+00:00", "partOf": [], "placeholderCanvas": null, "provider": [], @@ -23045,109 +25687,148 @@ exports[`Cookbook > Testing normalize %p (%p) 0202-start-canvas https://iiif.io/ "rights": null, "seeAlso": [], "service": [], + "services": [], + "start": null, + "structures": [], "summary": null, "thumbnail": [], - "type": "Canvas", - "width": 3204, + "type": "Manifest", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 4612, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2", - "iiif-parser:hasPart": [ + }, + "Range": {}, + "Selector": {}, + "Service": { + "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/": { + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/", + "profile": "level1", + "type": "ImageService3", + }, + }, + }, + "mapping": { + "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg": "ContentResource", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json", + "type": "Manifest", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate_map_1-manifest https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json", + "items": [ + { + "height": 7072, + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 7072, + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 5212, + }, + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "1987 Map, recto and verso, with a date of publication", + ], + }, + "type": "Canvas", + "width": 5212, + }, + ], + "label": { + "en": [ + "1987 Chesapeake and Ohio Canal, Washington, D.C., Maryland, West Virginia, official map and guide", + ], + }, + "navDate": "1987-01-01T00:00:00+00:00", + "type": "Manifest", +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate_map_2-manifest https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image": { + "body": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json", - "type": "Canvas", + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-87691274-1986/full/max/0/default.jpg", + "type": "ContentResource", }, ], - "items": [ + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p2/1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1", + "type": "Annotation", }, ], - "label": { - "en": [ - "Frontispiece", - ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", + "type": "Canvas", + }, + "type": "SpecificResource", }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 3186, + "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p3": { - "accompanyingCanvas": null, - "annotations": [], + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1": { "behavior": [], - "duration": 0, - "height": 4613, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p3", - "items": [ + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p3/1", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", "type": "AnnotationPage", }, ], - "label": { - "en": [ - "Title page", - ], - }, - "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 3204, - }, - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p4": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 4578, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p4", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p4/1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image", + "type": "Annotation", }, ], - "label": { - "en": [ - "Blank page", - ], - }, + "label": null, "metadata": [], - "navDate": null, - "partOf": [], - "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, @@ -23156,26 +25837,27 @@ exports[`Cookbook > Testing normalize %p (%p) 0202-start-canvas https://iiif.io/ "service": [], "summary": null, "thumbnail": [], - "type": "Canvas", - "width": 3174, + "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p5": { + }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1": { "accompanyingCanvas": null, "annotations": [], "behavior": [], "duration": 0, - "height": 4632, + "height": 1765, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p5", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p5/1", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1", "type": "AnnotationPage", }, ], "label": { "en": [ - "Bookplate", + "1986 Map, recto and verso, with a date of publication", ], }, "metadata": [], @@ -23191,161 +25873,61 @@ exports[`Cookbook > Testing normalize %p (%p) 0202-start-canvas https://iiif.io/ "summary": null, "thumbnail": [], "type": "Canvas", - "width": 3198, + "width": 1286, }, }, "Collection": {}, "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 4613, - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0001-image", - "type": "Image", - }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 3204, - }, - "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 4612, - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0002-image", - "type": "Image", - }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 3186, - }, - "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 4613, - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0003-image", - "type": "Image", - }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 3204, - }, - "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 4578, - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0004-image", - "type": "Image", - }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 3174, - }, - "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22/full/max/0/default.jpg": { + "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-87691274-1986/full/max/0/default.jpg": { "format": "image/jpeg", - "height": 4632, - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22/full/max/0/default.jpg", + "height": 1765, + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-87691274-1986/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0005-image", + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-87691274-1986/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image", "type": "Image", }, ], "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22", + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-87691274-1986/", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 3198, + "width": 1286, }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json": { + "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json": { "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p1", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p3", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p4", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p5", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", "type": "Canvas", }, ], "label": { "en": [ - "Multiple Related Images (Book, etc.)", + "1986 Chesapeake and Ohio Canal, Washington, D.C., Maryland, West Virginia, official map and guide", ], }, "metadata": [], - "navDate": null, + "navDate": "1986-01-01T00:00:00+00:00", "partOf": [], "placeholderCanvas": null, "provider": [], @@ -23355,111 +25937,68 @@ exports[`Cookbook > Testing normalize %p (%p) 0202-start-canvas https://iiif.io/ "seeAlso": [], "service": [], "services": [], - "start": { - "selector": undefined, - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2", - "type": "Canvas", - }, - "type": "SpecificResource", - }, + "start": null, "structures": [], "summary": null, "thumbnail": [], - "type": "Manifest", - "viewingDirection": "left-to-right", - }, - }, - "Range": {}, - "Selector": {}, - "Service": { - "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18": { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19": { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20": { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21": { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21", - "profile": "level1", - "type": "ImageService3", + "type": "Manifest", + "viewingDirection": "left-to-right", }, - "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22": { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22", + }, + "Range": {}, + "Selector": {}, + "Service": { + "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-87691274-1986/": { + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-87691274-1986/", "profile": "level1", "type": "ImageService3", }, }, }, "mapping": { - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0001-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0002-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0003-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0004-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0005-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2": "Canvas", - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p3": "Canvas", - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p4": "Canvas", - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p5": "Canvas", - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p1/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p2/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p3/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p4/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p5/1": "AnnotationPage", - "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-87691274-1986/full/max/0/default.jpg": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json", "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0202-start-canvas https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate_map_2-manifest https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json", "items": [ { - "height": 4613, - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p1", + "height": 1765, + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1", "items": [ { "body": { "format": "image/jpeg", - "height": 4613, - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18/full/max/0/default.jpg", + "height": 1765, + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-87691274-1986/full/max/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18", + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-87691274-1986/", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 3204, + "width": 1286, }, - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p1", + "target": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", "type": "Annotation", }, ], @@ -23468,235 +26007,313 @@ exports[`Cookbook > Testing normalize %p (%p) 0202-start-canvas https://iiif.io/ ], "label": { "en": [ - "Blank page", + "1986 Map, recto and verso, with a date of publication", ], }, "type": "Canvas", - "width": 3204, + "width": 1286, }, - { - "height": 4612, - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p2/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 4612, - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 3186, - }, - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0002-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2", - "type": "Annotation", + ], + "label": { + "en": [ + "1986 Chesapeake and Ohio Canal, Washington, D.C., Maryland, West Virginia, official map and guide", + ], + }, + "navDate": "1986-01-01T00:00:00+00:00", + "type": "Manifest", +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate-collection https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": {}, + "AnnotationCollection": {}, + "AnnotationPage": {}, + "Canvas": {}, + "Collection": { + "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json", + "type": "Collection", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json", + "iiif-parser:isExternal": true, + "label": { + "en": [ + "1986 Chesapeake and Ohio Canal, Washington, D.C., Maryland, West Virginia, official map and guide", + ], + }, + "navDate": "1986-01-01T00:00:00+00:00", + "type": "Manifest", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json", + "iiif-parser:isExternal": true, + "label": { + "en": [ + "1987 Chesapeake and Ohio Canal, Washington, D.C., Maryland, West Virginia, official map and guide", + ], }, + "navDate": "1987-01-01T00:00:00+00:00", + "type": "Manifest", + }, + ], + "label": { + "en": [ + "Chesapeake and Ohio Canal map and guide pamphlets", ], - "type": "AnnotationPage", }, - ], - "label": { - "en": [ - "Frontispiece", + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "services": [], + "summary": null, + "thumbnail": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "type": "ContentResource", + }, ], + "type": "Collection", + "viewingDirection": "left-to-right", }, - "type": "Canvas", - "width": 3186, }, - { - "height": 4613, - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p3", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p3/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 4613, - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 3204, - }, - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0003-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p3", - "type": "Annotation", - }, + "ContentResource": { + "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 300, + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 221, + }, + }, + "Manifest": { + "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json", + "iiif-parser:isExternal": true, + "items": [], + "label": { + "en": [ + "1987 Chesapeake and Ohio Canal, Washington, D.C., Maryland, West Virginia, official map and guide", + ], + }, + "metadata": [], + "navDate": "1987-01-01T00:00:00+00:00", + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "services": [], + "start": null, + "structures": [], + "summary": null, + "thumbnail": [], + "type": "Manifest", + "viewingDirection": "left-to-right", + }, + "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json", + "iiif-parser:isExternal": true, + "items": [], + "label": { + "en": [ + "1986 Chesapeake and Ohio Canal, Washington, D.C., Maryland, West Virginia, official map and guide", ], - "type": "AnnotationPage", }, - ], - "label": { - "en": [ - "Title page", - ], + "metadata": [], + "navDate": "1986-01-01T00:00:00+00:00", + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "services": [], + "start": null, + "structures": [], + "summary": null, + "thumbnail": [], + "type": "Manifest", + "viewingDirection": "left-to-right", }, - "type": "Canvas", - "width": 3204, }, + "Range": {}, + "Selector": {}, + "Service": {}, + }, + "mapping": { + "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json": "Collection", + "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json": "Manifest", + "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg": "ContentResource", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json", + "type": "Collection", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate-collection https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json", + "items": [ { - "height": 4578, - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p4", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p4/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 4578, - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 3174, - }, - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0004-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p4", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json", "label": { "en": [ - "Blank page", + "1986 Chesapeake and Ohio Canal, Washington, D.C., Maryland, West Virginia, official map and guide", ], }, - "type": "Canvas", - "width": 3174, + "navDate": "1986-01-01T00:00:00+00:00", + "type": "Manifest", }, { - "height": 4632, - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p5", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p5/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 4632, - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 3198, - }, - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0005-image", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p5", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json", "label": { "en": [ - "Bookplate", + "1987 Chesapeake and Ohio Canal, Washington, D.C., Maryland, West Virginia, official map and guide", ], }, - "type": "Canvas", - "width": 3198, + "navDate": "1987-01-01T00:00:00+00:00", + "type": "Manifest", }, ], "label": { "en": [ - "Multiple Related Images (Book, etc.)", + "Chesapeake and Ohio Canal map and guide pamphlets", ], }, - "start": { - "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2", - "type": "Canvas", - }, - "type": "Manifest", + "thumbnail": [ + { + "format": "image/jpeg", + "height": 300, + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 221, + }, + ], + "type": "Collection", } `; -exports[`Cookbook > Testing normalize %p (%p) 0219-using-caption-file https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0234-provider-manifest https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json 1`] = ` { "entities": { - "Agent": {}, - "Annotation": { - "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page/annotation1": { - "body": [ + "Agent": { + "https://id.loc.gov/authorities/n79055331": { + "homepage": [ { - "id": "https://fixtures.iiif.io/video/indiana/lunchroom_manners/high/lunchroom_manners_1024kb.mp4", + "id": "https://digital.library.ucla.edu/", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page/annotation1", + "id": "https://id.loc.gov/authorities/n79055331", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page/annotation1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page", - "type": "Annotation", + "id": "https://id.loc.gov/authorities/n79055331", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json", + "type": "Agent", }, ], - "motivation": [ - "painting", + "label": { + "en": [ + "UCLA Library", + ], + }, + "logo": [ + { + "id": "https://iiif.library.ucla.edu/iiif/2/UCLA-Library-Logo-double-line-2/full/full/0/default.png", + "type": "ContentResource", + }, ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas", - "type": "Canvas", + "seeAlso": [ + { + "id": "https://id.loc.gov/authorities/names/n79055331.madsxml.xml", + "type": "ContentResource", }, - "type": "SpecificResource", - }, - "type": "Annotation", + ], + "type": "Agent", }, - "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2/a1": { + }, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0234-provider/annotation/p0000-image": { "body": [ { - "id": "https://fixtures.iiif.io/video/indiana/lunchroom_manners/lunchroom_manners.vtt", + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2/a1", + "id": "https://iiif.io/api/cookbook/recipe/0234-provider/annotation/p0000-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2/a1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2", + "id": "https://iiif.io/api/cookbook/recipe/0234-provider/annotation/p0000-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0234-provider/page/p0/1", "type": "Annotation", }, ], "motivation": [ - "supplementing", + "painting", ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas", + "id": "https://iiif.io/api/cookbook/recipe/0234-provider/canvas/p0", "type": "Canvas", }, "type": "SpecificResource", @@ -23706,49 +26323,20 @@ exports[`Cookbook > Testing normalize %p (%p) 0219-using-caption-file https://ii }, "AnnotationCollection": {}, "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas", - "type": "AnnotationPage", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page/annotation1", - "type": "Annotation", - }, - ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", - }, - "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2": { + "https://iiif.io/api/cookbook/recipe/0234-provider/page/p0/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2", + "id": "https://iiif.io/api/cookbook/recipe/0234-provider/page/p0/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas", + "id": "https://iiif.io/api/cookbook/recipe/0234-provider/page/p0/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0234-provider/canvas/p0", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2/a1", + "id": "https://iiif.io/api/cookbook/recipe/0234-provider/annotation/p0000-image", "type": "Annotation", }, ], @@ -23766,26 +26354,25 @@ exports[`Cookbook > Testing normalize %p (%p) 0219-using-caption-file https://ii }, }, "Canvas": { - "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas": { + "https://iiif.io/api/cookbook/recipe/0234-provider/canvas/p0": { "accompanyingCanvas": null, - "annotations": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2", - "type": "AnnotationPage", - }, - ], + "annotations": [], "behavior": [], - "duration": 572.034, - "height": 360, + "duration": 0, + "height": 5312, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas", + "id": "https://iiif.io/api/cookbook/recipe/0234-provider/canvas/p0", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page", + "id": "https://iiif.io/api/cookbook/recipe/0234-provider/page/p0/1", "type": "AnnotationPage", }, ], - "label": null, + "label": { + "en": [ + "front cover with color bar", + ], + }, "metadata": [], "navDate": null, "partOf": [], @@ -23799,76 +26386,141 @@ exports[`Cookbook > Testing normalize %p (%p) 0219-using-caption-file https://ii "summary": null, "thumbnail": [], "type": "Canvas", - "width": 480, + "width": 4520, }, }, "Collection": {}, "ContentResource": { - "https://fixtures.iiif.io/video/indiana/lunchroom_manners/high/lunchroom_manners_1024kb.mp4": { - "duration": 572.034, - "format": "video/mp4", - "height": 360, - "id": "https://fixtures.iiif.io/video/indiana/lunchroom_manners/high/lunchroom_manners_1024kb.mp4", + "https://digital.library.ucla.edu/": { + "format": "text/html", + "id": "https://digital.library.ucla.edu/", "iiif-parser:hasPart": [ { - "id": "https://fixtures.iiif.io/video/indiana/lunchroom_manners/high/lunchroom_manners_1024kb.mp4", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page/annotation1", - "type": "Video", + "id": "https://digital.library.ucla.edu/", + "iiif-parser:partOf": "https://id.loc.gov/authorities/n79055331", + "type": "Text", }, ], - "type": "Video", - "width": 480, + "label": { + "en": [ + "UCLA Library Digital Collections", + ], + }, + "language": [ + "en", + ], + "type": "Text", }, - "https://fixtures.iiif.io/video/indiana/lunchroom_manners/lunchroom_manners.vtt": { - "format": "text/vtt", - "id": "https://fixtures.iiif.io/video/indiana/lunchroom_manners/lunchroom_manners.vtt", + "https://id.loc.gov/authorities/names/n79055331.madsxml.xml": { + "format": "application/xml", + "id": "https://id.loc.gov/authorities/names/n79055331.madsxml.xml", "iiif-parser:hasPart": [ { - "id": "https://fixtures.iiif.io/video/indiana/lunchroom_manners/lunchroom_manners.vtt", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2/a1", - "type": "Text", + "id": "https://id.loc.gov/authorities/names/n79055331.madsxml.xml", + "iiif-parser:partOf": "https://id.loc.gov/authorities/n79055331", + "type": "Dataset", }, ], "label": { "en": [ - "Captions in WebVTT format", + "US Library of Congress data about the UCLA Library", ], }, - "language": "en", - "type": "Text", + "profile": "http://www.loc.gov/mads/v2", + "type": "Dataset", + }, + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 5312, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0234-provider/annotation/p0000-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 4520, + }, + "https://iiif.library.ucla.edu/iiif/2/UCLA-Library-Logo-double-line-2/full/full/0/default.png": { + "id": "https://iiif.library.ucla.edu/iiif/2/UCLA-Library-Logo-double-line-2/full/full/0/default.png", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.library.ucla.edu/iiif/2/UCLA-Library-Logo-double-line-2/full/full/0/default.png", + "iiif-parser:partOf": "https://id.loc.gov/authorities/n79055331", + "type": "Image", + }, + ], + "service": [ + { + "height": 502, + "id": "https://iiif.library.ucla.edu/iiif/2/UCLA-Library-Logo-double-line-2", + "profile": "level2", + "sizes": [ + { + "height": 126, + "width": 300, + }, + { + "height": 251, + "width": 600, + }, + { + "height": 502, + "width": 1200, + }, + ], + "type": "ImageService3", + "width": 1200, + }, + ], + "type": "Image", }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json": { + "https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json": { "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas", + "id": "https://iiif.io/api/cookbook/recipe/0234-provider/canvas/p0", "type": "Canvas", }, ], "label": { "en": [ - "Lunchroom Manners", + "Playbill Cover", ], }, "metadata": [], "navDate": null, "partOf": [], "placeholderCanvas": null, - "provider": [], + "provider": [ + { + "id": "https://id.loc.gov/authorities/n79055331", + "type": "Agent", + }, + ], "rendering": [], "requiredStatement": null, "rights": null, @@ -23877,7 +26529,11 @@ exports[`Cookbook > Testing normalize %p (%p) 0219-using-caption-file https://ii "services": [], "start": null, "structures": [], - "summary": null, + "summary": { + "en": [ + "Cover of playbill for "Akiba gongen kaisen-banashi," "Futatsu chōchō kuruwa nikki" and "Godairiki koi no fūjime" performed at the Chikugo Theater in Osaka from the fifth month of Kaei 2 (May, 1849); main actors: Gadō Kataoka II, Ebizō Ichikawa VI, Kitō Sawamura II, Daigorō Mimasu IV, and Karoku Nakamura I; on front cover: producer Mominosuke Ichikawa's crest.", + ], + }, "thumbnail": [], "type": "Manifest", "viewingDirection": "left-to-right", @@ -23885,111 +26541,176 @@ exports[`Cookbook > Testing normalize %p (%p) 0219-using-caption-file https://ii }, "Range": {}, "Selector": {}, - "Service": {}, + "Service": { + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full", + "profile": "level1", + "type": "ImageService3", + }, + }, }, "mapping": { - "https://fixtures.iiif.io/video/indiana/lunchroom_manners/high/lunchroom_manners_1024kb.mp4": "ContentResource", - "https://fixtures.iiif.io/video/indiana/lunchroom_manners/lunchroom_manners.vtt": "ContentResource", - "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas": "Canvas", - "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page/annotation1": "Annotation", - "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2/a1": "Annotation", - "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json": "Manifest", + "https://digital.library.ucla.edu/": "ContentResource", + "https://id.loc.gov/authorities/n79055331": "Agent", + "https://id.loc.gov/authorities/names/n79055331.madsxml.xml": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0234-provider/annotation/p0000-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0234-provider/canvas/p0": "Canvas", + "https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0234-provider/page/p0/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg": "ContentResource", + "https://iiif.library.ucla.edu/iiif/2/UCLA-Library-Logo-double-line-2/full/full/0/default.png": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json", "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0219-using-caption-file https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0234-provider-manifest https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json", "items": [ { - "annotations": [ + "height": 5312, + "id": "https://iiif.io/api/cookbook/recipe/0234-provider/canvas/p0", + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2", + "id": "https://iiif.io/api/cookbook/recipe/0234-provider/page/p0/1", "items": [ { "body": { - "format": "text/vtt", - "id": "https://fixtures.iiif.io/video/indiana/lunchroom_manners/lunchroom_manners.vtt", - "label": { - "en": [ - "Captions in WebVTT format", - ], + "format": "image/jpeg", + "height": 5312, + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 4520, + }, + "id": "https://iiif.io/api/cookbook/recipe/0234-provider/annotation/p0000-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0234-provider/canvas/p0", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "front cover with color bar", + ], + }, + "type": "Canvas", + "width": 4520, + }, + ], + "label": { + "en": [ + "Playbill Cover", + ], + }, + "provider": [ + { + "homepage": [ + { + "format": "text/html", + "id": "https://digital.library.ucla.edu/", + "label": { + "en": [ + "UCLA Library Digital Collections", + ], + }, + "language": [ + "en", + ], + "type": "Text", + }, + ], + "id": "https://id.loc.gov/authorities/n79055331", + "label": { + "en": [ + "UCLA Library", + ], + }, + "logo": [ + { + "id": "https://iiif.library.ucla.edu/iiif/2/UCLA-Library-Logo-double-line-2/full/full/0/default.png", + "service": [ + { + "height": 502, + "id": "https://iiif.library.ucla.edu/iiif/2/UCLA-Library-Logo-double-line-2", + "profile": "level2", + "sizes": [ + { + "height": 126, + "width": 300, }, - "language": "en", - "type": "Text", - }, - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2/a1", - "motivation": "supplementing", - "target": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas", - "type": "Annotation", + { + "height": 251, + "width": 600, + }, + { + "height": 502, + "width": 1200, + }, + ], + "type": "ImageService3", + "width": 1200, }, ], - "type": "AnnotationPage", + "type": "Image", }, ], - "duration": 572.034, - "height": 360, - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas", - "items": [ + "seeAlso": [ { - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page", - "items": [ - { - "body": { - "duration": 572.034, - "format": "video/mp4", - "height": 360, - "id": "https://fixtures.iiif.io/video/indiana/lunchroom_manners/high/lunchroom_manners_1024kb.mp4", - "type": "Video", - "width": 480, - }, - "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page/annotation1", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas", - "type": "Annotation", - }, - ], - "type": "AnnotationPage", + "format": "application/xml", + "id": "https://id.loc.gov/authorities/names/n79055331.madsxml.xml", + "label": { + "en": [ + "US Library of Congress data about the UCLA Library", + ], + }, + "profile": "http://www.loc.gov/mads/v2", + "type": "Dataset", }, ], - "type": "Canvas", - "width": 480, + "type": "Agent", }, ], - "label": { + "summary": { "en": [ - "Lunchroom Manners", + "Cover of playbill for "Akiba gongen kaisen-banashi," "Futatsu chōchō kuruwa nikki" and "Godairiki koi no fūjime" performed at the Chikugo Theater in Osaka from the fifth month of Kaei 2 (May, 1849); main actors: Gadō Kataoka II, Ebizō Ichikawa VI, Kitō Sawamura II, Daigorō Mimasu IV, and Karoku Nakamura I; on front cover: producer Mominosuke Ichikawa's crest.", ], }, "type": "Manifest", } `; -exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate_map_1-manifest https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0240-navPlace-on-canvases-manifest https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image": { + "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/1": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/1", "type": "Annotation", }, ], @@ -23998,7 +26719,34 @@ exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate_map_1-manifes ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/2": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/2", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/2", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/2", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/2", "type": "Canvas", }, "type": "SpecificResource", @@ -24008,20 +26756,49 @@ exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate_map_1-manifes }, "AnnotationCollection": {}, "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1": { + "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/1", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/1", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/2": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/2", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/2", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/2", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/2", "type": "Annotation", }, ], @@ -24039,27 +26816,54 @@ exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate_map_1-manifes }, }, "Canvas": { - "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1": { + "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/1": { "accompanyingCanvas": null, "annotations": [], "behavior": [], "duration": 0, - "height": 7072, + "height": 3000, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/1", "type": "AnnotationPage", }, ], "label": { "en": [ - "1987 Map, recto and verso, with a date of publication", + "Front of Bronze", ], }, "metadata": [], "navDate": null, + "navPlace": { + "features": [ + { + "geometry": { + "coordinates": [ + -118.4745559, + 34.0776376, + ], + "type": "Point", + }, + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/feature/1", + "properties": { + "label": { + "en": [ + "Current Location of the Laocoön Bronze", + ], + "it": [ + "Ubicazione attuale del Bronzo Laocoonte e i suoi figli", + ], + }, + }, + "type": "Feature", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/feature-collection/1", + "type": "FeatureCollection", + }, "partOf": [], "placeholderCanvas": null, "provider": [], @@ -24071,61 +26875,147 @@ exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate_map_1-manifes "summary": null, "thumbnail": [], "type": "Canvas", - "width": 5212, + "width": 2315, + }, + "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/2": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 3259, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/2", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/2", + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "Painting", + ], + }, + "metadata": [], + "navDate": null, + "navPlace": { + "features": [ + { + "geometry": { + "coordinates": [ + -77.0199025, + 38.8920717, + ], + "type": "Point", + }, + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/feature/2", + "properties": { + "label": { + "en": [ + "Current Location of Painting", + ], + }, + }, + "type": "Feature", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/feature-collection/2", + "type": "FeatureCollection", + }, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 4096, }, }, "Collection": {}, "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg": { + "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 3000, + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/1", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2315, + }, + "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1/full/max/0/default.jpg": { "format": "image/jpeg", - "height": 7072, - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "height": 3259, + "id": "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image", + "id": "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/2", "type": "Image", }, ], "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/", + "id": "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 5212, + "width": 4096, }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json": { - "@context": "http://iiif.io/api/presentation/3/context.json", + "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json": { + "@context": [ + "http://iiif.io/api/extension/navplace/context.json", + "http://iiif.io/api/presentation/3/context.json", + ], "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/1", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/2", "type": "Canvas", }, ], "label": { "en": [ - "1987 Chesapeake and Ohio Canal, Washington, D.C., Maryland, West Virginia, official map and guide", + "Laocöon, geolocated sculpture and painting.", ], }, "metadata": [], - "navDate": "1987-01-01T00:00:00+00:00", + "navDate": null, "partOf": [], "placeholderCanvas": null, "provider": [], @@ -24146,57 +27036,69 @@ exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate_map_1-manifes "Range": {}, "Selector": {}, "Service": { - "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/": { - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/", + "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon": { + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1": { + "id": "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1", "profile": "level1", "type": "ImageService3", }, }, }, "mapping": { - "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1": "AnnotationPage", - "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/2": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/1": "Annotation", + "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/2": "Annotation", + "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/2": "Canvas", + "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json": "Manifest", + "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1/full/max/0/default.jpg": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json", "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate_map_1-manifest https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0240-navPlace-on-canvases-manifest https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json 2`] = ` { - "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json", + "@context": [ + "http://iiif.io/api/extension/navplace/context.json", + "http://iiif.io/api/presentation/3/context.json", + ], + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json", "items": [ { - "height": 7072, - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", + "height": 3000, + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/1", "items": [ { "body": { "format": "image/jpeg", - "height": 7072, - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "height": 3000, + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/", + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 5212, + "width": 2315, }, - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/1", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", + "target": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/1", "type": "Annotation", }, ], @@ -24205,40 +27107,167 @@ exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate_map_1-manifes ], "label": { "en": [ - "1987 Map, recto and verso, with a date of publication", + "Front of Bronze", + ], + }, + "navPlace": { + "features": [ + { + "geometry": { + "coordinates": [ + -118.4745559, + 34.0776376, + ], + "type": "Point", + }, + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/feature/1", + "properties": { + "label": { + "en": [ + "Current Location of the Laocoön Bronze", + ], + "it": [ + "Ubicazione attuale del Bronzo Laocoonte e i suoi figli", + ], + }, + }, + "type": "Feature", + }, ], + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/feature-collection/1", + "type": "FeatureCollection", }, "type": "Canvas", - "width": 5212, + "width": 2315, + }, + { + "height": 3259, + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/2", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/2", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 3259, + "id": "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 4096, + }, + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/2", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/2", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "Painting", + ], + }, + "navPlace": { + "features": [ + { + "geometry": { + "coordinates": [ + -77.0199025, + 38.8920717, + ], + "type": "Point", + }, + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/feature/2", + "properties": { + "label": { + "en": [ + "Current Location of Painting", + ], + }, + }, + "type": "Feature", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/feature-collection/2", + "type": "FeatureCollection", + }, + "type": "Canvas", + "width": 4096, }, ], "label": { "en": [ - "1987 Chesapeake and Ohio Canal, Washington, D.C., Maryland, West Virginia, official map and guide", + "Laocöon, geolocated sculpture and painting.", ], }, - "navDate": "1987-01-01T00:00:00+00:00", "type": "Manifest", } `; -exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate_map_2-manifest https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0258-tagging-external-resource-manifest https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image": { + "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/anno/p0002-wikidata": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-87691274-1986/full/max/0/default.jpg", + "source": { + "id": "http://www.wikidata.org/entity/Q18624915", + "type": "ContentResource", + }, + "type": "SpecificResource", + }, + { + "id": "vault://7dc03413", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/anno/p0002-wikidata", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/anno/p0002-wikidata", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p2/1", + "type": "Annotation", + }, + ], + "motivation": [ + "tagging", + ], + "target": { + "selector": { + "type": "FragmentSelector", + "value": "xywh=749,1054,338,460", + }, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/p0001-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/p0001-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/p0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p1/1", "type": "Annotation", }, ], @@ -24247,30 +27276,59 @@ exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate_map_2-manifes ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1", "type": "Canvas", }, - "type": "SpecificResource", - }, - "type": "Annotation", + "type": "SpecificResource", + }, + "type": "Annotation", + }, + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p1/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p1/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/p0001-image", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", }, - }, - "AnnotationCollection": {}, - "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1": { + "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p2/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p2/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p2/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/anno/p0002-wikidata", "type": "Annotation", }, ], @@ -24288,25 +27346,26 @@ exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate_map_2-manifes }, }, "Canvas": { - "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1": { + "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1": { "accompanyingCanvas": null, - "annotations": [], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p2/1", + "type": "AnnotationPage", + }, + ], "behavior": [], "duration": 0, - "height": 1765, + "height": 3024, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p1/1", "type": "AnnotationPage", }, ], - "label": { - "en": [ - "1986 Map, recto and verso, with a date of publication", - ], - }, + "label": null, "metadata": [], "navDate": null, "partOf": [], @@ -24320,61 +27379,79 @@ exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate_map_2-manifes "summary": null, "thumbnail": [], "type": "Canvas", - "width": 1286, + "width": 4032, }, }, "Collection": {}, "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-87691274-1986/full/max/0/default.jpg": { + "http://www.wikidata.org/entity/Q18624915": { + "id": "http://www.wikidata.org/entity/Q18624915", + "type": "ContentResource", + }, + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg": { "format": "image/jpeg", - "height": 1765, - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-87691274-1986/full/max/0/default.jpg", + "height": 3024, + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-87691274-1986/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/p0001-image", "type": "Image", }, ], "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-87691274-1986/", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 1286, + "width": 4032, + }, + "vault://7dc03413": { + "format": "text/plain", + "id": "vault://7dc03413", + "iiif-parser:hasPart": [ + { + "id": "vault://7dc03413", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/anno/p0002-wikidata", + "type": "TextualBody", + }, + ], + "language": "de", + "type": "TextualBody", + "value": "Gänseliesel-Brunnen", }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json": { + "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json": { "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1", "type": "Canvas", }, ], "label": { "en": [ - "1986 Chesapeake and Ohio Canal, Washington, D.C., Maryland, West Virginia, official map and guide", + "Picture of Göttingen taken during the 2019 IIIF Conference", ], }, "metadata": [], - "navDate": "1986-01-01T00:00:00+00:00", + "navDate": null, "partOf": [], "placeholderCanvas": null, "provider": [], @@ -24395,134 +27472,249 @@ exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate_map_2-manifes "Range": {}, "Selector": {}, "Service": { - "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-87691274-1986/": { - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-87691274-1986/", + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", "profile": "level1", "type": "ImageService3", }, }, }, "mapping": { - "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1": "AnnotationPage", - "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-87691274-1986/full/max/0/default.jpg": "ContentResource", + "http://www.wikidata.org/entity/Q18624915": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/anno/p0002-wikidata": "Annotation", + "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/p0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p1/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p2/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg": "ContentResource", + "vault://7dc03413": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json", "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate_map_2-manifest https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0258-tagging-external-resource-manifest https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json", "items": [ { - "height": 1765, - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p2/1", + "items": [ + { + "body": [ + { + "source": "http://www.wikidata.org/entity/Q18624915", + "type": "SpecificResource", + }, + { + "format": "text/plain", + "language": "de", + "type": "TextualBody", + "value": "Gänseliesel-Brunnen", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/anno/p0002-wikidata", + "motivation": "tagging", + "target": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1#xywh=749,1054,338,460", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "height": 3024, + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p1/1", "items": [ { "body": { "format": "image/jpeg", - "height": 1765, - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-87691274-1986/full/max/0/default.jpg", + "height": 3024, + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-87691274-1986/", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 1286, + "width": 4032, }, - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/p0001-image", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0230-navdate/canvas/p1", + "target": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1", "type": "Annotation", }, ], "type": "AnnotationPage", }, ], - "label": { - "en": [ - "1986 Map, recto and verso, with a date of publication", - ], - }, "type": "Canvas", - "width": 1286, + "width": 4032, }, ], "label": { "en": [ - "1986 Chesapeake and Ohio Canal, Washington, D.C., Maryland, West Virginia, official map and guide", + "Picture of Göttingen taken during the 2019 IIIF Conference", ], }, - "navDate": "1986-01-01T00:00:00+00:00", "type": "Manifest", } `; -exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate-collection https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0261-non-rectangular-commenting-manifest https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json 1`] = ` { "entities": { "Agent": {}, - "Annotation": {}, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0001-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0001-image", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p1/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0002-svg": { + "body": [ + { + "id": "vault://605b9d93", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0002-svg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0002-svg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p2/1", + "type": "Annotation", + }, + ], + "motivation": [ + "tagging", + ], + "target": { + "selector": { + "type": "SvgSelector", + "value": "", + }, + "source": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1", + "type": "SpecificResource", + }, + "type": "Annotation", + }, + }, "AnnotationCollection": {}, - "AnnotationPage": {}, - "Canvas": {}, - "Collection": { - "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json": { - "@context": "http://iiif.io/api/presentation/3/context.json", - "accompanyingCanvas": null, - "annotations": [], + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p1/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p1/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0001-image", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p2/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json", + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p2/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json", - "type": "Collection", + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p2/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1", + "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json", - "iiif-parser:isExternal": true, - "label": { - "en": [ - "1986 Chesapeake and Ohio Canal, Washington, D.C., Maryland, West Virginia, official map and guide", - ], - }, - "navDate": "1986-01-01T00:00:00+00:00", - "type": "Manifest", + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0002-svg", + "type": "Annotation", }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1": { + "accompanyingCanvas": null, + "annotations": [ { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json", - "iiif-parser:isExternal": true, - "label": { - "en": [ - "1987 Chesapeake and Ohio Canal, Washington, D.C., Maryland, West Virginia, official map and guide", - ], - }, - "navDate": "1987-01-01T00:00:00+00:00", - "type": "Manifest", + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p2/1", + "type": "AnnotationPage", }, ], - "label": { - "en": [ - "Chesapeake and Ohio Canal map and guide pamphlets", - ], - }, + "behavior": [], + "duration": 0, + "height": 3024, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p1/1", + "type": "AnnotationPage", + }, + ], + "label": null, "metadata": [], "navDate": null, "partOf": [], @@ -24533,88 +27725,78 @@ exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate-collection ht "rights": null, "seeAlso": [], "service": [], - "services": [], "summary": null, - "thumbnail": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", - "type": "ContentResource", - }, - ], - "type": "Collection", - "viewingDirection": "left-to-right", + "thumbnail": [], + "type": "Canvas", + "width": 4032, }, }, + "Collection": {}, "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg": { + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg": { "format": "image/jpeg", - "height": 300, - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "height": 3024, + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0001-image", "type": "Image", }, ], "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 221, + "width": 4032, + }, + "vault://605b9d93": { + "format": "text/plain", + "id": "vault://605b9d93", + "iiif-parser:hasPart": [ + { + "id": "vault://605b9d93", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0002-svg", + "type": "TextualBody", + }, + ], + "language": "de", + "type": "TextualBody", + "value": "Gänseliesel-Brunnen", }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json": { - "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json", - "iiif-parser:isExternal": true, - "items": [], - "label": { - "en": [ - "1987 Chesapeake and Ohio Canal, Washington, D.C., Maryland, West Virginia, official map and guide", - ], - }, - "metadata": [], - "navDate": "1987-01-01T00:00:00+00:00", - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "services": [], - "start": null, - "structures": [], - "summary": null, - "thumbnail": [], - "type": "Manifest", - "viewingDirection": "left-to-right", - }, - "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json": { + "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json", - "iiif-parser:isExternal": true, - "items": [], + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json", + "type": "Manifest", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1", + "type": "Canvas", + }, + ], "label": { "en": [ - "1986 Chesapeake and Ohio Canal, Washington, D.C., Maryland, West Virginia, official map and guide", + "Picture of Göttingen taken during the 2019 IIIF Conference", ], }, "metadata": [], - "navDate": "1986-01-01T00:00:00+00:00", + "navDate": null, "partOf": [], "placeholderCanvas": null, "provider": [], @@ -24634,133 +27816,160 @@ exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate-collection ht }, "Range": {}, "Selector": {}, - "Service": {}, + "Service": { + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "profile": "level1", + "type": "ImageService3", + }, + }, }, "mapping": { - "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json": "Collection", - "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json": "Manifest", - "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0002-svg": "Annotation", + "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p1/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p2/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg": "ContentResource", + "vault://605b9d93": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json", - "type": "Collection", + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json", + "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0230-navdate-navdate-collection https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0261-non-rectangular-commenting-manifest https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json", + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json", - "label": { - "en": [ - "1986 Chesapeake and Ohio Canal, Washington, D.C., Maryland, West Virginia, official map and guide", - ], - }, - "navDate": "1986-01-01T00:00:00+00:00", - "type": "Manifest", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json", - "label": { - "en": [ - "1987 Chesapeake and Ohio Canal, Washington, D.C., Maryland, West Virginia, official map and guide", - ], - }, - "navDate": "1987-01-01T00:00:00+00:00", - "type": "Manifest", + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p2/1", + "items": [ + { + "body": { + "format": "text/plain", + "language": "de", + "type": "TextualBody", + "value": "Gänseliesel-Brunnen", + }, + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0002-svg", + "motivation": "tagging", + "target": { + "selector": { + "type": "SvgSelector", + "value": "", + }, + "source": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1", + "type": "SpecificResource", + }, + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "height": 3024, + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p1/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 3024, + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 4032, + }, + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0001-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "type": "Canvas", + "width": 4032, }, ], "label": { "en": [ - "Chesapeake and Ohio Canal map and guide pamphlets", + "Picture of Göttingen taken during the 2019 IIIF Conference", ], }, - "thumbnail": [ - { - "format": "image/jpeg", - "height": 300, - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 221, - }, - ], - "type": "Collection", + "type": "Manifest", } `; -exports[`Cookbook > Testing normalize %p (%p) 0234-provider https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0266-full-canvas-annotation-manifest https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json 1`] = ` { "entities": { - "Agent": { - "https://id.loc.gov/authorities/n79055331": { - "homepage": [ + "Agent": {}, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1/anno-1": { + "body": [ { - "id": "https://digital.library.ucla.edu/", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://id.loc.gov/authorities/n79055331", + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1/anno-1", "iiif-parser:hasPart": [ { - "id": "https://id.loc.gov/authorities/n79055331", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json", - "type": "Agent", + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1/anno-1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1", + "type": "Annotation", }, ], - "label": { - "en": [ - "UCLA Library", - ], - }, - "logo": [ - { - "id": "https://iiif.library.ucla.edu/iiif/2/UCLA-Library-Logo-double-line-2/full/full/0/default.png", - "type": "ContentResource", - }, + "motivation": [ + "painting", ], - "seeAlso": [ - { - "id": "https://id.loc.gov/authorities/names/n79055331.madsxml.xml", - "type": "ContentResource", + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1", + "type": "Canvas", }, - ], - "type": "Agent", + "type": "SpecificResource", + }, + "type": "Annotation", }, - }, - "Annotation": { - "https://iiif.io/api/cookbook/recipe/0234-provider/annotation/p0000-image": { + "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2/anno-1": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg", + "id": "vault://929e073a", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0234-provider/annotation/p0000-image", + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2/anno-1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0234-provider/annotation/p0000-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0234-provider/page/p0/1", + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2/anno-1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2", "type": "Annotation", }, ], "motivation": [ - "painting", + "commenting", ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0234-provider/canvas/p0", + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1", "type": "Canvas", }, "type": "SpecificResource", @@ -24770,20 +27979,49 @@ exports[`Cookbook > Testing normalize %p (%p) 0234-provider https://iiif.io/api/ }, "AnnotationCollection": {}, "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0234-provider/page/p0/1": { + "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0234-provider/page/p0/1", + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0234-provider/page/p0/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0234-provider/canvas/p0", + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0234-provider/annotation/p0000-image", + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1/anno-1", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2/anno-1", "type": "Annotation", }, ], @@ -24801,25 +28039,26 @@ exports[`Cookbook > Testing normalize %p (%p) 0234-provider https://iiif.io/api/ }, }, "Canvas": { - "https://iiif.io/api/cookbook/recipe/0234-provider/canvas/p0": { + "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1": { "accompanyingCanvas": null, - "annotations": [], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2", + "type": "AnnotationPage", + }, + ], "behavior": [], "duration": 0, - "height": 5312, + "height": 3024, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0234-provider/canvas/p0", + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0234-provider/page/p0/1", + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1", "type": "AnnotationPage", }, ], - "label": { - "en": [ - "front cover with color bar", - ], - }, + "label": null, "metadata": [], "navDate": null, "partOf": [], @@ -24833,141 +28072,78 @@ exports[`Cookbook > Testing normalize %p (%p) 0234-provider https://iiif.io/api/ "summary": null, "thumbnail": [], "type": "Canvas", - "width": 4520, + "width": 4032, }, }, "Collection": {}, "ContentResource": { - "https://digital.library.ucla.edu/": { - "format": "text/html", - "id": "https://digital.library.ucla.edu/", - "iiif-parser:hasPart": [ - { - "id": "https://digital.library.ucla.edu/", - "iiif-parser:partOf": "https://id.loc.gov/authorities/n79055331", - "type": "Text", - }, - ], - "label": { - "en": [ - "UCLA Library Digital Collections", - ], - }, - "language": [ - "en", - ], - "type": "Text", - }, - "https://id.loc.gov/authorities/names/n79055331.madsxml.xml": { - "format": "application/xml", - "id": "https://id.loc.gov/authorities/names/n79055331.madsxml.xml", - "iiif-parser:hasPart": [ - { - "id": "https://id.loc.gov/authorities/names/n79055331.madsxml.xml", - "iiif-parser:partOf": "https://id.loc.gov/authorities/n79055331", - "type": "Dataset", - }, - ], - "label": { - "en": [ - "US Library of Congress data about the UCLA Library", - ], - }, - "profile": "http://www.loc.gov/mads/v2", - "type": "Dataset", - }, - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg": { + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg": { "format": "image/jpeg", - "height": 5312, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0234-provider/annotation/p0000-image", - "type": "Image", - }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 4520, - }, - "https://iiif.library.ucla.edu/iiif/2/UCLA-Library-Logo-double-line-2/full/full/0/default.png": { - "id": "https://iiif.library.ucla.edu/iiif/2/UCLA-Library-Logo-double-line-2/full/full/0/default.png", + "height": 3024, + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.library.ucla.edu/iiif/2/UCLA-Library-Logo-double-line-2/full/full/0/default.png", - "iiif-parser:partOf": "https://id.loc.gov/authorities/n79055331", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1/anno-1", "type": "Image", }, - ], - "service": [ - { - "height": 502, - "id": "https://iiif.library.ucla.edu/iiif/2/UCLA-Library-Logo-double-line-2", - "profile": "level2", - "sizes": [ - { - "height": 126, - "width": 300, - }, - { - "height": 251, - "width": 600, - }, - { - "height": 502, - "width": 1200, - }, - ], + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "profile": "level1", "type": "ImageService3", - "width": 1200, }, ], "type": "Image", + "width": 4032, + }, + "vault://929e073a": { + "format": "text/plain", + "id": "vault://929e073a", + "iiif-parser:hasPart": [ + { + "id": "vault://929e073a", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2/anno-1", + "type": "TextualBody", + }, + ], + "language": "de", + "type": "TextualBody", + "value": "Göttinger Marktplatz mit Gänseliesel Brunnen", }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json": { + "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json": { "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0234-provider/canvas/p0", + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1", "type": "Canvas", }, ], "label": { "en": [ - "Playbill Cover", + "Picture of Göttingen taken during the 2019 IIIF Conference", ], }, "metadata": [], "navDate": null, "partOf": [], "placeholderCanvas": null, - "provider": [ - { - "id": "https://id.loc.gov/authorities/n79055331", - "type": "Agent", - }, - ], + "provider": [], "rendering": [], "requiredStatement": null, "rights": null, @@ -24976,11 +28152,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0234-provider https://iiif.io/api/ "services": [], "start": null, "structures": [], - "summary": { - "en": [ - "Cover of playbill for "Akiba gongen kaisen-banashi," "Futatsu chōchō kuruwa nikki" and "Godairiki koi no fūjime" performed at the Chikugo Theater in Osaka from the fifth month of Kaei 2 (May, 1849); main actors: Gadō Kataoka II, Ebizō Ichikawa VI, Kitō Sawamura II, Daigorō Mimasu IV, and Karoku Nakamura I; on front cover: producer Mominosuke Ichikawa's crest.", - ], - }, + "summary": null, "thumbnail": [], "type": "Manifest", "viewingDirection": "left-to-right", @@ -24989,202 +28161,239 @@ exports[`Cookbook > Testing normalize %p (%p) 0234-provider https://iiif.io/api/ "Range": {}, "Selector": {}, "Service": { - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full": { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full", + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", "profile": "level1", "type": "ImageService3", }, }, }, "mapping": { - "https://digital.library.ucla.edu/": "ContentResource", - "https://id.loc.gov/authorities/n79055331": "Agent", - "https://id.loc.gov/authorities/names/n79055331.madsxml.xml": "ContentResource", - "https://iiif.io/api/cookbook/recipe/0234-provider/annotation/p0000-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0234-provider/canvas/p0": "Canvas", - "https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0234-provider/page/p0/1": "AnnotationPage", - "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg": "ContentResource", - "https://iiif.library.ucla.edu/iiif/2/UCLA-Library-Logo-double-line-2/full/full/0/default.png": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1/anno-1": "Annotation", + "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2/anno-1": "Annotation", + "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json": "Manifest", + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg": "ContentResource", + "vault://929e073a": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json", "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0234-provider https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0266-full-canvas-annotation-manifest https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json", "items": [ { - "height": 5312, - "id": "https://iiif.io/api/cookbook/recipe/0234-provider/canvas/p0", + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2", + "items": [ + { + "body": { + "format": "text/plain", + "language": "de", + "type": "TextualBody", + "value": "Göttinger Marktplatz mit Gänseliesel Brunnen", + }, + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2/anno-1", + "motivation": "commenting", + "target": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "height": 3024, + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0234-provider/page/p0/1", + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1", "items": [ { "body": { "format": "image/jpeg", - "height": 5312, - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg", + "height": 3024, + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 4520, + "width": 4032, }, - "id": "https://iiif.io/api/cookbook/recipe/0234-provider/annotation/p0000-image", + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1/anno-1", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0234-provider/canvas/p0", + "target": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1", "type": "Annotation", }, ], "type": "AnnotationPage", }, ], - "label": { - "en": [ - "front cover with color bar", - ], - }, "type": "Canvas", - "width": 4520, + "width": 4032, }, ], "label": { "en": [ - "Playbill Cover", - ], - }, - "provider": [ - { - "homepage": [ - { - "format": "text/html", - "id": "https://digital.library.ucla.edu/", - "label": { - "en": [ - "UCLA Library Digital Collections", - ], - }, - "language": [ - "en", - ], - "type": "Text", - }, - ], - "id": "https://id.loc.gov/authorities/n79055331", - "label": { - "en": [ - "UCLA Library", - ], - }, - "logo": [ - { - "id": "https://iiif.library.ucla.edu/iiif/2/UCLA-Library-Logo-double-line-2/full/full/0/default.png", - "service": [ - { - "height": 502, - "id": "https://iiif.library.ucla.edu/iiif/2/UCLA-Library-Logo-double-line-2", - "profile": "level2", - "sizes": [ - { - "height": 126, - "width": 300, - }, - { - "height": 251, - "width": 600, - }, - { - "height": 502, - "width": 1200, - }, - ], - "type": "ImageService3", - "width": 1200, - }, - ], - "type": "Image", - }, - ], - "seeAlso": [ - { - "format": "application/xml", - "id": "https://id.loc.gov/authorities/names/n79055331.madsxml.xml", - "label": { - "en": [ - "US Library of Congress data about the UCLA Library", - ], - }, - "profile": "http://www.loc.gov/mads/v2", - "type": "Dataset", - }, - ], - "type": "Agent", - }, - ], - "summary": { - "en": [ - "Cover of playbill for "Akiba gongen kaisen-banashi," "Futatsu chōchō kuruwa nikki" and "Godairiki koi no fūjime" performed at the Chikugo Theater in Osaka from the fifth month of Kaei 2 (May, 1849); main actors: Gadō Kataoka II, Ebizō Ichikawa VI, Kitō Sawamura II, Daigorō Mimasu IV, and Karoku Nakamura I; on front cover: producer Mominosuke Ichikawa's crest.", + "Picture of Göttingen taken during the 2019 IIIF Conference", ], }, "type": "Manifest", } `; -exports[`Cookbook > Testing normalize %p (%p) 0240-navPlace-on-canvases https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0269-embedded-or-referenced-annotations-annotationpage https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/1": { + "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-2/anno-1": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg", + "id": "vault://929e073a", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/1", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-2/anno-1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/1", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-2/anno-1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json", "type": "Annotation", }, ], "motivation": [ - "painting", + "commenting", ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/1", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1", "type": "Canvas", }, "type": "SpecificResource", }, "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/2": { + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-2/anno-1", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + }, + "Canvas": {}, + "Collection": {}, + "ContentResource": { + "vault://929e073a": { + "format": "text/plain", + "id": "vault://929e073a", + "iiif-parser:hasPart": [ + { + "id": "vault://929e073a", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-2/anno-1", + "type": "TextualBody", + }, + ], + "language": "de", + "type": "TextualBody", + "value": "Göttinger Marktplatz mit Gänseliesel Brunnen", + }, + }, + "Manifest": {}, + "Range": {}, + "Selector": {}, + "Service": {}, + }, + "mapping": { + "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-2/anno-1": "Annotation", + "vault://929e073a": "ContentResource", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json", + "type": "AnnotationPage", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0269-embedded-or-referenced-annotations-annotationpage https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json", + "items": [ + { + "body": { + "format": "text/plain", + "language": "de", + "type": "TextualBody", + "value": "Göttinger Marktplatz mit Gänseliesel Brunnen", + }, + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-2/anno-1", + "motivation": "commenting", + "target": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0269-embedded-or-referenced-annotations-manifest https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1/anno-1": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/2", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1/anno-1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/2", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/2", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1/anno-1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1", "type": "Annotation", }, ], @@ -25193,7 +28402,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0240-navPlace-on-canvases https:// ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/2", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1", "type": "Canvas", }, "type": "SpecificResource", @@ -25203,23 +28412,19 @@ exports[`Cookbook > Testing normalize %p (%p) 0240-navPlace-on-canvases https:// }, "AnnotationCollection": {}, "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/1": { + "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/1", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/1", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1", "type": "AnnotationPage", }, ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/1", - "type": "Annotation", - }, - ], + "iiif-parser:isExternal": true, + "items": [], "label": null, "metadata": [], "provider": [], @@ -25232,20 +28437,20 @@ exports[`Cookbook > Testing normalize %p (%p) 0240-navPlace-on-canvases https:// "thumbnail": [], "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/2": { + "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/2", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/2", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/2", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/2", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1/anno-1", "type": "Annotation", }, ], @@ -25263,112 +28468,28 @@ exports[`Cookbook > Testing normalize %p (%p) 0240-navPlace-on-canvases https:// }, }, "Canvas": { - "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/1": { + "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1": { "accompanyingCanvas": null, - "annotations": [], - "behavior": [], - "duration": 0, - "height": 3000, - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/1", - "items": [ + "annotations": [ { - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/1", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json", "type": "AnnotationPage", }, ], - "label": { - "en": [ - "Front of Bronze", - ], - }, - "metadata": [], - "navDate": null, - "navPlace": { - "features": [ - { - "geometry": { - "coordinates": [ - -118.4745559, - 34.0776376, - ], - "type": "Point", - }, - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/feature/1", - "properties": { - "label": { - "en": [ - "Current Location of the Laocoön Bronze", - ], - "it": [ - "Ubicazione attuale del Bronzo Laocoonte e i suoi figli", - ], - }, - }, - "type": "Feature", - }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/feature-collection/1", - "type": "FeatureCollection", - }, - "partOf": [], - "placeholderCanvas": null, - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "Canvas", - "width": 2315, - }, - "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/2": { - "accompanyingCanvas": null, - "annotations": [], "behavior": [], "duration": 0, - "height": 3259, + "height": 3024, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/2", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/2", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1", "type": "AnnotationPage", }, ], - "label": { - "en": [ - "Painting", - ], - }, + "label": null, "metadata": [], "navDate": null, - "navPlace": { - "features": [ - { - "geometry": { - "coordinates": [ - -77.0199025, - 38.8920717, - ], - "type": "Point", - }, - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/feature/2", - "properties": { - "label": { - "en": [ - "Current Location of Painting", - ], - }, - }, - "type": "Feature", - }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/feature-collection/2", - "type": "FeatureCollection", - }, "partOf": [], "placeholderCanvas": null, "provider": [], @@ -25380,85 +28501,57 @@ exports[`Cookbook > Testing normalize %p (%p) 0240-navPlace-on-canvases https:// "summary": null, "thumbnail": [], "type": "Canvas", - "width": 4096, + "width": 4032, }, }, "Collection": {}, "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg": { - "format": "image/jpg", - "height": 3000, - "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/1", - "type": "Image", - }, - ], - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 2315, - }, - "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1/full/max/0/default.jpg": { - "format": "image/jpg", - "height": 3259, - "id": "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1/full/max/0/default.jpg", + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 3024, + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/2", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1/anno-1", "type": "Image", }, ], "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 4096, + "width": 4032, }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json": { - "@context": [ - "http://iiif.io/api/extension/navplace/context.json", - "http://iiif.io/api/presentation/3/context.json", - ], + "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/1", - "type": "Canvas", - }, - { - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/2", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1", "type": "Canvas", }, ], "label": { "en": [ - "Laocöon, geolocated sculpture and painting.", + "Picture of Göttingen taken during the 2019 IIIF Conference", ], }, "metadata": [], @@ -25483,238 +28576,154 @@ exports[`Cookbook > Testing normalize %p (%p) 0240-navPlace-on-canvases https:// "Range": {}, "Selector": {}, "Service": { - "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon": { - "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1": { - "id": "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1", + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", "profile": "level1", "type": "ImageService3", }, }, }, "mapping": { - "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/2": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/1": "Annotation", - "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/2": "Annotation", - "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/2": "Canvas", - "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json": "Manifest", - "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1/anno-1": "Annotation", + "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json": "Manifest", + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json", "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0240-navPlace-on-canvases https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0269-embedded-or-referenced-annotations-manifest https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json 2`] = ` { - "@context": [ - "http://iiif.io/api/extension/navplace/context.json", - "http://iiif.io/api/presentation/3/context.json", - ], - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json", + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json", "items": [ { - "height": 3000, - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/1", - "items": [ + "annotations": [ { - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/1", - "items": [ - { - "body": { - "format": "image/jpg", - "height": 3000, - "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 2315, - }, - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/1", - "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/1", - "type": "Annotation", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json", "type": "AnnotationPage", }, ], - "label": { - "en": [ - "Front of Bronze", - ], - }, - "navPlace": { - "features": [ - { - "geometry": { - "coordinates": [ - -118.4745559, - 34.0776376, - ], - "type": "Point", - }, - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/feature/1", - "properties": { - "label": { - "en": [ - "Current Location of the Laocoön Bronze", - ], - "it": [ - "Ubicazione attuale del Bronzo Laocoonte e i suoi figli", - ], - }, - }, - "type": "Feature", - }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/feature-collection/1", - "type": "FeatureCollection", - }, - "type": "Canvas", - "width": 2315, - }, - { - "height": 3259, - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/2", + "height": 3024, + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/2", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1", "items": [ { "body": { - "format": "image/jpg", - "height": 3259, - "id": "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1/full/max/0/default.jpg", + "format": "image/jpeg", + "height": 3024, + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 4096, + "width": 4032, }, - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/2", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1/anno-1", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/2", + "target": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1", "type": "Annotation", }, ], "type": "AnnotationPage", }, ], - "label": { - "en": [ - "Painting", - ], - }, - "navPlace": { - "features": [ - { - "geometry": { - "coordinates": [ - -77.0199025, - 38.8920717, - ], - "type": "Point", - }, - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/feature/2", - "properties": { - "label": { - "en": [ - "Current Location of Painting", - ], - }, - }, - "type": "Feature", - }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/feature-collection/2", - "type": "FeatureCollection", - }, "type": "Canvas", - "width": 4096, + "width": 4032, }, ], "label": { "en": [ - "Laocöon, geolocated sculpture and painting.", + "Picture of Göttingen taken during the 2019 IIIF Conference", ], }, "type": "Manifest", } `; -exports[`Cookbook > Testing normalize %p (%p) 0258-tagging-external-resource https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0283-missing-image-manifest https://iiif.io/api/cookbook/recipe/0283-missing-image/manifest.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/anno/p0002-wikidata": { + "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0001-image": { "body": [ { - "source": { - "id": "http://www.wikidata.org/entity/Q18624915", - "type": "ContentResource", - }, - "type": "SpecificResource", + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg", + "type": "ContentResource", }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0001-image", + "iiif-parser:hasPart": [ { - "id": "vault://7dc03413", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p1/1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0003-image": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/anno/p0002-wikidata", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0003-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/anno/p0002-wikidata", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p2/1", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0003-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p3/1", "type": "Annotation", }, ], "motivation": [ - "tagging", + "painting", ], "target": { - "selector": { - "type": "FragmentSelector", - "value": "xywh=749,1054,338,460", - }, "source": { - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p3", "type": "Canvas", }, "type": "SpecificResource", }, "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/p0001-image": { + "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0004-image": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0004-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/p0001-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0004-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p4/1", "type": "Annotation", }, ], @@ -25723,7 +28732,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0258-tagging-external-resource htt ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p4", "type": "Canvas", }, "type": "SpecificResource", @@ -25733,25 +28742,160 @@ exports[`Cookbook > Testing normalize %p (%p) 0258-tagging-external-resource htt }, "AnnotationCollection": {}, "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p1/1": { + "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p1/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p1/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p1/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p1", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0001-image", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p3/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p3/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p3/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p3", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0003-image", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p4/1": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p4/1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p4/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p4", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/p0001-image", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0004-image", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + }, + "Canvas": { + "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p1": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 2504, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p1/1", + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "f. 1r", + ], + }, + "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "Canvas", + "width": 1768, + }, + "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p2": { + "accompanyingCanvas": null, + "annotations": [], + "behavior": [], + "duration": 0, + "height": 2504, + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p2", + "items": [], + "label": { + "en": [ + "f. 1v — MISSING", + ], + }, + "metadata": [ + { + "label": { + "en": [ + "Description", + ], + }, + "value": { + "en": [ + "Image unavailable or does not exist", + ], + }, }, ], - "label": null, - "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, @@ -25760,27 +28904,32 @@ exports[`Cookbook > Testing normalize %p (%p) 0258-tagging-external-resource htt "service": [], "summary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Canvas", + "width": 1768, }, - "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p2/1": { + "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p3": { + "accompanyingCanvas": null, + "annotations": [], "behavior": [], + "duration": 0, + "height": 2456, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p2/1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p2/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1", - "type": "AnnotationPage", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p3", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/anno/p0002-wikidata", - "type": "Annotation", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p3/1", + "type": "AnnotationPage", }, ], - "label": null, + "label": { + "en": [ + "f. 2r", + ], + }, "metadata": [], + "navDate": null, + "partOf": [], + "placeholderCanvas": null, "provider": [], "rendering": [], "requiredStatement": null, @@ -25789,30 +28938,28 @@ exports[`Cookbook > Testing normalize %p (%p) 0258-tagging-external-resource htt "service": [], "summary": null, "thumbnail": [], - "type": "AnnotationPage", + "type": "Canvas", + "width": 1792, }, - }, - "Canvas": { - "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1": { + "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p4": { "accompanyingCanvas": null, - "annotations": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p2/1", - "type": "AnnotationPage", - }, - ], + "annotations": [], "behavior": [], "duration": 0, - "height": 3024, + "height": 2440, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p4", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p4/1", "type": "AnnotationPage", }, ], - "label": null, + "label": { + "en": [ + "f. 2v", + ], + }, "metadata": [], "navDate": null, "partOf": [], @@ -25826,75 +28973,111 @@ exports[`Cookbook > Testing normalize %p (%p) 0258-tagging-external-resource htt "summary": null, "thumbnail": [], "type": "Canvas", - "width": 4032, + "width": 1760, }, }, "Collection": {}, "ContentResource": { - "http://www.wikidata.org/entity/Q18624915": { - "id": "http://www.wikidata.org/entity/Q18624915", - "type": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 2504, + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0001-image", + "type": "Image", + }, + ], + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 1768, }, - "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg": { + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg": { "format": "image/jpeg", - "height": 3024, - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "height": 2456, + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/p0001-image", + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0003-image", "type": "Image", }, ], "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 4032, + "width": 1792, }, - "vault://7dc03413": { - "format": "text/plain", - "id": "vault://7dc03413", + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 2440, + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master/full/max/0/default.jpg", "iiif-parser:hasPart": [ { - "id": "vault://7dc03413", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/anno/p0002-wikidata", - "type": "TextualBody", + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0004-image", + "type": "Image", }, ], - "language": "de", - "type": "TextualBody", - "value": "Gänseliesel-Brunnen", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 1760, }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json": { + "https://iiif.io/api/cookbook/recipe/0283-missing-image/manifest.json": { "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0283-missing-image/manifest.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p1", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p2", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p3", + "type": "Canvas", + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p4", "type": "Canvas", }, ], "label": { "en": [ - "Picture of Göttingen taken during the 2019 IIIF Conference", + "Ethiopic Ms 10", ], }, "metadata": [], @@ -25919,123 +29102,230 @@ exports[`Cookbook > Testing normalize %p (%p) 0258-tagging-external-resource htt "Range": {}, "Selector": {}, "Service": { - "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen": { - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master", "profile": "level1", "type": "ImageService3", }, }, }, "mapping": { - "http://www.wikidata.org/entity/Q18624915": "ContentResource", - "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/anno/p0002-wikidata": "Annotation", - "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/p0001-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p1/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p2/1": "AnnotationPage", - "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg": "ContentResource", - "vault://7dc03413": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0003-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0004-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p2": "Canvas", + "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p3": "Canvas", + "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p4": "Canvas", + "https://iiif.io/api/cookbook/recipe/0283-missing-image/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p1/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p3/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p4/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master/full/max/0/default.jpg": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/manifest.json", "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0258-tagging-external-resource https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0283-missing-image-manifest https://iiif.io/api/cookbook/recipe/0283-missing-image/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/manifest.json", "items": [ { - "annotations": [ + "height": 2504, + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p1", + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p2/1", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p1/1", "items": [ { - "body": [ - { - "source": "http://www.wikidata.org/entity/Q18624915", - "type": "SpecificResource", - }, - { - "format": "text/plain", - "language": "de", - "type": "TextualBody", - "value": "Gänseliesel-Brunnen", - }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/anno/p0002-wikidata", - "motivation": "tagging", - "target": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1#xywh=749,1054,338,460", + "body": { + "format": "image/jpeg", + "height": 2504, + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 1768, + }, + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0001-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p1", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "label": { + "en": [ + "f. 1r", + ], + }, + "type": "Canvas", + "width": 1768, + }, + { + "height": 2504, + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p2", + "items": [], + "label": { + "en": [ + "f. 1v — MISSING", + ], + }, + "metadata": [ + { + "label": { + "en": [ + "Description", + ], + }, + "value": { + "en": [ + "Image unavailable or does not exist", + ], + }, + }, + ], + "type": "Canvas", + "width": 1768, + }, + { + "height": 2456, + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p3", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p3/1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 2456, + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 1792, + }, + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0003-image", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p3", "type": "Annotation", }, ], "type": "AnnotationPage", }, ], - "height": 3024, - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1", + "label": { + "en": [ + "f. 2r", + ], + }, + "type": "Canvas", + "width": 1792, + }, + { + "height": 2440, + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p4", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p4/1", "items": [ { "body": { "format": "image/jpeg", - "height": 3024, - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "height": 2440, + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master/full/max/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 4032, + "width": 1760, }, - "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0004-image", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1", + "target": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p4", "type": "Annotation", }, ], "type": "AnnotationPage", }, ], + "label": { + "en": [ + "f. 2v", + ], + }, "type": "Canvas", - "width": 4032, + "width": 1760, }, ], "label": { "en": [ - "Picture of Göttingen taken during the 2019 IIIF Conference", + "Ethiopic Ms 10", ], }, "type": "Manifest", } `; -exports[`Cookbook > Testing normalize %p (%p) 0261-non-rectangular-commenting https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0299-region-manifest https://iiif.io/api/cookbook/recipe/0299-region/manifest.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0001-image": { + "https://iiif.io/api/cookbook/recipe/0299-region/annotation/p0001-image": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", - "type": "ContentResource", + "id": "https://iiif.io/api/cookbook/recipe/0299-region/body/b1", + "selector": { + "@context": "http://iiif.io/api/annex/openannotation/context.json", + "region": "1768,2423,1768,2080", + "type": "iiif:ImageApiSelector", + }, + "source": { + "id": "https://iiif.io/api/image/3.0/example/reference/4ce82cef49fb16798f4c2440307c3d6f-newspaper-p2/full/max/0/default.jpg", + "type": "ContentResource", + }, + "type": "SpecificResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0299-region/annotation/p0001-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0001-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0299-region/annotation/p0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0299-region/page/p1/1", "type": "Annotation", }, ], @@ -26044,87 +29334,30 @@ exports[`Cookbook > Testing normalize %p (%p) 0261-non-rectangular-commenting ht ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0299-region/canvas/p1", "type": "Canvas", }, "type": "SpecificResource", }, "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0002-svg": { - "body": [ - { - "id": "vault://605b9d93", - "type": "ContentResource", - }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0002-svg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0002-svg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p2/1", - "type": "Annotation", - }, - ], - "motivation": [ - "tagging", - ], - "target": { - "selector": { - "type": "SvgSelector", - "value": "", - }, - "source": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1", - "type": "SpecificResource", - }, - "type": "Annotation", - }, }, "AnnotationCollection": {}, "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p1/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p1/1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p1/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1", - "type": "AnnotationPage", - }, - ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0001-image", - "type": "Annotation", - }, - ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", - }, - "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p2/1": { + "https://iiif.io/api/cookbook/recipe/0299-region/page/p1/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p2/1", + "id": "https://iiif.io/api/cookbook/recipe/0299-region/page/p1/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p2/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0299-region/page/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0299-region/canvas/p1", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0002-svg", + "id": "https://iiif.io/api/cookbook/recipe/0299-region/annotation/p0001-image", "type": "Annotation", }, ], @@ -26142,22 +29375,17 @@ exports[`Cookbook > Testing normalize %p (%p) 0261-non-rectangular-commenting ht }, }, "Canvas": { - "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1": { + "https://iiif.io/api/cookbook/recipe/0299-region/canvas/p1": { "accompanyingCanvas": null, - "annotations": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p2/1", - "type": "AnnotationPage", - }, - ], + "annotations": [], "behavior": [], "duration": 0, - "height": 3024, + "height": 2080, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0299-region/canvas/p1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0299-region/page/p1/1", "type": "AnnotationPage", }, ], @@ -26175,71 +29403,50 @@ exports[`Cookbook > Testing normalize %p (%p) 0261-non-rectangular-commenting ht "summary": null, "thumbnail": [], "type": "Canvas", - "width": 4032, + "width": 1768, }, }, "Collection": {}, "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg": { + "https://iiif.io/api/image/3.0/example/reference/4ce82cef49fb16798f4c2440307c3d6f-newspaper-p2/full/max/0/default.jpg": { "format": "image/jpeg", - "height": 3024, - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0001-image", - "type": "Image", - }, - ], + "height": 4999, + "id": "https://iiif.io/api/image/3.0/example/reference/4ce82cef49fb16798f4c2440307c3d6f-newspaper-p2/full/max/0/default.jpg", "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "id": "https://iiif.io/api/image/3.0/example/reference/4ce82cef49fb16798f4c2440307c3d6f-newspaper-p2", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 4032, - }, - "vault://605b9d93": { - "format": "text/plain", - "id": "vault://605b9d93", - "iiif-parser:hasPart": [ - { - "id": "vault://605b9d93", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0002-svg", - "type": "TextualBody", - }, - ], - "language": "de", - "type": "TextualBody", - "value": "Gänseliesel-Brunnen", + "width": 3536, }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json": { + "https://iiif.io/api/cookbook/recipe/0299-region/manifest.json": { "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0299-region/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0299-region/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0299-region/manifest.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0299-region/canvas/p1", "type": "Canvas", }, ], "label": { "en": [ - "Picture of Göttingen taken during the 2019 IIIF Conference", + "Berliner Tageblatt article, 'Ein neuer Sicherungsplan?'", ], }, "metadata": [], @@ -26264,87 +29471,66 @@ exports[`Cookbook > Testing normalize %p (%p) 0261-non-rectangular-commenting ht "Range": {}, "Selector": {}, "Service": { - "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen": { - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "https://iiif.io/api/image/3.0/example/reference/4ce82cef49fb16798f4c2440307c3d6f-newspaper-p2": { + "id": "https://iiif.io/api/image/3.0/example/reference/4ce82cef49fb16798f4c2440307c3d6f-newspaper-p2", "profile": "level1", "type": "ImageService3", }, }, }, "mapping": { - "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0001-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0002-svg": "Annotation", - "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p1/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p2/1": "AnnotationPage", - "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg": "ContentResource", - "vault://605b9d93": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0299-region/annotation/p0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0299-region/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0299-region/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0299-region/page/p1/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/4ce82cef49fb16798f4c2440307c3d6f-newspaper-p2/full/max/0/default.jpg": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0299-region/manifest.json", "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0261-non-rectangular-commenting https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0299-region-manifest https://iiif.io/api/cookbook/recipe/0299-region/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0299-region/manifest.json", "items": [ { - "annotations": [ + "height": 2080, + "id": "https://iiif.io/api/cookbook/recipe/0299-region/canvas/p1", + "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p2/1", + "id": "https://iiif.io/api/cookbook/recipe/0299-region/page/p1/1", "items": [ { "body": { - "format": "text/plain", - "language": "de", - "type": "TextualBody", - "value": "Gänseliesel-Brunnen", - }, - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0002-svg", - "motivation": "tagging", - "target": { + "id": "https://iiif.io/api/cookbook/recipe/0299-region/body/b1", "selector": { - "type": "SvgSelector", - "value": "", + "@context": "http://iiif.io/api/annex/openannotation/context.json", + "region": "1768,2423,1768,2080", + "type": "iiif:ImageApiSelector", + }, + "source": { + "format": "image/jpeg", + "height": 4999, + "id": "https://iiif.io/api/image/3.0/example/reference/4ce82cef49fb16798f4c2440307c3d6f-newspaper-p2/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4ce82cef49fb16798f4c2440307c3d6f-newspaper-p2", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 3536, }, - "source": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1", "type": "SpecificResource", }, - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], - "height": 3024, - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1", - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p1/1", - "items": [ - { - "body": { - "format": "image/jpeg", - "height": 3024, - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 4032, - }, - "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0299-region/annotation/p0001-image", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1", + "target": "https://iiif.io/api/cookbook/recipe/0299-region/canvas/p1", "type": "Annotation", }, ], @@ -26352,71 +29538,195 @@ exports[`Cookbook > Testing normalize %p (%p) 0261-non-rectangular-commenting ht }, ], "type": "Canvas", - "width": 4032, + "width": 1768, }, ], "label": { "en": [ - "Picture of Göttingen taken during the 2019 IIIF Conference", + "Berliner Tageblatt article, 'Ein neuer Sicherungsplan?'", ], }, "type": "Manifest", } `; -exports[`Cookbook > Testing normalize %p (%p) 0266-full-canvas-annotation https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0306-linking-annotations-to-manifests-annotationpage https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/annotationpage.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1/anno-1": { + "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-2/anno-1": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "id": "vault://2876d220", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1/anno-1", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-2/anno-1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1/anno-1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-2/anno-1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/annotationpage.json", "type": "Annotation", }, ], "motivation": [ - "painting", + "commenting", ], "target": { + "selector": { + "conformsTo": "http://www.w3.org/TR/media-frags/", + "type": "FragmentSelector", + "value": "xywh=300,800,1200,1200", + }, "source": { - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1", + "partOf": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/manifest.json", + "type": "Manifest", + }, + ], "type": "Canvas", }, "type": "SpecificResource", }, "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2/anno-1": { + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/annotationpage.json": { + "@context": "http://iiif.io/api/presentation/3/context.json", + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/annotationpage.json", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/annotationpage.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/annotationpage.json", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-2/anno-1", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + }, + "Canvas": {}, + "Collection": {}, + "ContentResource": { + "vault://2876d220": { + "format": "text/plain", + "id": "vault://2876d220", + "iiif-parser:hasPart": [ + { + "id": "vault://2876d220", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-2/anno-1", + "type": "TextualBody", + }, + ], + "language": "de", + "type": "TextualBody", + "value": "Der Gänseliesel-Brunnen", + }, + }, + "Manifest": {}, + "Range": {}, + "Selector": {}, + "Service": {}, + }, + "mapping": { + "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/annotationpage.json": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-2/anno-1": "Annotation", + "vault://2876d220": "ContentResource", + }, + "resource": { + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/annotationpage.json", + "type": "AnnotationPage", + }, +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0306-linking-annotations-to-manifests-annotationpage https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/annotationpage.json 2`] = ` +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/annotationpage.json", + "items": [ + { + "body": { + "format": "text/plain", + "language": "de", + "type": "TextualBody", + "value": "Der Gänseliesel-Brunnen", + }, + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-2/anno-1", + "motivation": "commenting", + "target": { + "selector": { + "conformsTo": "http://www.w3.org/TR/media-frags/", + "type": "FragmentSelector", + "value": "xywh=300,800,1200,1200", + }, + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1", + "partOf": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/manifest.json", + "type": "Manifest", + }, + ], + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + ], + "type": "AnnotationPage", +} +`; + +exports[`Cookbook > Testing normalize %p (%p) 0306-linking-annotations-to-manifests-manifest https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/manifest.json 1`] = ` +{ + "entities": { + "Agent": {}, + "Annotation": { + "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-1/anno-1": { "body": [ { - "id": "vault://929e073a", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2/anno-1", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-1/anno-1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2/anno-1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-1/anno-1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-1", "type": "Annotation", }, ], "motivation": [ - "commenting", + "painting", ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1", "type": "Canvas", }, "type": "SpecificResource", @@ -26426,23 +29736,19 @@ exports[`Cookbook > Testing normalize %p (%p) 0266-full-canvas-annotation https: }, "AnnotationCollection": {}, "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1": { + "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/annotationpage.json": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/annotationpage.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/annotationpage.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1", "type": "AnnotationPage", }, ], - "items": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1/anno-1", - "type": "Annotation", - }, - ], + "iiif-parser:isExternal": true, + "items": [], "label": null, "metadata": [], "provider": [], @@ -26455,20 +29761,20 @@ exports[`Cookbook > Testing normalize %p (%p) 0266-full-canvas-annotation https: "thumbnail": [], "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2": { + "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2/anno-1", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-1/anno-1", "type": "Annotation", }, ], @@ -26486,11 +29792,11 @@ exports[`Cookbook > Testing normalize %p (%p) 0266-full-canvas-annotation https: }, }, "Canvas": { - "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1": { + "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1": { "accompanyingCanvas": null, "annotations": [ { - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/annotationpage.json", "type": "AnnotationPage", }, ], @@ -26498,10 +29804,10 @@ exports[`Cookbook > Testing normalize %p (%p) 0266-full-canvas-annotation https: "duration": 0, "height": 3024, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-1", "type": "AnnotationPage", }, ], @@ -26531,7 +29837,7 @@ exports[`Cookbook > Testing normalize %p (%p) 0266-full-canvas-annotation https: "iiif-parser:hasPart": [ { "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1/anno-1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-1/anno-1", "type": "Image", }, ], @@ -26545,39 +29851,25 @@ exports[`Cookbook > Testing normalize %p (%p) 0266-full-canvas-annotation https: "type": "Image", "width": 4032, }, - "vault://929e073a": { - "format": "text/plain", - "id": "vault://929e073a", - "iiif-parser:hasPart": [ - { - "id": "vault://929e073a", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2/anno-1", - "type": "TextualBody", - }, - ], - "language": "de", - "type": "TextualBody", - "value": "Göttinger Marktplatz mit Gänseliesel Brunnen", - }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json": { + "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/manifest.json": { "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/manifest.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1", "type": "Canvas", }, ], @@ -26616,53 +29908,37 @@ exports[`Cookbook > Testing normalize %p (%p) 0266-full-canvas-annotation https: }, }, "mapping": { - "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1/anno-1": "Annotation", - "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2/anno-1": "Annotation", - "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/annotationpage.json": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-1/anno-1": "Annotation", + "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/manifest.json": "Manifest", "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg": "ContentResource", - "vault://929e073a": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/manifest.json", "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0266-full-canvas-annotation https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0306-linking-annotations-to-manifests-manifest https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/manifest.json", "items": [ { "annotations": [ { - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2", - "items": [ - { - "body": { - "format": "text/plain", - "language": "de", - "type": "TextualBody", - "value": "Göttinger Marktplatz mit Gänseliesel Brunnen", - }, - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2/anno-1", - "motivation": "commenting", - "target": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1", - "type": "Annotation", - }, - ], + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/annotationpage.json", "type": "AnnotationPage", }, ], "height": 3024, - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-1", "items": [ { "body": { @@ -26679,9 +29955,9 @@ exports[`Cookbook > Testing normalize %p (%p) 0266-full-canvas-annotation https: "type": "Image", "width": 4032, }, - "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1/anno-1", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-1/anno-1", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1", + "target": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1", "type": "Annotation", }, ], @@ -26701,23 +29977,23 @@ exports[`Cookbook > Testing normalize %p (%p) 0266-full-canvas-annotation https: } `; -exports[`Cookbook > Testing normalize %p (%p) 0269-embedded-or-referenced-annotations https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0326-annotating-image-layer-manifest https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/manifest.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1/anno-1": { + "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0001-image": { "body": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "id": "vault://6e534aac", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1/anno-1", + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0001-image", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1/anno-1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1", + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0001-image", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p1/1", "type": "Annotation", }, ], @@ -26726,29 +30002,62 @@ exports[`Cookbook > Testing normalize %p (%p) 0269-embedded-or-referenced-annota ], "target": { "source": { - "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1", + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/canvas/p1", "type": "Canvas", }, "type": "SpecificResource", }, "type": "Annotation", }, + "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0002-tag": { + "body": [ + { + "id": "vault://14f7ebdc", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0002-tag", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0002-tag", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p2/1", + "type": "Annotation", + }, + ], + "motivation": [ + "tagging", + ], + "target": { + "selector": { + "region": "810,900,260,370", + "size": "2000,1271", + "type": "ImageApiSelector", + }, + "source": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", + "type": "SpecificResource", + }, + "type": "Annotation", + }, }, "AnnotationCollection": {}, "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json": { + "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p1/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json", + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p1/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1", - "type": "AnnotationPage", + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p1/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/canvas/p1", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0001-image", + "type": "Annotation", }, ], - "iiif-parser:isExternal": true, - "items": [], "label": null, "metadata": [], "provider": [], @@ -26761,20 +30070,20 @@ exports[`Cookbook > Testing normalize %p (%p) 0269-embedded-or-referenced-annota "thumbnail": [], "type": "AnnotationPage", }, - "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1": { + "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p2/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1", + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p2/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1", + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p2/1", + "iiif-parser:partOf": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/2000,1271/0/default.jpg", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1/anno-1", + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0002-tag", "type": "Annotation", }, ], @@ -26792,22 +30101,17 @@ exports[`Cookbook > Testing normalize %p (%p) 0269-embedded-or-referenced-annota }, }, "Canvas": { - "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1": { + "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/canvas/p1": { "accompanyingCanvas": null, - "annotations": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json", - "type": "AnnotationPage", - }, - ], + "annotations": [], "behavior": [], "duration": 0, - "height": 3024, + "height": 1271, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1", + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/canvas/p1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1", + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p1/1", "type": "AnnotationPage", }, ], @@ -26825,57 +30129,115 @@ exports[`Cookbook > Testing normalize %p (%p) 0269-embedded-or-referenced-annota "summary": null, "thumbnail": [], "type": "Canvas", - "width": 4032, + "width": 2000, }, }, "Collection": {}, "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg": { + "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg": { "format": "image/jpeg", - "height": 3024, - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", - "iiif-parser:hasPart": [ + "height": 1271, + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", + "label": { + "en": [ + "Natural Light", + ], + }, + "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1/anno-1", - "type": "Image", + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2000, + }, + "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/2000,1271/0/default.jpg": { + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p2/1", + "type": "AnnotationPage", }, ], + "format": "image/jpeg", + "height": 1271, + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/2000,1271/0/default.jpg", + "label": { + "en": [ + "X-ray", + ], + }, "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 4032, + "width": 2000, + }, + "vault://14f7ebdc": { + "format": "text/plain", + "id": "vault://14f7ebdc", + "iiif-parser:hasPart": [ + { + "id": "vault://14f7ebdc", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0002-tag", + "type": "TextualBody", + }, + ], + "language": "en", + "type": "TextualBody", + "value": "A group of skulls.", + }, + "vault://6e534aac": { + "id": "vault://6e534aac", + "iiif-parser:hasPart": [ + { + "id": "vault://6e534aac", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0001-image", + "type": "Choice", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", + "type": "ContentResource", + }, + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/2000,1271/0/default.jpg", + "type": "ContentResource", + }, + ], + "type": "Choice", }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json": { + "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/manifest.json": { "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/manifest.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1", + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/canvas/p1", "type": "Canvas", }, ], "label": { "en": [ - "Picture of Göttingen taken during the 2019 IIIF Conference", + "Choice Example with layer specific annotation", ], }, "metadata": [], @@ -26900,64 +30262,124 @@ exports[`Cookbook > Testing normalize %p (%p) 0269-embedded-or-referenced-annota "Range": {}, "Selector": {}, "Service": { - "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen": { - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural": { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", + "profile": "level1", + "type": "ImageService3", + }, + "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray": { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", "profile": "level1", "type": "ImageService3", }, }, }, "mapping": { - "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1/anno-1": "Annotation", - "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json": "Manifest", - "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0001-image": "Annotation", + "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0002-tag": "Annotation", + "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/canvas/p1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/manifest.json": "Manifest", + "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p1/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p2/1": "AnnotationPage", + "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/2000,1271/0/default.jpg": "ContentResource", + "vault://14f7ebdc": "ContentResource", + "vault://6e534aac": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/manifest.json", "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0269-embedded-or-referenced-annotations https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0326-annotating-image-layer-manifest https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/manifest.json", "items": [ { - "annotations": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json", - "type": "AnnotationPage", - }, - ], - "height": 3024, - "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1", + "height": 1271, + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/canvas/p1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1", + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p1/1", "items": [ { "body": { - "format": "image/jpeg", - "height": 3024, - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", - "service": [ + "items": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", - "profile": "level1", - "type": "ImageService3", + "format": "image/jpeg", + "height": 1271, + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", + "label": { + "en": [ + "Natural Light", + ], + }, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2000, + }, + { + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p2/1", + "items": [ + { + "body": { + "format": "text/plain", + "language": "en", + "type": "TextualBody", + "value": "A group of skulls.", + }, + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0002-tag", + "motivation": "tagging", + "target": { + "selector": { + "region": "810,900,260,370", + "size": "2000,1271", + "type": "ImageApiSelector", + }, + "source": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", + "type": "SpecificResource", + }, + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "format": "image/jpeg", + "height": 1271, + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/2000,1271/0/default.jpg", + "label": { + "en": [ + "X-ray", + ], + }, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 2000, }, ], - "type": "Image", - "width": 4032, + "type": "Choice", }, - "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1/anno-1", + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0001-image", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1", + "target": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/canvas/p1", "type": "Annotation", }, ], @@ -26965,53 +30387,79 @@ exports[`Cookbook > Testing normalize %p (%p) 0269-embedded-or-referenced-annota }, ], "type": "Canvas", - "width": 4032, + "width": 2000, }, ], "label": { "en": [ - "Picture of Göttingen taken during the 2019 IIIF Conference", + "Choice Example with layer specific annotation", ], }, "type": "Manifest", } `; -exports[`Cookbook > Testing normalize %p (%p) 0299-region https://iiif.io/api/cookbook/recipe/0299-region/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0377-image-in-annotation-manifest https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/manifest.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0299-region/annotation/p0001-image": { + "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-1/anno-1": { + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "type": "ContentResource", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-1/anno-1", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-1/anno-1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-1", + "type": "Annotation", + }, + ], + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", + }, + "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-2/anno-1": { "body": [ { - "id": "https://iiif.io/api/cookbook/recipe/0299-region/body/b1", - "selector": { - "@context": "http://iiif.io/api/annex/openannotation/context.json", - "region": "1768,2423,1768,2080", - "type": "iiif:ImageApiSelector", - }, - "source": { - "id": "https://iiif.io/api/image/3.0/example/reference/4ce82cef49fb16798f4c2440307c3d6f-newspaper-p2/full/max/0/default.jpg", - "type": "ContentResource", - }, - "type": "SpecificResource", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-fountain/full/300,/0/default.jpg", + "type": "ContentResource", + }, + { + "id": "vault://69cc99ce", + "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0299-region/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-2/anno-1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0299-region/annotation/p0001-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0299-region/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-2/anno-1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-2", "type": "Annotation", }, ], "motivation": [ - "painting", + "commenting", ], "target": { + "selector": { + "type": "FragmentSelector", + "value": "xywh=138,550,1477,1710", + }, "source": { - "id": "https://iiif.io/api/cookbook/recipe/0299-region/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1", "type": "Canvas", }, "type": "SpecificResource", @@ -27021,20 +30469,49 @@ exports[`Cookbook > Testing normalize %p (%p) 0299-region https://iiif.io/api/co }, "AnnotationCollection": {}, "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0299-region/page/p1/1": { + "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0299-region/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0299-region/page/p1/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0299-region/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0299-region/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-1/anno-1", + "type": "Annotation", + }, + ], + "label": null, + "metadata": [], + "provider": [], + "rendering": [], + "requiredStatement": null, + "rights": null, + "seeAlso": [], + "service": [], + "summary": null, + "thumbnail": [], + "type": "AnnotationPage", + }, + "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-2": { + "behavior": [], + "homepage": [], + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-2", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-2", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1", + "type": "AnnotationPage", + }, + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-2/anno-1", "type": "Annotation", }, ], @@ -27052,17 +30529,22 @@ exports[`Cookbook > Testing normalize %p (%p) 0299-region https://iiif.io/api/co }, }, "Canvas": { - "https://iiif.io/api/cookbook/recipe/0299-region/canvas/p1": { + "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1": { "accompanyingCanvas": null, - "annotations": [], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-2", + "type": "AnnotationPage", + }, + ], "behavior": [], "duration": 0, - "height": 2080, + "height": 3024, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0299-region/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0299-region/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-1", "type": "AnnotationPage", }, ], @@ -27080,50 +30562,82 @@ exports[`Cookbook > Testing normalize %p (%p) 0299-region https://iiif.io/api/co "summary": null, "thumbnail": [], "type": "Canvas", - "width": 1768, + "width": 4032, }, }, "Collection": {}, "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/4ce82cef49fb16798f4c2440307c3d6f-newspaper-p2/full/max/0/default.jpg": { + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-fountain/full/300,/0/default.jpg": { "format": "image/jpeg", - "height": 4999, - "id": "https://iiif.io/api/image/3.0/example/reference/4ce82cef49fb16798f4c2440307c3d6f-newspaper-p2/full/max/0/default.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-fountain/full/300,/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-fountain/full/300,/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-2/anno-1", + "type": "Image", + }, + ], + "type": "Image", + }, + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg": { + "format": "image/jpeg", + "height": 3024, + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "iiif-parser:hasPart": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-1/anno-1", + "type": "Image", + }, + ], "service": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/4ce82cef49fb16798f4c2440307c3d6f-newspaper-p2", + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", "profile": "level1", "type": "ImageService3", }, ], "type": "Image", - "width": 3536, + "width": 4032, + }, + "vault://69cc99ce": { + "id": "vault://69cc99ce", + "iiif-parser:hasPart": [ + { + "id": "vault://69cc99ce", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-2/anno-1", + "type": "TextualBody", + }, + ], + "language": "en", + "type": "TextualBody", + "value": "Night picture of the Gänseliesel fountain in Göttingen taken during the 2019 IIIF Conference", }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0299-region/manifest.json": { + "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/manifest.json": { "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0299-region/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0299-region/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0299-region/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/manifest.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0299-region/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1", "type": "Canvas", }, ], "label": { "en": [ - "Berliner Tageblatt article, 'Ein neuer Sicherungsplan?'", + "Picture of Göttingen taken during the 2019 IIIF Conference", ], }, "metadata": [], @@ -27148,66 +30662,87 @@ exports[`Cookbook > Testing normalize %p (%p) 0299-region https://iiif.io/api/co "Range": {}, "Selector": {}, "Service": { - "https://iiif.io/api/image/3.0/example/reference/4ce82cef49fb16798f4c2440307c3d6f-newspaper-p2": { - "id": "https://iiif.io/api/image/3.0/example/reference/4ce82cef49fb16798f4c2440307c3d6f-newspaper-p2", + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", "profile": "level1", "type": "ImageService3", }, }, }, "mapping": { - "https://iiif.io/api/cookbook/recipe/0299-region/annotation/p0001-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0299-region/canvas/p1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0299-region/manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0299-region/page/p1/1": "AnnotationPage", - "https://iiif.io/api/image/3.0/example/reference/4ce82cef49fb16798f4c2440307c3d6f-newspaper-p2/full/max/0/default.jpg": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-1/anno-1": "Annotation", + "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-2": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-2/anno-1": "Annotation", + "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/manifest.json": "Manifest", + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-fountain/full/300,/0/default.jpg": "ContentResource", + "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg": "ContentResource", + "vault://69cc99ce": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0299-region/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/manifest.json", "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0299-region https://iiif.io/api/cookbook/recipe/0299-region/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0377-image-in-annotation-manifest https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0299-region/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/manifest.json", "items": [ { - "height": 2080, - "id": "https://iiif.io/api/cookbook/recipe/0299-region/canvas/p1", - "items": [ + "annotations": [ { - "id": "https://iiif.io/api/cookbook/recipe/0299-region/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-2", "items": [ { - "body": { - "id": "https://iiif.io/api/cookbook/recipe/0299-region/body/b1", - "selector": { - "@context": "http://iiif.io/api/annex/openannotation/context.json", - "region": "1768,2423,1768,2080", - "type": "iiif:ImageApiSelector", - }, - "source": { + "body": [ + { "format": "image/jpeg", - "height": 4999, - "id": "https://iiif.io/api/image/3.0/example/reference/4ce82cef49fb16798f4c2440307c3d6f-newspaper-p2/full/max/0/default.jpg", - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/4ce82cef49fb16798f4c2440307c3d6f-newspaper-p2", - "profile": "level1", - "type": "ImageService3", - }, - ], + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-fountain/full/300,/0/default.jpg", "type": "Image", - "width": 3536, }, - "type": "SpecificResource", + { + "language": "en", + "type": "TextualBody", + "value": "Night picture of the Gänseliesel fountain in Göttingen taken during the 2019 IIIF Conference", + }, + ], + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-2/anno-1", + "motivation": "commenting", + "target": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1#xywh=138,550,1477,1710", + "type": "Annotation", + }, + ], + "type": "AnnotationPage", + }, + ], + "height": 3024, + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-1", + "items": [ + { + "body": { + "format": "image/jpeg", + "height": 3024, + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "profile": "level1", + "type": "ImageService3", + }, + ], + "type": "Image", + "width": 4032, }, - "id": "https://iiif.io/api/cookbook/recipe/0299-region/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-1/anno-1", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0299-region/canvas/p1", + "target": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1", "type": "Annotation", }, ], @@ -27215,125 +30750,67 @@ exports[`Cookbook > Testing normalize %p (%p) 0299-region https://iiif.io/api/co }, ], "type": "Canvas", - "width": 1768, + "width": 4032, }, ], "label": { "en": [ - "Berliner Tageblatt article, 'Ein neuer Sicherungsplan?'", + "Picture of Göttingen taken during the 2019 IIIF Conference", ], }, "type": "Manifest", } `; -exports[`Cookbook > Testing normalize %p (%p) 0326-annotating-image-layer https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/manifest.json 1`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0434-choice-av-manifest https://iiif.io/api/cookbook/recipe/0434-choice-av/manifest.json 1`] = ` { "entities": { "Agent": {}, "Annotation": { - "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0001-image": { + "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1/annotation_page/1/annotation/1": { "body": [ { - "id": "vault://6e534aac", - "type": "ContentResource", - }, - ], - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0001-image", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0001-image", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p1/1", - "type": "Annotation", - }, - ], - "motivation": [ - "painting", - ], - "target": { - "source": { - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/canvas/p1", - "type": "Canvas", - }, - "type": "SpecificResource", - }, - "type": "Annotation", - }, - "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0002-tag": { - "body": [ - { - "id": "vault://14f7ebdc", + "id": "vault://adac293e", "type": "ContentResource", }, ], - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0002-tag", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0002-tag", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p2/1", - "type": "Annotation", - }, - ], - "motivation": [ - "tagging", - ], - "target": { - "selector": { - "region": "810,900,260,370", - "size": "2000,1271", - "type": "ImageApiSelector", - }, - "source": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", - "type": "SpecificResource", - }, - "type": "Annotation", - }, - }, - "AnnotationCollection": {}, - "AnnotationPage": { - "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p1/1": { - "behavior": [], - "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p1/1", - "iiif-parser:hasPart": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p1/1", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/canvas/p1", - "type": "AnnotationPage", - }, - ], - "items": [ + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1/annotation_page/1/annotation/1", + "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1/annotation_page/1/annotation/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1/annotation_page/1", "type": "Annotation", }, ], - "label": null, - "metadata": [], - "provider": [], - "rendering": [], - "requiredStatement": null, - "rights": null, - "seeAlso": [], - "service": [], - "summary": null, - "thumbnail": [], - "type": "AnnotationPage", + "motivation": [ + "painting", + ], + "target": { + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1", + "type": "Canvas", + }, + "type": "SpecificResource", + }, + "type": "Annotation", }, - "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p2/1": { + }, + "AnnotationCollection": {}, + "AnnotationPage": { + "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1/annotation_page/1": { "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p2/1", + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1/annotation_page/1", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p2/1", - "iiif-parser:partOf": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/2000,1271/0/default.jpg", + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1/annotation_page/1", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1", "type": "AnnotationPage", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0002-tag", + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1/annotation_page/1/annotation/1", "type": "Annotation", }, ], @@ -27351,17 +30828,17 @@ exports[`Cookbook > Testing normalize %p (%p) 0326-annotating-image-layer https: }, }, "Canvas": { - "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/canvas/p1": { + "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1": { "accompanyingCanvas": null, "annotations": [], "behavior": [], - "duration": 0, - "height": 1271, + "duration": 16, + "height": 0, "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1/annotation_page/1", "type": "AnnotationPage", }, ], @@ -27379,85 +30856,109 @@ exports[`Cookbook > Testing normalize %p (%p) 0326-annotating-image-layer https: "summary": null, "thumbnail": [], "type": "Canvas", - "width": 2000, + "width": 0, }, }, "Collection": {}, "ContentResource": { - "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg": { - "format": "image/jpeg", - "height": 1271, - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", + "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.flac": { + "duration": 16, + "format": "audio/flac", + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.flac", "label": { "en": [ - "Natural Light", + "FLAC", ], }, - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 2000, + "type": "Sound", }, - "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/2000,1271/0/default.jpg": { - "annotations": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p2/1", - "type": "AnnotationPage", - }, - ], - "format": "image/jpeg", - "height": 1271, - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/2000,1271/0/default.jpg", + "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.m4a": { + "duration": 16, + "format": "audio/alac", + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.m4a", "label": { "en": [ - "X-ray", + "ALAC", ], }, - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 2000, + "type": "Sound", }, - "vault://14f7ebdc": { - "format": "text/plain", - "id": "vault://14f7ebdc", - "iiif-parser:hasPart": [ - { - "id": "vault://14f7ebdc", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0002-tag", - "type": "TextualBody", - }, - ], - "language": "en", - "type": "TextualBody", - "value": "A group of skulls.", + "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.mp3": { + "duration": 16, + "format": "audio/mp3", + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.mp3", + "label": { + "en": [ + "MP3", + ], + }, + "type": "Sound", }, - "vault://6e534aac": { - "id": "vault://6e534aac", + "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.mpeg": { + "duration": 16, + "format": "audio/mpeg", + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.mpeg", + "label": { + "en": [ + "MPEG2", + ], + }, + "type": "Sound", + }, + "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.ogg": { + "duration": 16, + "format": "audio/ogg", + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.ogg", + "label": { + "en": [ + "OGG Vorbis OGG", + ], + }, + "type": "Sound", + }, + "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.wav": { + "duration": 16, + "format": "audio/wav", + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.wav", + "label": { + "en": [ + "WAV", + ], + }, + "type": "Sound", + }, + "vault://adac293e": { + "id": "vault://adac293e", "iiif-parser:hasPart": [ { - "id": "vault://6e534aac", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0001-image", + "id": "vault://adac293e", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1/annotation_page/1/annotation/1", "type": "Choice", }, ], "items": [ { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.m4a", "type": "ContentResource", }, { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/2000,1271/0/default.jpg", + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.mp3", + "type": "ContentResource", + }, + { + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.flac", + "type": "ContentResource", + }, + { + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.ogg", + "type": "ContentResource", + }, + { + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.mpeg", + "type": "ContentResource", + }, + { + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.wav", "type": "ContentResource", }, ], @@ -27465,29 +30966,29 @@ exports[`Cookbook > Testing normalize %p (%p) 0326-annotating-image-layer https: }, }, "Manifest": { - "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/manifest.json": { + "https://iiif.io/api/cookbook/recipe/0434-choice-av/manifest.json": { "@context": "http://iiif.io/api/presentation/3/context.json", "accompanyingCanvas": null, "annotations": [], "behavior": [], "homepage": [], - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/manifest.json", "iiif-parser:hasPart": [ { - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/manifest.json", - "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/manifest.json", + "iiif-parser:partOf": "https://iiif.io/api/cookbook/recipe/0434-choice-av/manifest.json", "type": "Manifest", }, ], "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/canvas/p1", + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1", "type": "Canvas", }, ], "label": { "en": [ - "Choice Example with layer specific annotation", + "Excerpt from Egbe Iyawo", ], }, "metadata": [], @@ -27497,13 +30998,17 @@ exports[`Cookbook > Testing normalize %p (%p) 0326-annotating-image-layer https: "provider": [], "rendering": [], "requiredStatement": null, - "rights": null, + "rights": "http://creativecommons.org/publicdomain/zero/1.0/", "seeAlso": [], "service": [], "services": [], "start": null, "structures": [], - "summary": null, + "summary": { + "en": [ + "Excerpt from a performance of Egbe Iyawo recorded in Kabba Division, Kwara State. ", + ], + }, "thumbnail": [], "type": "Manifest", "viewingDirection": "left-to-right", @@ -27511,125 +31016,115 @@ exports[`Cookbook > Testing normalize %p (%p) 0326-annotating-image-layer https: }, "Range": {}, "Selector": {}, - "Service": { - "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural": { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", - "profile": "level1", - "type": "ImageService3", - }, - "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray": { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", - "profile": "level1", - "type": "ImageService3", - }, - }, + "Service": {}, }, "mapping": { - "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0001-image": "Annotation", - "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0002-tag": "Annotation", - "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/canvas/p1": "Canvas", - "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/manifest.json": "Manifest", - "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p1/1": "AnnotationPage", - "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p2/1": "AnnotationPage", - "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg": "ContentResource", - "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/2000,1271/0/default.jpg": "ContentResource", - "vault://14f7ebdc": "ContentResource", - "vault://6e534aac": "ContentResource", + "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.flac": "ContentResource", + "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.m4a": "ContentResource", + "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.mp3": "ContentResource", + "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.mpeg": "ContentResource", + "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.ogg": "ContentResource", + "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.wav": "ContentResource", + "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1": "Canvas", + "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1/annotation_page/1": "AnnotationPage", + "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1/annotation_page/1/annotation/1": "Annotation", + "https://iiif.io/api/cookbook/recipe/0434-choice-av/manifest.json": "Manifest", + "vault://adac293e": "ContentResource", }, "resource": { - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/manifest.json", "type": "Manifest", }, } `; -exports[`Cookbook > Testing normalize %p (%p) 0326-annotating-image-layer https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/manifest.json 2`] = ` +exports[`Cookbook > Testing normalize %p (%p) 0434-choice-av-manifest https://iiif.io/api/cookbook/recipe/0434-choice-av/manifest.json 2`] = ` { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/manifest.json", + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/manifest.json", "items": [ { - "height": 1271, - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/canvas/p1", + "duration": 16, + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1", "items": [ { - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p1/1", + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1/annotation_page/1", "items": [ { "body": { "items": [ { - "format": "image/jpeg", - "height": 1271, - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", + "duration": 16, + "format": "audio/alac", + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.m4a", "label": { "en": [ - "Natural Light", + "ALAC", ], }, - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 2000, + "type": "Sound", }, { - "annotations": [ - { - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p2/1", - "items": [ - { - "body": { - "format": "text/plain", - "language": "en", - "type": "TextualBody", - "value": "A group of skulls.", - }, - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0002-tag", - "motivation": "tagging", - "target": { - "selector": { - "region": "810,900,260,370", - "size": "2000,1271", - "type": "ImageApiSelector", - }, - "source": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", - "type": "SpecificResource", - }, - "type": "Annotation", - }, - ], - "type": "AnnotationPage", - }, - ], - "format": "image/jpeg", - "height": 1271, - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/2000,1271/0/default.jpg", + "duration": 16, + "format": "audio/mp3", + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.mp3", "label": { "en": [ - "X-ray", + "MP3", ], }, - "service": [ - { - "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", - "profile": "level1", - "type": "ImageService3", - }, - ], - "type": "Image", - "width": 2000, + "type": "Sound", + }, + { + "duration": 16, + "format": "audio/flac", + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.flac", + "label": { + "en": [ + "FLAC", + ], + }, + "type": "Sound", + }, + { + "duration": 16, + "format": "audio/ogg", + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.ogg", + "label": { + "en": [ + "OGG Vorbis OGG", + ], + }, + "type": "Sound", + }, + { + "duration": 16, + "format": "audio/mpeg", + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.mpeg", + "label": { + "en": [ + "MPEG2", + ], + }, + "type": "Sound", + }, + { + "duration": 16, + "format": "audio/wav", + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.wav", + "label": { + "en": [ + "WAV", + ], + }, + "type": "Sound", }, ], "type": "Choice", }, - "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0001-image", + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1/annotation_page/1/annotation/1", "motivation": "painting", - "target": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/canvas/p1", + "target": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1", "type": "Annotation", }, ], @@ -27637,12 +31132,17 @@ exports[`Cookbook > Testing normalize %p (%p) 0326-annotating-image-layer https: }, ], "type": "Canvas", - "width": 2000, }, ], "label": { "en": [ - "Choice Example with layer specific annotation", + "Excerpt from Egbe Iyawo", + ], + }, + "rights": "http://creativecommons.org/publicdomain/zero/1.0/", + "summary": { + "en": [ + "Excerpt from a performance of Egbe Iyawo recorded in Kabba Division, Kwara State. ", ], }, "type": "Manifest", diff --git a/__tests__/presentation-3-parser/annotation-target.test.ts b/__tests__/presentation-3-parser/annotation-target.test.ts deleted file mode 100644 index 09d556b..0000000 --- a/__tests__/presentation-3-parser/annotation-target.test.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { describe } from 'vitest'; -import exhibition1 from '../../fixtures/presentation-3/exhibition-1.json'; -import { normalize, serialize, serializeConfigPresentation3 } from "../../src"; - -describe('Annotation target tests', () => { - test('Annotation with target type annotation', () => { - const result = normalize(exhibition1); - - const anno = (result.entities.Annotation as any)[ - 'https://heritage.tudelft.nl/iiif/inventing-creativity/canvas/66dc7c31-e263-79bc-08a7-43a5f6e6ad59/annotations/35' - ]; - - const reserialized = serialize( - { - mapping: result.mapping, - entities: result.entities, - requests: {}, - }, - anno, - serializeConfigPresentation3 - ); - - - expect( - (result.entities.Annotation as any)[ - 'https://heritage.tudelft.nl/iiif/inventing-creativity/canvas/66dc7c31-e263-79bc-08a7-43a5f6e6ad59/annotations/35' - ] - ).toMatchInlineSnapshot(` - { - "id": "https://heritage.tudelft.nl/iiif/inventing-creativity/canvas/66dc7c31-e263-79bc-08a7-43a5f6e6ad59/annotations/35", - "iiif-parser:hasPart": [ - { - "id": "https://heritage.tudelft.nl/iiif/inventing-creativity/canvas/66dc7c31-e263-79bc-08a7-43a5f6e6ad59/annotations/35", - "iiif-parser:partOf": "https://heritage.tudelft.nl/iiif/inventing-creativity/canvas/66dc7c31-e263-79bc-08a7-43a5f6e6ad59/annotations", - "type": "Annotation", - }, - ], - "motivation": [ - "describing", - ], - "target": { - "source": { - "id": "https://heritage.tudelft.nl/iiif/inventing-creativity/annotation/92fab8fb-2fff-9abe-f901-f07122318a1c", - "type": "Annotation", - }, - "type": "SpecificResource", - }, - "type": "Annotation", - } - `); - - expect(reserialized).toMatchInlineSnapshot(` - { - "id": "https://heritage.tudelft.nl/iiif/inventing-creativity/canvas/66dc7c31-e263-79bc-08a7-43a5f6e6ad59/annotations/35", - "motivation": "describing", - "target": { - "id": "https://heritage.tudelft.nl/iiif/inventing-creativity/annotation/92fab8fb-2fff-9abe-f901-f07122318a1c", - "type": "Annotation", - }, - "type": "Annotation", - } - `); - // - }); -}); diff --git a/__tests__/presentation-3-parser/cookbook.tests.ts b/__tests__/presentation-3-parser/cookbook.tests.ts index 2cd969a..85d4f1f 100644 --- a/__tests__/presentation-3-parser/cookbook.tests.ts +++ b/__tests__/presentation-3-parser/cookbook.tests.ts @@ -7,6 +7,7 @@ import { normalize, serialize, serializeConfigPresentation3 } from '../../src'; const prWaitingForMerge: string[] = [ // '0219-using-caption-file', // https://github.com/IIIF/cookbook-recipes/pull/340 + '0022-linking-with-a-hotspot-manifest', ]; describe('Cookbook', function () { diff --git a/__tests__/presentation-3-parser/smoke.tests.ts b/__tests__/presentation-3-parser/smoke.tests.ts index 918b244..cd62ed1 100644 --- a/__tests__/presentation-3-parser/smoke.tests.ts +++ b/__tests__/presentation-3-parser/smoke.tests.ts @@ -17,6 +17,10 @@ const skipThese: string[] = [ // @todo // - Has ImageService3 and ImageService2 with the same identifier :( 'bodleian.json', + + // @todo + // - Updates to service. + 'ghent-choices.json', ]; describe('Smoke tests', async function () { diff --git a/fixtures/cookbook/0001-mvm-image-manifest.json b/fixtures/cookbook/0001-mvm-image-manifest.json new file mode 100644 index 0000000..e7008fa --- /dev/null +++ b/fixtures/cookbook/0001-mvm-image-manifest.json @@ -0,0 +1,39 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0001-mvm-image/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Single Image Example" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0001-mvm-image/canvas/p1", + "type": "Canvas", + "height": 1800, + "width": 1200, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0001-mvm-image/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0001-mvm-image/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "http://iiif.io/api/presentation/2.1/example/fixtures/resources/page1-full.png", + "type": "Image", + "format": "image/png", + "height": 1800, + "width": 1200 + }, + "target": "https://iiif.io/api/cookbook/recipe/0001-mvm-image/canvas/p1" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0002-mvm-audio-manifest.json b/fixtures/cookbook/0002-mvm-audio-manifest.json new file mode 100644 index 0000000..8927b42 --- /dev/null +++ b/fixtures/cookbook/0002-mvm-audio-manifest.json @@ -0,0 +1,37 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0002-mvm-audio/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Simplest Audio Example 1" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0002-mvm-audio/canvas", + "type": "Canvas", + "duration": 1985.024, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0002-mvm-audio/canvas/page", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0002-mvm-audio/canvas/page/annotation", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://fixtures.iiif.io/audio/indiana/mahler-symphony-3/CD1/medium/128Kbps.mp4", + "type": "Sound", + "format": "audio/mp4", + "duration": 1985.024 + }, + "target": "https://iiif.io/api/cookbook/recipe/0002-mvm-audio/canvas" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0003-mvm-video-manifest.json b/fixtures/cookbook/0003-mvm-video-manifest.json new file mode 100644 index 0000000..ce3407d --- /dev/null +++ b/fixtures/cookbook/0003-mvm-video-manifest.json @@ -0,0 +1,41 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0003-mvm-video/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Video Example 3" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0003-mvm-video/canvas", + "type": "Canvas", + "height": 360, + "width": 480, + "duration": 572.034, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0003-mvm-video/canvas/page", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0003-mvm-video/canvas/page/annotation", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://fixtures.iiif.io/video/indiana/lunchroom_manners/high/lunchroom_manners_1024kb.mp4", + "type": "Video", + "height": 360, + "width": 480, + "duration": 572.034, + "format": "video/mp4" + }, + "target": "https://iiif.io/api/cookbook/recipe/0003-mvm-video/canvas" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0003-mvm-video.json b/fixtures/cookbook/0003-mvm-video.json index 4dc5945..ce3407d 100644 --- a/fixtures/cookbook/0003-mvm-video.json +++ b/fixtures/cookbook/0003-mvm-video.json @@ -12,7 +12,7 @@ "id": "https://iiif.io/api/cookbook/recipe/0003-mvm-video/canvas", "type": "Canvas", "height": 360, - "width": 640, + "width": 480, "duration": 572.034, "items": [ { diff --git a/fixtures/cookbook/0004-canvas-size-manifest.json b/fixtures/cookbook/0004-canvas-size-manifest.json new file mode 100644 index 0000000..2f7045a --- /dev/null +++ b/fixtures/cookbook/0004-canvas-size-manifest.json @@ -0,0 +1,39 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0004-canvas-size/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Still image from an opera performance at Indiana University" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0004-canvas-size/canvas/p1", + "type": "Canvas", + "height": 1080, + "width": 1920, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0004-canvas-size/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0004-canvas-size/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png", + "type": "Image", + "format": "image/png", + "height": 360, + "width": 640 + }, + "target": "https://iiif.io/api/cookbook/recipe/0004-canvas-size/canvas/p1" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0005-image-service-manifest.json b/fixtures/cookbook/0005-image-service-manifest.json new file mode 100644 index 0000000..c77d52c --- /dev/null +++ b/fixtures/cookbook/0005-image-service-manifest.json @@ -0,0 +1,51 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0005-image-service/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Picture of Göttingen taken during the 2019 IIIF Conference" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0005-image-service/canvas/p1", + "type": "Canvas", + "label": { + "en": [ + "Canvas with a single IIIF image" + ] + }, + "height": 3024, + "width": 4032, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0005-image-service/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0005-image-service/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 3024, + "width": 4032, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0005-image-service/canvas/p1" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0006-text-language-manifest.json b/fixtures/cookbook/0006-text-language-manifest.json new file mode 100644 index 0000000..7d9628a --- /dev/null +++ b/fixtures/cookbook/0006-text-language-manifest.json @@ -0,0 +1,107 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0006-text-language/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Whistler's Mother" + ], + "fr": [ + "La Mère de Whistler" + ] + }, + "metadata": [ + { + "label": { + "en": [ + "Creator" + ], + "fr": [ + "Auteur" + ] + }, + "value": { + "none": [ + "Whistler, James Abbott McNeill" + ] + } + }, + { + "label": { + "en": [ + "Subject" + ], + "fr": [ + "Sujet" + ] + }, + "value": { + "en": [ + "McNeill Anna Matilda, mother of Whistler (1804-1881)" + ], + "fr": [ + "McNeill Anna Matilda, mère de Whistler (1804-1881)" + ] + } + } + ], + "summary": { + "en": [ + "Arrangement in Grey and Black No. 1, also called Portrait of the Artist's Mother." + ], + "fr": [ + "Arrangement en gris et noir n°1, also called Portrait de la mère de l'artiste." + ] + }, + "requiredStatement": { + "label": { + "en": [ + "Held By" + ], + "fr": [ + "Détenu par" + ] + }, + "value": { + "none": [ + "Musée d'Orsay, Paris, France" + ] + } + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0006-text-language/canvas/p1", + "type": "Canvas", + "width": 1114, + "height": 991, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0006-text-language/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0006-text-language/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Whistlers_Mother/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 1114, + "height": 991, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Whistlers_Mother", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0006-text-language/canvas/p1" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0007-string-formats-manifest.json b/fixtures/cookbook/0007-string-formats-manifest.json new file mode 100644 index 0000000..87bc4f5 --- /dev/null +++ b/fixtures/cookbook/0007-string-formats-manifest.json @@ -0,0 +1,78 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0007-string-formats/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Picture of Göttingen taken during the 2019 IIIF Conference" + ] + }, + "summary": { + "en": [ + "

Picture taken by the IIIF Technical Coordinator

" + ] + }, + "metadata": [ + { + "label": { + "en": [ + "Author" + ] + }, + "value": { + "none": [ + "Glen Robson" + ] + } + } + ], + "rights": "http://creativecommons.org/licenses/by-sa/3.0/", + "requiredStatement": { + "label": { + "en": [ + "Attribution" + ] + }, + "value": { + "en": [ + "Glen Robson, IIIF Technical Coordinator. CC BY-SA 3.0 " + ] + } + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0007-string-formats/canvas/p1", + "type": "Canvas", + "height": 3024, + "width": 4032, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0007-string-formats/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0007-string-formats/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 3024, + "width": 4032, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0007-string-formats/canvas/p1" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0008-rights-manifest.json b/fixtures/cookbook/0008-rights-manifest.json new file mode 100644 index 0000000..1c63dab --- /dev/null +++ b/fixtures/cookbook/0008-rights-manifest.json @@ -0,0 +1,64 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0008-rights/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Picture of Göttingen taken during the 2019 IIIF Conference" + ] + }, + "summary": { + "en": [ + "

Picture taken by the IIIF Technical Coordinator

" + ] + }, + "rights": "http://creativecommons.org/licenses/by-sa/3.0/", + "requiredStatement": { + "label": { + "en": [ + "Attribution" + ] + }, + "value": { + "en": [ + "Glen Robson, IIIF Technical Coordinator. CC BY-SA 3.0 " + ] + } + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0008-rights/canvas/p1", + "type": "Canvas", + "height": 3024, + "width": 4032, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0008-rights/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0008-rights/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 3024, + "width": 4032, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0008-rights/canvas/p1" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0008-rights.json b/fixtures/cookbook/0008-rights.json index ab25810..1c63dab 100644 --- a/fixtures/cookbook/0008-rights.json +++ b/fixtures/cookbook/0008-rights.json @@ -21,7 +21,7 @@ }, "value": { "en": [ - "Glen Robson, IIIF Technical Coordinator. CC BY-SA 3.0 " + "Glen Robson, IIIF Technical Coordinator. CC BY-SA 3.0 " ] } }, diff --git a/fixtures/cookbook/0009-book-1-manifest.json b/fixtures/cookbook/0009-book-1-manifest.json new file mode 100644 index 0000000..3c0269f --- /dev/null +++ b/fixtures/cookbook/0009-book-1-manifest.json @@ -0,0 +1,210 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0009-book-1/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Simple Manifest - Book" + ] + }, + "behavior": [ + "paged" + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0009-book-1/canvas/p1", + "type": "Canvas", + "label": { + "en": [ + "Blank page" + ] + }, + "height": 4613, + "width": 3204, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0009-book-1/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0009-book-1/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 4613, + "width": 3204, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0009-book-1/canvas/p1" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0009-book-1/canvas/p2", + "type": "Canvas", + "label": { + "en": [ + "Frontispiece" + ] + }, + "width": 3186, + "height": 4612, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0009-book-1/page/p2/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0009-book-1/annotation/p0002-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 3186, + "height": 4612, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0009-book-1/canvas/p2" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0009-book-1/canvas/p3", + "type": "Canvas", + "label": { + "en": [ + "Title page" + ] + }, + "width": 3204, + "height": 4613, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0009-book-1/page/p3/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0009-book-1/annotation/p0003-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 3204, + "height": 4613, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0009-book-1/canvas/p3" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0009-book-1/canvas/p4", + "type": "Canvas", + "label": { + "en": [ + "Blank page" + ] + }, + "width": 3174, + "height": 4578, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0009-book-1/page/p4/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0009-book-1/annotation/p0004-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 3174, + "height": 4578, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0009-book-1/canvas/p4" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0009-book-1/canvas/p5", + "type": "Canvas", + "label": { + "en": [ + "Bookplate" + ] + }, + "width": 3198, + "height": 4632, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0009-book-1/page/p5/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0009-book-1/annotation/p0005-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 3198, + "height": 4632, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0009-book-1/canvas/p5" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0013-placeholderCanvas-manifest.json b/fixtures/cookbook/0013-placeholderCanvas-manifest.json new file mode 100644 index 0000000..6cf6568 --- /dev/null +++ b/fixtures/cookbook/0013-placeholderCanvas-manifest.json @@ -0,0 +1,68 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Video recording of Donizetti's _The Elixer of Love_" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/canvas/donizetti", + "type": "Canvas", + "duration": 7278.466, + "width": 640, + "height": 360, + "placeholderCanvas": { + "id": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/canvas/donizetti/placeholder", + "type": "Canvas", + "width": 640, + "height": 360, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/canvas/donizetti/placeholder/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/canvas/donizetti/placeholder/1-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png", + "type": "Image", + "format": "image/png", + "width": 640, + "height": 360 + }, + "target": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/canvas/donizetti/placeholder" + } + ] + } + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/donizetti/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/donizetti/1-video", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low.mp4", + "type": "Video", + "duration": 7278.466, + "width": 640, + "height": 360, + "format": "video/mp4" + }, + "target": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/canvas/donizetti" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0014-accompanyingcanvas-manifest.json b/fixtures/cookbook/0014-accompanyingcanvas-manifest.json new file mode 100644 index 0000000..88424df --- /dev/null +++ b/fixtures/cookbook/0014-accompanyingcanvas-manifest.json @@ -0,0 +1,81 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Partial audio recording of Gustav Mahler's _Symphony No. 3_" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/p1", + "type": "Canvas", + "label": { + "en": [ + "Gustav Mahler, Symphony No. 3, CD 1" + ] + }, + "duration": 1985.024, + "accompanyingCanvas": { + "id": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/accompanying", + "type": "Canvas", + "label": { + "en": [ + "First page of score for Gustav Mahler, Symphony No. 3" + ] + }, + "height": 998, + "width": 772, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/accompanying/annotation/page", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/accompanying/annotation/image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/4b45bba3ea612ee46f5371ce84dbcd89-mahler-0/full/,998/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 998, + "width": 772, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4b45bba3ea612ee46f5371ce84dbcd89-mahler-0", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/accompanying" + } + ] + } + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/page/p1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/page/annotation/segment1-audio", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://fixtures.iiif.io/audio/indiana/mahler-symphony-3/CD1/medium/128Kbps.mp4", + "type": "Sound", + "duration": 1985.024, + "format": "video/mp4" + }, + "target": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/p1" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0014-accompanyingcanvas.json b/fixtures/cookbook/0014-accompanyingcanvas.json index 641259e..88424df 100644 --- a/fixtures/cookbook/0014-accompanyingcanvas.json +++ b/fixtures/cookbook/0014-accompanyingcanvas.json @@ -71,7 +71,7 @@ "duration": 1985.024, "format": "video/mp4" }, - "target": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/page/p1" + "target": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/canvas/p1" } ] } diff --git a/fixtures/cookbook/0015-start-manifest.json b/fixtures/cookbook/0015-start-manifest.json new file mode 100644 index 0000000..671f781 --- /dev/null +++ b/fixtures/cookbook/0015-start-manifest.json @@ -0,0 +1,59 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0015-start/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Video of a 30-minute digital clock" + ] + }, + "start": { + "id": "https://iiif.io/api/cookbook/recipe/0015-start/canvas-start/segment1", + "type": "SpecificResource", + "source": "https://iiif.io/api/cookbook/recipe/0015-start/canvas/segment1", + "selector": { + "type": "PointSelector", + "t": 120.5 + } + }, + "rights": "http://creativecommons.org/licenses/by/3.0/", + "requiredStatement": { + "label": { + "en": [ + "Attribution" + ] + }, + "value": { + "en": [ + "The video was created by DrLex1 and was released using a Creative Commons Attribution license" + ] + } + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0015-start/canvas/segment1", + "type": "Canvas", + "duration": 1801.055, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0015-start/annotation/segment1/page", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0015-start/annotation/segment1-video", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://fixtures.iiif.io/video/indiana/30-minute-clock/medium/30-minute-clock.mp4", + "type": "Video", + "duration": 1801.055, + "format": "video/mp4" + }, + "target": "https://iiif.io/api/cookbook/recipe/0015-start/canvas/segment1" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0017-transcription-av-manifest.json b/fixtures/cookbook/0017-transcription-av-manifest.json new file mode 100644 index 0000000..8f8c7de --- /dev/null +++ b/fixtures/cookbook/0017-transcription-av-manifest.json @@ -0,0 +1,53 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0017-transcription-av/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Volleyball for Boys" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0017-transcription-av/canvas", + "type": "Canvas", + "height": 1080, + "width": 1920, + "duration": 662.037, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0017-transcription-av/canvas/page", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0017-transcription-av/canvas/page/annotation", + "type": "Annotation", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0017-transcription-av/canvas", + "body": { + "id": "https://fixtures.iiif.io/video/indiana/volleyball/high/volleyball-for-boys.mp4", + "type": "Video", + "format": "video/mp4", + "height": 1080, + "width": 1920, + "duration": 662.037 + } + } + ] + } + ], + "rendering": [ + { + "id": "https://fixtures.iiif.io/video/indiana/volleyball/volleyball.txt", + "type": "Text", + "label": { + "en": [ + "Transcript" + ] + }, + "format": "text/plain" + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0017-transcription-av.json b/fixtures/cookbook/0017-transcription-av.json index dbf6656..8f8c7de 100644 --- a/fixtures/cookbook/0017-transcription-av.json +++ b/fixtures/cookbook/0017-transcription-av.json @@ -45,7 +45,7 @@ "Transcript" ] }, - "format": "text/txt" + "format": "text/plain" } ] } diff --git a/fixtures/cookbook/0019-html-in-annotations-manifest.json b/fixtures/cookbook/0019-html-in-annotations-manifest.json new file mode 100644 index 0000000..f16c187 --- /dev/null +++ b/fixtures/cookbook/0019-html-in-annotations-manifest.json @@ -0,0 +1,66 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0019-html-in-annotations/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Picture of Göttingen taken during the 2019 IIIF Conference" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0019-html-in-annotations/canvas-1", + "type": "Canvas", + "height": 3024, + "width": 4032, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0019-html-in-annotations/canvas-1/annopage-1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0019-html-in-annotations/canvas-1/annopage-1/anno-1", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 3024, + "width": 4032, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0019-html-in-annotations/canvas-1" + } + ] + } + ], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0019-html-in-annotations/canvas-1/annopage-2", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0019-html-in-annotations/canvas-1/annopage-2/anno-1", + "type": "Annotation", + "motivation": "commenting", + "body": { + "type": "TextualBody", + "language": "de", + "format": "text/html", + "value": "

Göttinger Marktplatz mit Gänseliesel Brunnen Wikipedia logo

" + }, + "target": "https://iiif.io/api/cookbook/recipe/0019-html-in-annotations/canvas-1" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0021-tagging-manifest.json b/fixtures/cookbook/0021-tagging-manifest.json new file mode 100644 index 0000000..ba71232 --- /dev/null +++ b/fixtures/cookbook/0021-tagging-manifest.json @@ -0,0 +1,66 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0021-tagging/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Picture of Göttingen taken during the 2019 IIIF Conference" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0021-tagging/canvas/p1", + "type": "Canvas", + "height": 3024, + "width": 4032, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0021-tagging/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0021-tagging/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 3024, + "width": 4032, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0021-tagging/canvas/p1" + } + ] + } + ], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0021-tagging/page/p2/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0021-tagging/annotation/p0002-tag", + "type": "Annotation", + "motivation": "tagging", + "body": { + "type": "TextualBody", + "value": "Gänseliesel-Brunnen", + "language": "de", + "format": "text/plain" + }, + "target": "https://iiif.io/api/cookbook/recipe/0021-tagging/canvas/p1#xywh=265,661,1260,1239" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0022-linking-with-a-hotspot-manifest.json b/fixtures/cookbook/0022-linking-with-a-hotspot-manifest.json new file mode 100644 index 0000000..a9a7fc6 --- /dev/null +++ b/fixtures/cookbook/0022-linking-with-a-hotspot-manifest.json @@ -0,0 +1,115 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Picture of Göttingen taken during the 2019 IIIF Conference" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p1", + "type": "Canvas", + "height": 3024, + "width": 4032, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 3024, + "width": 4032, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p1" + } + ] + } + ], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p2/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0002-link", + "type": "Annotation", + "motivation": "linking", + "body": [ + { + "type": "TextualBody", + "language": "de", + "format": "text/plain", + "value": "A link to a close up of Gänseliesel-Brunnen fountain." + }, + { + "type": "SpecificResource", + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p2", + "type": "Canvas", + "partOf": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/manifest.json", + "type": "Manifest" + } + ] + } + } + ], + "target": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p1#xywh=265,661,1260,1239" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p2", + "type": "Canvas", + "height": 4032, + "width": 3024, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p2/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0002-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-fountain/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 4032, + "width": 3024, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-fountain/", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p2" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0022-linking-with-a-hotspot.json b/fixtures/cookbook/0022-linking-with-a-hotspot.json new file mode 100644 index 0000000..a9a7fc6 --- /dev/null +++ b/fixtures/cookbook/0022-linking-with-a-hotspot.json @@ -0,0 +1,115 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Picture of Göttingen taken during the 2019 IIIF Conference" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p1", + "type": "Canvas", + "height": 3024, + "width": 4032, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 3024, + "width": 4032, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p1" + } + ] + } + ], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p2/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0002-link", + "type": "Annotation", + "motivation": "linking", + "body": [ + { + "type": "TextualBody", + "language": "de", + "format": "text/plain", + "value": "A link to a close up of Gänseliesel-Brunnen fountain." + }, + { + "type": "SpecificResource", + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p2", + "type": "Canvas", + "partOf": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/manifest.json", + "type": "Manifest" + } + ] + } + } + ], + "target": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p1#xywh=265,661,1260,1239" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p2", + "type": "Canvas", + "height": 4032, + "width": 3024, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/page/p2/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/annotation/p0002-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-fountain/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 4032, + "width": 3024, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-fountain/", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/canvas/p2" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0024-book-4-toc-manifest.json b/fixtures/cookbook/0024-book-4-toc-manifest.json new file mode 100644 index 0000000..e4bae6e --- /dev/null +++ b/fixtures/cookbook/0024-book-4-toc-manifest.json @@ -0,0 +1,327 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Ethiopic Ms 10" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", + "type": "Canvas", + "label": { + "en": [ + "f. 1r" + ] + }, + "height": 2504, + "width": 1768, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 2504, + "width": 1768, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", + "type": "Canvas", + "label": { + "en": [ + "f. 1v" + ] + }, + "height": 2512, + "width": 1792, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p2/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0002-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 2512, + "width": 1792, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-2-21198-zz001d8m5j_774612_master", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", + "type": "Canvas", + "label": { + "en": [ + "f. 2r" + ] + }, + "height": 2456, + "width": 1792, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p3/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0003-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 2456, + "width": 1792, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", + "type": "Canvas", + "label": { + "en": [ + "f. 2v" + ] + }, + "height": 2440, + "width": 1760, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p4/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0004-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 2440, + "width": 1760, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", + "type": "Canvas", + "label": { + "en": [ + "f. 3r" + ] + }, + "height": 2416, + "width": 1776, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p5/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0005-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 2416, + "width": 1776, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-5-21198-zz001d8v6f_775077_master", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", + "type": "Canvas", + "label": { + "en": [ + "f. 3v" + ] + }, + "height": 2416, + "width": 1776, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/page/p6/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/annotation/p0006-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 2416, + "width": 1776, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-6-21198-zz001d8v7z_775085_master", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6" + } + ] + } + ] + } + ], + "structures": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r0", + "type": "Range", + "label": { + "en": [ + "Table of Contents" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r1", + "type": "Range", + "label": { + "gez": [ + "Tabiba Tabiban [ጠቢበ ጠቢባን]" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p1", + "type": "Canvas" + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p2", + "type": "Canvas" + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2", + "type": "Range", + "label": { + "gez": [ + "Arede'et [አርድዕት]" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/1", + "type": "Range", + "label": { + "en": [ + "Monday" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p3", + "type": "Canvas" + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p4", + "type": "Canvas" + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/range/r2/2", + "type": "Range", + "label": { + "en": [ + "Tuesday" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p5", + "type": "Canvas" + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/canvas/p6", + "type": "Canvas" + } + ] + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0026-toc-opera-manifest.json b/fixtures/cookbook/0026-toc-opera-manifest.json new file mode 100644 index 0000000..d890373 --- /dev/null +++ b/fixtures/cookbook/0026-toc-opera-manifest.json @@ -0,0 +1,113 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json", + "type": "Manifest", + "label": { + "it": [ + "L'Elisir D'Amore" + ], + "en": [ + "The Elixir of Love" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1", + "type": "Canvas", + "width": 1920, + "height": 1080, + "duration": 7278.422, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1/annotation_page/1/annotation/1", + "type": "Annotation", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1", + "body": { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low.mp4", + "type": "Video", + "format": "video/mp4", + "height": 1080, + "width": 1920, + "duration": 7278.422 + } + } + ] + } + ] + } + ], + "structures": [ + { + "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/1", + "label": { + "it": [ + "Gaetano Donizetti, L'Elisir D'Amore" + ] + }, + "items": [ + { + "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/2", + "label": { + "it": [ + "Atto Primo" + ] + }, + "items": [ + { + "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/3", + "label": { + "it": [ + "Preludio e Coro d'introduzione – Bel conforto al mietitore" + ] + }, + "items": [ + { + "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=0,302.05" + } + ] + }, + { + "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/4", + "label": { + "en": [ + "Remainder of Atto Primo" + ] + }, + "items": [ + { + "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=302.05,3971.24" + } + ] + } + ] + }, + { + "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/range/5", + "label": { + "it": [ + "Atto Secondo" + ] + }, + "items": [ + { + "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/canvas/1#t=3971.24" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0029-metadata-anywhere-manifest.json b/fixtures/cookbook/0029-metadata-anywhere-manifest.json new file mode 100644 index 0000000..76ed8e7 --- /dev/null +++ b/fixtures/cookbook/0029-metadata-anywhere-manifest.json @@ -0,0 +1,180 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "John Dee performing an experiment before Queen Elizabeth I." + ] + }, + "metadata": [ + { + "label": { + "en": [ + "Creator" + ] + }, + "value": { + "en": [ + "Glindoni, Henry Gillard, 1852-1913" + ] + } + }, + { + "label": { + "en": [ + "Date" + ] + }, + "value": { + "en": [ + "1800-1899" + ] + } + }, + { + "label": { + "en": [ + "Physical Description" + ] + }, + "value": { + "en": [ + "1 painting : oil on canvas ; canvas 152 x 244.4 cm" + ] + } + }, + { + "label": { + "en": [ + "Reference" + ] + }, + "value": { + "en": [ + "Wellcome Library no. 47369i" + ] + } + } + ], + "requiredStatement": { + "label": { + "en": [ + "Attribution" + ] + }, + "value": { + "en": [ + "Wellcome Collection. Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)" + ] + } + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p1", + "type": "Canvas", + "label": { + "en": [ + "Painting under natural light" + ] + }, + "height": 1271, + "width": 2000, + "metadata": [ + { + "label": { + "en": [ + "Description" + ] + }, + "value": { + "en": [ + "The scene is the house at Mortlake of Dr John Dee (1527-1608). At the court of Queen Elizabeth I, Dee was revered for the range of his scientific knowledge, which embraced the fields of mathematics, navigation, geography, alchemy/chemistry, medicine and optics. In the painting he is showing the effect of combining two elements, either to cause combustion or to extinguish it. Behind him is his assistant Edward Kelly, wearing a long skullcap to conceal the fact that his ears had been cropped as a punishment for forgery." + ] + } + } + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 1271, + "width": 2000, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p1" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p2", + "type": "Canvas", + "label": { + "en": [ + "X-ray view of painting" + ] + }, + "height": 1271, + "width": 2000, + "metadata": [ + { + "label": { + "en": [ + "Description" + ] + }, + "value": { + "en": [ + "The painting originally showed Dee standing in a circle of skulls on the floor, stretching from the floor area in front of the Queen (on the left) to the floor near Edward Kelly (on the right). The skulls were at an early stage painted over, but have since become visible. Another pentimento is visible in the tapestry on the right: shelves containing monstrous animals are visible behind it. The pentimenti were clarified when the painting was X-rayed in 2015." + ] + } + } + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/page/p2/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/annotation/p0002-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 1271, + "width": 2000, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/canvas/p2" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0031-bound-multivolume-manifest.json b/fixtures/cookbook/0031-bound-multivolume-manifest.json new file mode 100644 index 0000000..c56c3e5 --- /dev/null +++ b/fixtures/cookbook/0031-bound-multivolume-manifest.json @@ -0,0 +1,316 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json", + "type": "Manifest", + "label": { + "de": [ + "Gottesdienstliche Ceremonien, Oder H. Kirchen-Gebräuche Und Religions-Pflichten Der Christen" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", + "type": "Canvas", + "label": { + "en": [ + "Front cover" + ] + }, + "height": 7230, + "width": 5428, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 7230, + "width": 5428, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-1_frontcover", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", + "type": "Canvas", + "label": { + "en": [ + "Inside front cover" + ] + }, + "height": 7230, + "width": 5428, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p2/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0002-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 7230, + "width": 5428, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-2_insidefrontcover", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", + "type": "Canvas", + "label": { + "en": [ + "Vol. 1 title page" + ] + }, + "height": 7230, + "width": 5428, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p3/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0003-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 7230, + "width": 5428, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-3_titlepage1", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", + "type": "Canvas", + "label": { + "en": [ + "Vol. 1 title page (verso)" + ] + }, + "height": 7230, + "width": 5428, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p4/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0004-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 7230, + "width": 5428, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-4_titlepage1_verso", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", + "type": "Canvas", + "label": { + "en": [ + "Vol. 2 title page" + ] + }, + "height": 7230, + "width": 5428, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p5/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0005-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2/max/full/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 7230, + "width": 5428, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-5_titlepage2", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", + "type": "Canvas", + "label": { + "en": [ + "Vol. 2 title page (verso)" + ] + }, + "height": 7230, + "width": 5428, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/page/p6/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/annotation/p0006-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso/max/full/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 7230, + "width": 5428, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/15f769d62ca9a3a2deca390efed75d73-6_titlepage2_verso", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6" + } + ] + } + ] + } + ], + "structures": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r0", + "type": "Range", + "label": { + "de": [ + "Gottesdienstliche Ceremonien, Oder H. Kirchen-Gebräuche Und Religions-Pflichten Der Christen" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r1", + "type": "Range", + "label": { + "en": [ + "Front Matter" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p1", + "type": "Canvas" + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p2", + "type": "Canvas" + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r2", + "type": "Range", + "label": { + "de": [ + "Erste Ausgabe. Begreift die Ceremonien der Lutheraner von der Augspurgischen Confession, der Reformirten, der Holländischen u. a. Kirchen" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p3", + "type": "Canvas" + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p4", + "type": "Canvas" + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/range/r3", + "type": "Range", + "label": { + "de": [ + "Zweyte Ausgabe. Begreift die Ceremonien der Engl. hohen Kirche : Der Quacker, der Anabaptisten, der Adamiten, der Flagellanten, der Frey-Maurer, der Rhinsbürger..." + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p5", + "type": "Canvas" + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/canvas/p6", + "type": "Canvas" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0032-collection-collection.json b/fixtures/cookbook/0032-collection-collection.json new file mode 100644 index 0000000..4a14660 --- /dev/null +++ b/fixtures/cookbook/0032-collection-collection.json @@ -0,0 +1,30 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/collection.json", + "type": "Collection", + "label": { + "en": [ + "Simple Collection Example" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-01.json", + "type": "Manifest", + "label": { + "en": [ + "The Gulf Stream" + ] + } + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-02.json", + "type": "Manifest", + "label": { + "en": [ + "Northeaster" + ] + } + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0032-collection-manifest-01.json b/fixtures/cookbook/0032-collection-manifest-01.json new file mode 100644 index 0000000..2613562 --- /dev/null +++ b/fixtures/cookbook/0032-collection-manifest-01.json @@ -0,0 +1,72 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-01.json", + "type": "Manifest", + "label": { + "en": [ + "The Gulf Stream" + ] + }, + "metadata": [ + { + "label": { + "en": [ + "Artist" + ] + }, + "value": { + "en": [ + "Winslow Homer (1836–1910)" + ] + } + }, + { + "label": { + "en": [ + "Date" + ] + }, + "value": { + "en": [ + "1899" + ] + } + } + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/canvas/p1", + "type": "Canvas", + "height": 3540, + "width": 5886, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Winslow_Homer_-_The_Gulf_Stream_-_Metropolitan_Museum_of_Art/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 3540, + "width": 5886, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Winslow_Homer_-_The_Gulf_Stream_-_Metropolitan_Museum_of_Art", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/1/canvas/p1" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0032-collection-manifest-02.json b/fixtures/cookbook/0032-collection-manifest-02.json new file mode 100644 index 0000000..18d1b78 --- /dev/null +++ b/fixtures/cookbook/0032-collection-manifest-02.json @@ -0,0 +1,72 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-02.json", + "type": "Manifest", + "label": { + "en": [ + "Northeaster" + ] + }, + "metadata": [ + { + "label": { + "en": [ + "Artist" + ] + }, + "value": { + "en": [ + "Winslow Homer (1836–1910)" + ] + } + }, + { + "label": { + "en": [ + "Date" + ] + }, + "value": { + "en": [ + "1895" + ] + } + } + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/canvas/p1", + "type": "Canvas", + "height": 2572, + "width": 3764, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Northeaster_by_Winslow_Homer_1895/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 2572, + "width": 3764, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/329817fc8a251a01c393f517d8a17d87-Northeaster_by_Winslow_Homer_1895", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest/2/canvas/p1" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0033-choice-manifest.json b/fixtures/cookbook/0033-choice-manifest.json new file mode 100644 index 0000000..4721fe5 --- /dev/null +++ b/fixtures/cookbook/0033-choice-manifest.json @@ -0,0 +1,75 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "John Dee performing an experiment before Queen Elizabeth I." + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0033-choice/canvas/p1", + "type": "Canvas", + "height": 1271, + "width": 2000, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0033-choice/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0033-choice/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "type": "Choice", + "items": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 2000, + "height": 1271, + "label": { + "en": [ + "Natural Light" + ] + }, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 2000, + "height": 1271, + "label": { + "en": [ + "X-Ray" + ] + }, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", + "type": "ImageService3", + "profile": "level1" + } + ] + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0033-choice/canvas/p1" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0035-foldouts-manifest.json b/fixtures/cookbook/0035-foldouts-manifest.json new file mode 100644 index 0000000..1bbfc2f --- /dev/null +++ b/fixtures/cookbook/0035-foldouts-manifest.json @@ -0,0 +1,369 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Outlines of geology being the substance of a course of lectures delivered in the Theatre of the Royal Institution in the year 1816" + ] + }, + "behavior": [ + "paged" + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/1", + "type": "Canvas", + "height": 4429, + "width": 2533, + "label": { + "en": [ + "Front cover" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 4429, + "width": 2533, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/1" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/2", + "type": "Canvas", + "height": 4315, + "width": 2490, + "label": { + "en": [ + "Inside front cover" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/2/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0002-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 4315, + "width": 2490, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/2" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/3", + "type": "Canvas", + "height": 4278, + "width": 2197, + "label": { + "en": [ + "Foldout, folded" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/3/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0003-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 4278, + "width": 2197, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/3" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/4", + "type": "Canvas", + "behavior": [ + "non-paged" + ], + "height": 1968, + "width": 3688, + "label": { + "en": [ + "Foldout, unfolded" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/4/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0004-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 1968, + "width": 3688, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/4" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/5", + "type": "Canvas", + "height": 1968, + "width": 3688, + "label": { + "en": [ + "Foldout, folded (recto)" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/5/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0005-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 1968, + "width": 3688, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/5" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/6", + "type": "Canvas", + "height": 4315, + "width": 2490, + "label": { + "en": [ + "Title page" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/6/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0006-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 4315, + "width": 2490, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/6" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/7", + "type": "Canvas", + "height": 4315, + "width": 2490, + "label": { + "en": [ + "Back of title page" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/7/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0007-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 4315, + "width": 2490, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/7" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/8", + "type": "Canvas", + "height": 4315, + "width": 2490, + "label": { + "en": [ + "Inside back cover" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/8/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0008-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 4315, + "width": 2490, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/8" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/9", + "type": "Canvas", + "height": 4315, + "width": 2490, + "label": { + "en": [ + "Back cover" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/9/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0009-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 4315, + "width": 2490, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/9" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0036-composition-from-multiple-images-manifest.json b/fixtures/cookbook/0036-composition-from-multiple-images-manifest.json new file mode 100644 index 0000000..08c68f9 --- /dev/null +++ b/fixtures/cookbook/0036-composition-from-multiple-images-manifest.json @@ -0,0 +1,76 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Folio from Grandes Chroniques de France, ca. 1460" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1", + "type": "Canvas", + "label": { + "none": [ + "f. 033v-034r [Chilpéric Ier tue Galswinthe, se remarie et est assassiné]" + ] + }, + "height": 5412, + "width": 7216, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 5412, + "width": 7216, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1" + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/annotation/p0002-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "label": { + "fr": [ + "Miniature [Chilpéric Ier tue Galswinthe, se remarie et est assassiné]" + ] + }, + "width": 2138, + "height": 2414, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/canvas/p1#xywh=3949,994,1091,1232" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0036-composition-from-multiple-images.json b/fixtures/cookbook/0036-composition-from-multiple-images.json index 0b60a57..08c68f9 100644 --- a/fixtures/cookbook/0036-composition-from-multiple-images.json +++ b/fixtures/cookbook/0036-composition-from-multiple-images.json @@ -48,7 +48,7 @@ "type": "Annotation", "motivation": "painting", "body": { - "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature/full/max/0/native.jpg", + "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature/full/max/0/default.jpg", "type": "Image", "format": "image/jpeg", "label": { @@ -61,8 +61,8 @@ "service": [ { "id": "https://iiif.io/api/image/3.0/example/reference/899da506920824588764bc12b10fc800-bnf_chateauroux_miniature", - "type": "ImageService1", - "profile": "level2" + "type": "ImageService3", + "profile": "level1" } ] }, diff --git a/fixtures/cookbook/0046-rendering-manifest.json b/fixtures/cookbook/0046-rendering-manifest.json new file mode 100644 index 0000000..55ebd3e --- /dev/null +++ b/fixtures/cookbook/0046-rendering-manifest.json @@ -0,0 +1,225 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Alternative Representations Through Rendering" + ] + }, + "summary": { + "en": [ + "Playbill for \"Akiba gongen kaisen-banashi,\" \"Futatsu chōchō kuruwa nikki\" and \"Godairiki koi no fūjime\" performed at the Chikugo Theater in Osaka from the fifth month of Kaei 2 (May, 1849); main actors: Gadō Kataoka II, Ebizō Ichikawa VI, Kitō Sawamura II, Daigorō Mimasu IV and Karoku Nakamura I; on front cover: producer Mominosuke Ichikawa's crest." + ] + }, + "viewingDirection": "right-to-left", + "rendering": [ + { + "id": "https://fixtures.iiif.io/other/UCLA/kabuki_ezukushi_rtl.pdf", + "type": "Text", + "label": { + "en": [ + "PDF version" + ] + }, + "format": "application/pdf" + } + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p1", + "type": "Canvas", + "label": { + "en": [ + "front cover" + ] + }, + "width": 3497, + "height": 4823, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 3497, + "height": 4823, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p1" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p2", + "type": "Canvas", + "label": { + "en": [ + "pages 1–2" + ] + }, + "width": 6062, + "height": 4804, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p2/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0002-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 6062, + "height": 4804, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p2" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p3", + "type": "Canvas", + "label": { + "en": [ + "pages 3–4" + ] + }, + "width": 6127, + "height": 4776, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p3/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0003-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 6127, + "height": 4776, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p3" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p4", + "type": "Canvas", + "label": { + "en": [ + "pages 5–6" + ] + }, + "width": 6124, + "height": 4751, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p4/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0004-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 6124, + "height": 4751, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p4" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p5", + "type": "Canvas", + "label": { + "en": [ + "back cover" + ] + }, + "width": 3510, + "height": 4808, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/page/p5/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0046-rendering/annotation/p0005-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 3510, + "height": 4808, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0046-rendering/canvas/p5" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0047-homepage-manifest.json b/fixtures/cookbook/0047-homepage-manifest.json new file mode 100644 index 0000000..1efc592 --- /dev/null +++ b/fixtures/cookbook/0047-homepage-manifest.json @@ -0,0 +1,66 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json", + "type": "Manifest", + "label": { + "none": [ + "Laocöon" + ] + }, + "homepage": [ + { + "id": "https://www.getty.edu/art/collection/object/103RQQ", + "type": "Text", + "label": { + "en": [ + "Home page at the Getty Museum Collection" + ] + }, + "format": "text/html", + "language": [ + "en" + ] + } + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1", + "type": "Canvas", + "label": { + "none": [ + "Front" + ] + }, + "height": 3000, + "width": 2315, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1/page/1/annotation/1", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/!500,500/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", + "type": "ImageService3", + "profile": "level1" + } + ], + "height": 3000, + "width": 2315 + }, + "target": "https://iiif.io/api/cookbook/recipe/0047-homepage/canvas/1" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0047-homepage.json b/fixtures/cookbook/0047-homepage.json index 4708c7f..1efc592 100644 --- a/fixtures/cookbook/0047-homepage.json +++ b/fixtures/cookbook/0047-homepage.json @@ -48,9 +48,9 @@ "format": "image/jpeg", "service": [ { - "@id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", - "@type": "ImageService3", - "profile": "http://iiif.io/api/image/2/level1.json" + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", + "type": "ImageService3", + "profile": "level1" } ], "height": 3000, diff --git a/fixtures/cookbook/0053-seeAlso-manifest.json b/fixtures/cookbook/0053-seeAlso-manifest.json new file mode 100644 index 0000000..0f06f92 --- /dev/null +++ b/fixtures/cookbook/0053-seeAlso-manifest.json @@ -0,0 +1,226 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Linking to Structured Metadata" + ] + }, + "summary": { + "en": [ + "Playbill for \"Akiba gongen kaisen-banashi,\" \"Futatsu chōchō kuruwa nikki\" and \"Godairiki koi no fūjime\" performed at the Chikugo Theater in Osaka from the fifth month of Kaei 2 (May, 1849); main actors: Gadō Kataoka II, Ebizō Ichikawa VI, Kitō Sawamura II, Daigorō Mimasu IV and Karoku Nakamura I; on front cover: producer Mominosuke Ichikawa's crest." + ] + }, + "viewingDirection": "right-to-left", + "seeAlso": [ + { + "id": "https://fixtures.iiif.io/other/UCLA/ezukushi_mods.xml", + "type": "Dataset", + "label": { + "en": [ + "MODS metadata" + ] + }, + "format": "text/xml", + "profile": "http://www.loc.gov/mods/v3" + } + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p1", + "type": "Canvas", + "label": { + "en": [ + "front cover" + ] + }, + "width": 3497, + "height": 4823, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 4823, + "width": 3497, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p1" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p2", + "type": "Canvas", + "label": { + "en": [ + "pages 1–2" + ] + }, + "width": 6062, + "height": 4804, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p2/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0002-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 6062, + "height": 4804, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_002", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p2" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p3", + "type": "Canvas", + "label": { + "en": [ + "pages 3–4" + ] + }, + "width": 6127, + "height": 4776, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p3/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0003-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 6127, + "height": 4776, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_003", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p3" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p4", + "type": "Canvas", + "label": { + "en": [ + "pages 5–6" + ] + }, + "width": 6124, + "height": 4751, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p4/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0004-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 6124, + "height": 4751, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_004", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p4" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p5", + "type": "Canvas", + "label": { + "en": [ + "back cover" + ] + }, + "width": 3510, + "height": 4808, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/page/p5/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/annotation/p0005-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 3510, + "height": 4808, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_005", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/canvas/p5" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0064-opera-one-canvas-manifest.json b/fixtures/cookbook/0064-opera-one-canvas-manifest.json new file mode 100644 index 0000000..54cd415 --- /dev/null +++ b/fixtures/cookbook/0064-opera-one-canvas-manifest.json @@ -0,0 +1,159 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json", + "type": "Manifest", + "label": { + "it": [ + "L'Elisir D'Amore" + ], + "en": [ + "The Elixir of Love" + ] + }, + "metadata": [ + { + "label": { + "en": [ + "Date Issued" + ] + }, + "value": { + "en": [ + "2019" + ] + } + }, + { + "label": { + "en": [ + "Publisher" + ] + }, + "value": { + "en": [ + "Indiana University Jacobs School of Music" + ] + } + } + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1", + "type": "Canvas", + "width": 1920, + "height": 1080, + "duration": 7278.422, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/1", + "type": "Annotation", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=0,3971.24", + "body": { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4", + "type": "Video", + "format": "video/mp4", + "height": 1080, + "width": 1920, + "duration": 3971.24 + } + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/2", + "type": "Annotation", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=3971.24", + "body": { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4", + "type": "Video", + "format": "video/mp4", + "height": 1080, + "width": 1920, + "duration": 3307.22 + } + } + ] + } + ], + "thumbnail": [ + { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png", + "type": "Image" + } + ] + } + ], + "structures": [ + { + "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/1", + "label": { + "it": [ + "Gaetano Donizetti, L'Elisir D'Amore" + ] + }, + "items": [ + { + "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/2", + "label": { + "it": [ + "Atto Primo" + ] + }, + "items": [ + { + "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/3", + "label": { + "it": [ + "Preludio e Coro d'introduzione – Bel conforto al mietitore" + ] + }, + "items": [ + { + "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=0,302.05" + } + ] + }, + { + "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/4", + "label": { + "en": [ + "Remainder of Atto Primo" + ] + }, + "items": [ + { + "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=302.05,3971.24" + } + ] + } + ] + }, + { + "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/5", + "label": { + "it": [ + "Atto Secondo" + ] + }, + "items": [ + { + "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=3971.24,7278.422" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0065-opera-multiple-canvases-manifest.json b/fixtures/cookbook/0065-opera-multiple-canvases-manifest.json new file mode 100644 index 0000000..34c1e31 --- /dev/null +++ b/fixtures/cookbook/0065-opera-multiple-canvases-manifest.json @@ -0,0 +1,190 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json", + "type": "Manifest", + "label": { + "it": [ + "L'Elisir D'Amore" + ], + "en": [ + "The Elixir of Love" + ] + }, + "metadata": [ + { + "label": { + "en": [ + "Date Issued" + ] + }, + "value": { + "en": [ + "2019" + ] + } + }, + { + "label": { + "en": [ + "Publisher" + ] + }, + "value": { + "en": [ + "Indiana University Jacobs School of Music" + ] + } + } + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1", + "type": "Canvas", + "width": 1920, + "height": 1080, + "duration": 3971.24, + "label": { + "en": [ + "Atto Primo" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1/annotation_page/1/annotation/1", + "type": "Annotation", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1", + "body": { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4", + "type": "Video", + "format": "video/mp4", + "height": 1080, + "width": 1920, + "duration": 3971.24 + } + } + ] + } + ], + "thumbnail": [ + { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png", + "type": "Image" + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2", + "type": "Canvas", + "width": 1920, + "height": 1080, + "duration": 3307.22, + "label": { + "en": [ + "Atto Secondo" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2/annotation_page/1/annotation/1", + "type": "Annotation", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2", + "body": { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4", + "type": "Video", + "format": "video/mp4", + "height": 1080, + "width": 1920, + "duration": 3307.22 + } + } + ] + } + ], + "thumbnail": [ + { + "id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act2-thumbnail.png", + "type": "Image" + } + ] + } + ], + "structures": [ + { + "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/1", + "label": { + "it": [ + "Gaetano Donizetti, L'Elisir D'Amore" + ] + }, + "items": [ + { + "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/2", + "label": { + "en": [ + "Atto Primo" + ] + }, + "items": [ + { + "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/3", + "label": { + "it": [ + "Preludio e Coro d'introduzione – Bel conforto al mietitore" + ] + }, + "items": [ + { + "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=0,302.05" + } + ] + }, + { + "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/4", + "label": { + "en": [ + "Remainder of Atto Primo" + ] + }, + "items": [ + { + "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/1#t=302.05,3971.24" + } + ] + } + ] + }, + { + "type": "Range", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/range/5", + "label": { + "en": [ + "Atto Secondo" + ] + }, + "items": [ + { + "type": "Canvas", + "id": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/canvas/2#t=0,3307.22" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0074-multiple-language-captions-manifest.json b/fixtures/cookbook/0074-multiple-language-captions-manifest.json new file mode 100644 index 0000000..2dac88b --- /dev/null +++ b/fixtures/cookbook/0074-multiple-language-captions-manifest.json @@ -0,0 +1,98 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json", + "type": "Manifest", + "label": { + "it": [ + "Per voi signore. Modelli francesi" + ], + "en": [ + "For ladies. French models" + ] + }, + "rights": "http://rightsstatements.org/vocab/InC/1.0/", + "requiredStatement": { + "label": { + "en": [ + "Rights" + ] + }, + "value": { + "en": [ + "All rights reserved Cinecittà Luce spa" + ] + } + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas", + "type": "Canvas", + "height": 384, + "width": 288, + "duration": 65.0, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas/page/annotation", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://fixtures.iiif.io/video/europeana/Per_voi_signore_Modelli_francesi.mp4", + "type": "Video", + "height": 384, + "width": 288, + "duration": 65.0, + "format": "video/mp4" + }, + "target": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas" + } + ] + } + ], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/anno/page/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json/subtitles_captions-files-vtt", + "type": "Annotation", + "motivation": "supplementing", + "body": { + "type": "Choice", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_en.vtt", + "type": "Text", + "format": "text/vtt", + "label": { + "en": [ + "Captions in WebVTT format" + ] + }, + "language": "en" + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/Per_voi_signore_Modelli_francesi_it.vtt", + "type": "Text", + "format": "text/vtt", + "label": { + "it": [ + "Sottotitoli in formato WebVTT" + ] + }, + "language": "it" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/canvas" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0117-add-image-thumbnail-manifest.json b/fixtures/cookbook/0117-add-image-thumbnail-manifest.json new file mode 100644 index 0000000..a6411af --- /dev/null +++ b/fixtures/cookbook/0117-add-image-thumbnail-manifest.json @@ -0,0 +1,95 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Playbill Cover with Manifest Thumbnail" + ] + }, + "summary": { + "en": [ + "Cover of playbill for \"Akiba gongen kaisen-banashi,\" \"Futatsu chōchō kuruwa nikki\" and \"Godairiki koi no fūjime\" performed at the Chikugo Theater in Osaka from the fifth month of Kaei 2 (May, 1849); main actors: Gadō Kataoka II, Ebizō Ichikawa VI, Kitō Sawamura II, Daigorō Mimasu IV and Karoku Nakamura I; on front cover: producer Mominosuke Ichikawa's crest." + ] + }, + "thumbnail": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 4823, + "width": 3497, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001", + "type": "ImageService3", + "profile": "level1", + "height": 4823, + "width": 3497, + "extraFormats": [ + "png" + ], + "extraQualities": [ + "default", + "color", + "gray" + ], + "protocol": "http://iiif.io/api/image", + "tiles": [ + { + "height": 512, + "scaleFactors": [ + 1, + 2, + 4, + 8 + ], + "width": 512 + } + ] + } + ] + } + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/canvas/p0", + "type": "Canvas", + "label": { + "en": [ + "front cover with color bar" + ] + }, + "width": 4520, + "height": 5312, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/page/p0/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/annotation/p0000-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 5312, + "width": 4520, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/canvas/p0" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0117-add-image-thumbnail.json b/fixtures/cookbook/0117-add-image-thumbnail.json index 937a850..a6411af 100644 --- a/fixtures/cookbook/0117-add-image-thumbnail.json +++ b/fixtures/cookbook/0117-add-image-thumbnail.json @@ -17,15 +17,16 @@ "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001/full/max/0/default.jpg", "type": "Image", "format": "image/jpeg", - "height": 300, - "width": 219, + "height": 4823, + "width": 3497, "service": [ { "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001", "type": "ImageService3", "profile": "level1", + "height": 4823, + "width": 3497, "extraFormats": [ - "jpg", "png" ], "extraQualities": [ diff --git a/fixtures/cookbook/0118-multivalue-manifest.json b/fixtures/cookbook/0118-multivalue-manifest.json new file mode 100644 index 0000000..9525a66 --- /dev/null +++ b/fixtures/cookbook/0118-multivalue-manifest.json @@ -0,0 +1,61 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/manifest.json", + "type": "Manifest", + "label": { + "fr": [ + "Arrangement en gris et noir no 1" + ] + }, + "metadata": [ + { + "label": { + "en": [ + "Alternative titles" + ] + }, + "value": { + "en": [ + "Whistler's Mother", + "Arrangement in Grey and Black No. 1" + ], + "fr": [ + "Portrait de la mère de l'artiste", + "La Mère de Whistler" + ] + } + } + ], + "summary": { + "en": [ + "A painting in oil on canvas created by the American-born painter James McNeill Whistler, in 1871." + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1", + "type": "Canvas", + "width": 1114, + "height": 991, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1/page/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1/page/1/annotation/1", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Whistlers_Mother_high_res.jpg/1114px-Whistlers_Mother_high_res.jpg", + "type": "Image", + "format": "image/jpeg" + }, + "target": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0118-multivalue.json b/fixtures/cookbook/0118-multivalue.json new file mode 100644 index 0000000..9525a66 --- /dev/null +++ b/fixtures/cookbook/0118-multivalue.json @@ -0,0 +1,61 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/manifest.json", + "type": "Manifest", + "label": { + "fr": [ + "Arrangement en gris et noir no 1" + ] + }, + "metadata": [ + { + "label": { + "en": [ + "Alternative titles" + ] + }, + "value": { + "en": [ + "Whistler's Mother", + "Arrangement in Grey and Black No. 1" + ], + "fr": [ + "Portrait de la mère de l'artiste", + "La Mère de Whistler" + ] + } + } + ], + "summary": { + "en": [ + "A painting in oil on canvas created by the American-born painter James McNeill Whistler, in 1871." + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1", + "type": "Canvas", + "width": 1114, + "height": 991, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1/page/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1/page/1/annotation/1", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Whistlers_Mother_high_res.jpg/1114px-Whistlers_Mother_high_res.jpg", + "type": "Image", + "format": "image/jpeg" + }, + "target": "https://iiif.io/api/cookbook/recipe/0118-multivalue/canvas/1" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0135-annotating-point-in-canvas-manifest.json b/fixtures/cookbook/0135-annotating-point-in-canvas-manifest.json new file mode 100644 index 0000000..354d8db --- /dev/null +++ b/fixtures/cookbook/0135-annotating-point-in-canvas-manifest.json @@ -0,0 +1,89 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Using a point selector for annotating a location on a map." + ] + }, + "summary": { + "en": [ + "A map containing an point with an annotation of the location." + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/canvas.json", + "type": "Canvas", + "label": { + "en": [ + "Chesapeake and Ohio Canal Pamphlet" + ] + }, + "height": 7072, + "width": 5212, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/contentPage.json", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/content.json", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 7072, + "width": 5212, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/canvas.json" + } + ] + } + ], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/page/p2/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/annotation/p0002-tag", + "type": "Annotation", + "label": { + "en": [ + "Annotation containing the name of the place annotated using the PointSelector." + ] + }, + "motivation": "tagging", + "body": { + "type": "TextualBody", + "value": "Town Creek Aqueduct", + "language": "en", + "format": "text/plain" + }, + "target": { + "type": "SpecificResource", + "source": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/canvas.json", + "selector": { + "type": "PointSelector", + "x": 3385, + "y": 1464 + } + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0135-annotating-point-in-canvas.json b/fixtures/cookbook/0135-annotating-point-in-canvas.json new file mode 100644 index 0000000..354d8db --- /dev/null +++ b/fixtures/cookbook/0135-annotating-point-in-canvas.json @@ -0,0 +1,89 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Using a point selector for annotating a location on a map." + ] + }, + "summary": { + "en": [ + "A map containing an point with an annotation of the location." + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/canvas.json", + "type": "Canvas", + "label": { + "en": [ + "Chesapeake and Ohio Canal Pamphlet" + ] + }, + "height": 7072, + "width": 5212, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/contentPage.json", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/content.json", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 7072, + "width": 5212, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/canvas.json" + } + ] + } + ], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/page/p2/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/annotation/p0002-tag", + "type": "Annotation", + "label": { + "en": [ + "Annotation containing the name of the place annotated using the PointSelector." + ] + }, + "motivation": "tagging", + "body": { + "type": "TextualBody", + "value": "Town Creek Aqueduct", + "language": "en", + "format": "text/plain" + }, + "target": { + "type": "SpecificResource", + "source": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/canvas.json", + "selector": { + "type": "PointSelector", + "x": 3385, + "y": 1464 + } + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0139-geolocate-canvas-fragment-manifest.json b/fixtures/cookbook/0139-geolocate-canvas-fragment-manifest.json new file mode 100644 index 0000000..f8dc9aa --- /dev/null +++ b/fixtures/cookbook/0139-geolocate-canvas-fragment-manifest.json @@ -0,0 +1,117 @@ +{ + "@context": [ + "http://geojson.org/geojson-ld/geojson-context.jsonld", + "http://iiif.io/api/presentation/3/context.json" + ], + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Recipe Manifest for #139" + ] + }, + "summary": { + "en": [ + "A IIIF Presentation API 3.0 Manifest containing a GeoJSON-LD Web Annotation which targets a Canvas fragment." + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json", + "type": "Canvas", + "label": { + "en": [ + "Chesapeake and Ohio Canal Pamphlet" + ] + }, + "width": 5212, + "height": 7072, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/contentPage.json", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/content.json", + "type": "Annotation", + "motivation": "painting", + "label": { + "en": [ + "Pamphlet Cover" + ] + }, + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/43153e2ec7531f14dd1c9b2fc401678a-88695674", + "type": "ImageService3", + "profile": "level1" + } + ], + "width": 5212, + "height": 7072 + }, + "target": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json" + } + ] + } + ], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/supplementingPage.json", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geoAnno.json", + "type": "Annotation", + "motivation": "tagging", + "label": { + "en": [ + "Annotation containing GeoJSON-LD coordinates that place the map depiction onto a Leaflet web map." + ] + }, + "body": { + "id": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/geo.json", + "type": "Feature", + "properties": { + "label": { + "en": [ + "Targeted Map from Chesapeake and Ohio Canal Pamphlet" + ] + } + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -77.019853, + 38.913101 + ], + [ + -77.110013, + 38.843254 + ], + [ + -77.284698, + 38.997574 + ], + [ + -77.188911, + 39.062648 + ] + ] + ] + } + }, + "target": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/canvas.json#xywh=920,3600,1510,3000" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0139-geolocate-canvas-fragment.json b/fixtures/cookbook/0139-geolocate-canvas-fragment.json index c53446d..f8dc9aa 100644 --- a/fixtures/cookbook/0139-geolocate-canvas-fragment.json +++ b/fixtures/cookbook/0139-geolocate-canvas-fragment.json @@ -88,20 +88,20 @@ "coordinates": [ [ [ - -77.097847, - 38.901359 + -77.019853, + 38.913101 ], [ - -77.02694, - 38.901359 + -77.110013, + 38.843254 ], [ - -77.02694, - 39.03404 + -77.284698, + 38.997574 ], [ - -77.097847, - 39.03404 + -77.188911, + 39.062648 ] ] ] diff --git a/fixtures/cookbook/0154-geo-extension-manifest.json b/fixtures/cookbook/0154-geo-extension-manifest.json new file mode 100644 index 0000000..a2948d3 --- /dev/null +++ b/fixtures/cookbook/0154-geo-extension-manifest.json @@ -0,0 +1,81 @@ +{ + "@context": [ + "http://iiif.io/api/extension/navplace/context.json", + "http://iiif.io/api/presentation/3/context.json" + ], + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json", + "type": "Manifest", + "label": { + "it": [ + "Bronzo Laocoonte e i suoi figli" + ] + }, + "navPlace": { + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/feature-collection/1", + "type": "FeatureCollection", + "features": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/feature/1", + "type": "Feature", + "properties": { + "label": { + "en": [ + "The Laocoön Bronze" + ], + "it": [ + "Bronzo Laocoonte e i suoi figli" + ] + } + }, + "geometry": { + "type": "Point", + "coordinates": [ + -118.4745559, + 34.0776376 + ] + } + } + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/canvas/1", + "type": "Canvas", + "height": 3000, + "width": 2315, + "label": { + "en": [ + "Front of Bronze" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno-page/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/anno/1", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 3000, + "width": 2315, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/canvas/1" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0154-geo-extension.json b/fixtures/cookbook/0154-geo-extension.json index 4a89abc..a2948d3 100644 --- a/fixtures/cookbook/0154-geo-extension.json +++ b/fixtures/cookbook/0154-geo-extension.json @@ -60,7 +60,7 @@ "body": { "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg", "type": "Image", - "format": "image/jpg", + "format": "image/jpeg", "height": 3000, "width": 2315, "service": [ diff --git a/fixtures/cookbook/0202-start-canvas-manifest.json b/fixtures/cookbook/0202-start-canvas-manifest.json new file mode 100644 index 0000000..07f83da --- /dev/null +++ b/fixtures/cookbook/0202-start-canvas-manifest.json @@ -0,0 +1,211 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Multiple Related Images (Book, etc.)" + ] + }, + "start": { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2", + "type": "Canvas" + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p1", + "type": "Canvas", + "label": { + "en": [ + "Blank page" + ] + }, + "height": 4613, + "width": 3204, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 4613, + "width": 3204, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f18", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p1" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2", + "type": "Canvas", + "label": { + "en": [ + "Frontispiece" + ] + }, + "width": 3186, + "height": 4612, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p2/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0002-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 3186, + "height": 4612, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f19", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p2" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p3", + "type": "Canvas", + "label": { + "en": [ + "Title page" + ] + }, + "width": 3204, + "height": 4613, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p3/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0003-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 3204, + "height": 4613, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p3" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p4", + "type": "Canvas", + "label": { + "en": [ + "Blank page" + ] + }, + "width": 3174, + "height": 4578, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p4/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0004-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 3174, + "height": 4578, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f21", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p4" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p5", + "type": "Canvas", + "label": { + "en": [ + "Bookplate" + ] + }, + "width": 3198, + "height": 4632, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/page/p5/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/annotation/p0005-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 3198, + "height": 4632, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f22", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/canvas/p5" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0219-using-caption-file-manifest.json b/fixtures/cookbook/0219-using-caption-file-manifest.json new file mode 100644 index 0000000..3c00b24 --- /dev/null +++ b/fixtures/cookbook/0219-using-caption-file-manifest.json @@ -0,0 +1,66 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Lunchroom Manners" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas", + "type": "Canvas", + "height": 360, + "width": 480, + "duration": 572.034, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page/annotation1", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://fixtures.iiif.io/video/indiana/lunchroom_manners/high/lunchroom_manners_1024kb.mp4", + "type": "Video", + "height": 360, + "width": 480, + "duration": 572.034, + "format": "video/mp4" + }, + "target": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas" + } + ] + } + ], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas/page2/a1", + "type": "Annotation", + "motivation": "supplementing", + "body": { + "id": "https://fixtures.iiif.io/video/indiana/lunchroom_manners/lunchroom_manners.vtt", + "type": "Text", + "format": "text/vtt", + "label": { + "en": [ + "Captions in WebVTT format" + ] + }, + "language": "en" + }, + "target": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/canvas" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0234-provider-manifest.json b/fixtures/cookbook/0234-provider-manifest.json new file mode 100644 index 0000000..3687d6c --- /dev/null +++ b/fixtures/cookbook/0234-provider-manifest.json @@ -0,0 +1,124 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Playbill Cover" + ] + }, + "summary": { + "en": [ + "Cover of playbill for \"Akiba gongen kaisen-banashi,\" \"Futatsu chōchō kuruwa nikki\" and \"Godairiki koi no fūjime\" performed at the Chikugo Theater in Osaka from the fifth month of Kaei 2 (May, 1849); main actors: Gadō Kataoka II, Ebizō Ichikawa VI, Kitō Sawamura II, Daigorō Mimasu IV, and Karoku Nakamura I; on front cover: producer Mominosuke Ichikawa's crest." + ] + }, + "provider": [ + { + "id": "https://id.loc.gov/authorities/n79055331", + "type": "Agent", + "label": { + "en": [ + "UCLA Library" + ] + }, + "homepage": [ + { + "id": "https://digital.library.ucla.edu/", + "type": "Text", + "label": { + "en": [ + "UCLA Library Digital Collections" + ] + }, + "format": "text/html", + "language": [ + "en" + ] + } + ], + "logo": [ + { + "id": "https://iiif.library.ucla.edu/iiif/2/UCLA-Library-Logo-double-line-2/full/full/0/default.png", + "type": "Image", + "service": [ + { + "id": "https://iiif.library.ucla.edu/iiif/2/UCLA-Library-Logo-double-line-2", + "type": "ImageService3", + "profile": "level2", + "width": 1200, + "height": 502, + "sizes": [ + { + "width": 300, + "height": 126 + }, + { + "width": 600, + "height": 251 + }, + { + "width": 1200, + "height": 502 + } + ] + } + ] + } + ], + "seeAlso": [ + { + "id": "https://id.loc.gov/authorities/names/n79055331.madsxml.xml", + "type": "Dataset", + "label": { + "en": [ + "US Library of Congress data about the UCLA Library" + ] + }, + "format": "application/xml", + "profile": "http://www.loc.gov/mads/v2" + } + ] + } + ], + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0234-provider/canvas/p0", + "type": "Canvas", + "label": { + "en": [ + "front cover with color bar" + ] + }, + "width": 4520, + "height": 5312, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0234-provider/page/p0/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0234-provider/annotation/p0000-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "width": 4520, + "height": 5312, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4f92cceb12dd53b52433425ce44308c7-ucla_bib1987273_no001_rs_001_full", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0234-provider/canvas/p0" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0240-navPlace-on-canvases-manifest.json b/fixtures/cookbook/0240-navPlace-on-canvases-manifest.json new file mode 100644 index 0000000..7c977a7 --- /dev/null +++ b/fixtures/cookbook/0240-navPlace-on-canvases-manifest.json @@ -0,0 +1,144 @@ +{ + "@context": [ + "http://iiif.io/api/extension/navplace/context.json", + "http://iiif.io/api/presentation/3/context.json" + ], + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Laocöon, geolocated sculpture and painting." + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/1", + "type": "Canvas", + "height": 3000, + "width": 2315, + "label": { + "en": [ + "Front of Bronze" + ] + }, + "navPlace": { + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/feature-collection/1", + "type": "FeatureCollection", + "features": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/feature/1", + "type": "Feature", + "properties": { + "label": { + "en": [ + "Current Location of the Laocoön Bronze" + ], + "it": [ + "Ubicazione attuale del Bronzo Laocoonte e i suoi figli" + ] + } + }, + "geometry": { + "type": "Point", + "coordinates": [ + -118.4745559, + 34.0776376 + ] + } + } + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/1", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 3000, + "width": 2315, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/1" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/2", + "type": "Canvas", + "height": 3259, + "width": 4096, + "label": { + "en": [ + "Painting" + ] + }, + "navPlace": { + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/feature-collection/2", + "type": "FeatureCollection", + "features": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/feature/2", + "type": "Feature", + "properties": { + "label": { + "en": [ + "Current Location of Painting" + ] + } + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.0199025, + 38.8920717 + ] + } + } + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno-page/2", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/anno/2", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 3259, + "width": 4096, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/canvas/2" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0240-navPlace-on-canvases.json b/fixtures/cookbook/0240-navPlace-on-canvases.json index 00c407d..7c977a7 100644 --- a/fixtures/cookbook/0240-navPlace-on-canvases.json +++ b/fixtures/cookbook/0240-navPlace-on-canvases.json @@ -60,7 +60,7 @@ "body": { "id": "https://iiif.io/api/image/3.0/example/reference/28473c77da3deebe4375c3a50572d9d3-laocoon/full/max/0/default.jpg", "type": "Image", - "format": "image/jpg", + "format": "image/jpeg", "height": 3000, "width": 2315, "service": [ @@ -123,7 +123,7 @@ "body": { "id": "https://iiif.io/api/image/3.0/example/reference/58763298b61c2a99f78ff94d8364c639-laocoon_1946_18_1/full/max/0/default.jpg", "type": "Image", - "format": "image/jpg", + "format": "image/jpeg", "height": 3259, "width": 4096, "service": [ diff --git a/fixtures/cookbook/0258-tagging-external-resource-manifest.json b/fixtures/cookbook/0258-tagging-external-resource-manifest.json new file mode 100644 index 0000000..d72ab65 --- /dev/null +++ b/fixtures/cookbook/0258-tagging-external-resource-manifest.json @@ -0,0 +1,72 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Picture of Göttingen taken during the 2019 IIIF Conference" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1", + "type": "Canvas", + "height": 3024, + "width": 4032, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 3024, + "width": 4032, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1" + } + ] + } + ], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/page/p2/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/annotation/anno/p0002-wikidata", + "type": "Annotation", + "motivation": "tagging", + "body": [ + { + "type": "SpecificResource", + "source": "http://www.wikidata.org/entity/Q18624915" + }, + { + "type": "TextualBody", + "value": "Gänseliesel-Brunnen", + "format": "text/plain", + "language": "de" + } + ], + "target": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/canvas/p1#xywh=749,1054,338,460" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0261-non-rectangular-commenting-manifest.json b/fixtures/cookbook/0261-non-rectangular-commenting-manifest.json new file mode 100644 index 0000000..c517ad2 --- /dev/null +++ b/fixtures/cookbook/0261-non-rectangular-commenting-manifest.json @@ -0,0 +1,73 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Picture of Göttingen taken during the 2019 IIIF Conference" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1", + "type": "Canvas", + "height": 3024, + "width": 4032, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 3024, + "width": 4032, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1" + } + ] + } + ], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/page/p2/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/annotation/p0002-svg", + "type": "Annotation", + "motivation": "tagging", + "body": { + "type": "TextualBody", + "value": "Gänseliesel-Brunnen", + "language": "de", + "format": "text/plain" + }, + "target": { + "type": "SpecificResource", + "source": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/canvas/p1", + "selector": { + "type": "SvgSelector", + "value": "" + } + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0266-full-canvas-annotation-manifest.json b/fixtures/cookbook/0266-full-canvas-annotation-manifest.json new file mode 100644 index 0000000..fc243ee --- /dev/null +++ b/fixtures/cookbook/0266-full-canvas-annotation-manifest.json @@ -0,0 +1,66 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Picture of Göttingen taken during the 2019 IIIF Conference" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1", + "type": "Canvas", + "height": 3024, + "width": 4032, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-1/anno-1", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 3024, + "width": 4032, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1" + } + ] + } + ], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2/anno-1", + "type": "Annotation", + "motivation": "commenting", + "body": { + "type": "TextualBody", + "language": "de", + "format": "text/plain", + "value": "Göttinger Marktplatz mit Gänseliesel Brunnen" + }, + "target": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0269-embedded-or-referenced-annotations-annotationpage.json b/fixtures/cookbook/0269-embedded-or-referenced-annotations-annotationpage.json new file mode 100644 index 0000000..3da6943 --- /dev/null +++ b/fixtures/cookbook/0269-embedded-or-referenced-annotations-annotationpage.json @@ -0,0 +1,19 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-2/anno-1", + "type": "Annotation", + "motivation": "commenting", + "body": { + "type": "TextualBody", + "language": "de", + "format": "text/plain", + "value": "Göttinger Marktplatz mit Gänseliesel Brunnen" + }, + "target": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1" + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0269-embedded-or-referenced-annotations-manifest.json b/fixtures/cookbook/0269-embedded-or-referenced-annotations-manifest.json new file mode 100644 index 0000000..19498c8 --- /dev/null +++ b/fixtures/cookbook/0269-embedded-or-referenced-annotations-manifest.json @@ -0,0 +1,52 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Picture of Göttingen taken during the 2019 IIIF Conference" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1", + "type": "Canvas", + "height": 3024, + "width": 4032, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1/annopage-1/anno-1", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 3024, + "width": 4032, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/canvas-1" + } + ] + } + ], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json", + "type": "AnnotationPage" + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0283-missing-image-manifest.json b/fixtures/cookbook/0283-missing-image-manifest.json new file mode 100644 index 0000000..48ddfe8 --- /dev/null +++ b/fixtures/cookbook/0283-missing-image-manifest.json @@ -0,0 +1,157 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Ethiopic Ms 10" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p1", + "type": "Canvas", + "label": { + "en": [ + "f. 1r" + ] + }, + "height": 2504, + "width": 1768, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 2504, + "width": 1768, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p1" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p2", + "type": "Canvas", + "label": { + "en": [ + "f. 1v — MISSING" + ] + }, + "height": 2504, + "width": 1768, + "metadata": [ + { + "label": { + "en": [ + "Description" + ] + }, + "value": { + "en": [ + "Image unavailable or does not exist" + ] + } + } + ], + "items": [ + + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p3", + "type": "Canvas", + "label": { + "en": [ + "f. 2r" + ] + }, + "height": 2456, + "width": 1792, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p3/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0003-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 2456, + "width": 1792, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p3" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p4", + "type": "Canvas", + "label": { + "en": [ + "f. 2v" + ] + }, + "height": 2440, + "width": 1760, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p4/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0004-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 2440, + "width": 1760, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p4" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0283-missing-image.json b/fixtures/cookbook/0283-missing-image.json new file mode 100644 index 0000000..48ddfe8 --- /dev/null +++ b/fixtures/cookbook/0283-missing-image.json @@ -0,0 +1,157 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Ethiopic Ms 10" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p1", + "type": "Canvas", + "label": { + "en": [ + "f. 1r" + ] + }, + "height": 2504, + "width": 1768, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 2504, + "width": 1768, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-1-21198-zz001d8m41_774608_master", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p1" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p2", + "type": "Canvas", + "label": { + "en": [ + "f. 1v — MISSING" + ] + }, + "height": 2504, + "width": 1768, + "metadata": [ + { + "label": { + "en": [ + "Description" + ] + }, + "value": { + "en": [ + "Image unavailable or does not exist" + ] + } + } + ], + "items": [ + + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p3", + "type": "Canvas", + "label": { + "en": [ + "f. 2r" + ] + }, + "height": 2456, + "width": 1792, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p3/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0003-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 2456, + "width": 1792, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-3-21198-zz001d8tm5_775004_master", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p3" + } + ] + } + ] + }, + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p4", + "type": "Canvas", + "label": { + "en": [ + "f. 2v" + ] + }, + "height": 2440, + "width": 1760, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/page/p4/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0283-missing-image/annotation/p0004-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 2440, + "width": 1760, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/d3bbf5397c6df6b894c5991195c912ab-4-21198-zz001d8tnp_775007_master", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0283-missing-image/canvas/p4" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0299-region-manifest.json b/fixtures/cookbook/0299-region-manifest.json new file mode 100644 index 0000000..7e56992 --- /dev/null +++ b/fixtures/cookbook/0299-region-manifest.json @@ -0,0 +1,55 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0299-region/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Berliner Tageblatt article, 'Ein neuer Sicherungsplan?'" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0299-region/canvas/p1", + "type": "Canvas", + "height": 2080, + "width": 1768, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0299-region/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0299-region/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/cookbook/recipe/0299-region/body/b1", + "type": "SpecificResource", + "source": { + "id": "https://iiif.io/api/image/3.0/example/reference/4ce82cef49fb16798f4c2440307c3d6f-newspaper-p2/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 4999, + "width": 3536, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/4ce82cef49fb16798f4c2440307c3d6f-newspaper-p2", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "selector": { + "@context": "http://iiif.io/api/annex/openannotation/context.json", + "type": "iiif:ImageApiSelector", + "region": "1768,2423,1768,2080" + } + }, + "target": "https://iiif.io/api/cookbook/recipe/0299-region/canvas/p1" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0306-linking-annotations-to-manifests-annotationpage.json b/fixtures/cookbook/0306-linking-annotations-to-manifests-annotationpage.json new file mode 100644 index 0000000..d839a4d --- /dev/null +++ b/fixtures/cookbook/0306-linking-annotations-to-manifests-annotationpage.json @@ -0,0 +1,36 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/annotationpage.json", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-2/anno-1", + "type": "Annotation", + "motivation": "commenting", + "body": { + "type": "TextualBody", + "language": "de", + "format": "text/plain", + "value": "Der Gänseliesel-Brunnen" + }, + "target": { + "type": "SpecificResource", + "source": { + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1", + "type": "Canvas", + "partOf": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/manifest.json", + "type": "Manifest" + } + ] + }, + "selector": { + "type": "FragmentSelector", + "conformsTo": "http://www.w3.org/TR/media-frags/", + "value": "xywh=300,800,1200,1200" + } + } + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0306-linking-annotations-to-manifests-manifest.json b/fixtures/cookbook/0306-linking-annotations-to-manifests-manifest.json new file mode 100644 index 0000000..ee01b46 --- /dev/null +++ b/fixtures/cookbook/0306-linking-annotations-to-manifests-manifest.json @@ -0,0 +1,52 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Picture of Göttingen taken during the 2019 IIIF Conference" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1", + "type": "Canvas", + "height": 3024, + "width": 4032, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-1/anno-1", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 3024, + "width": 4032, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1" + } + ] + } + ], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/annotationpage.json", + "type": "AnnotationPage" + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0306-linking-annotations-to-manifests.json b/fixtures/cookbook/0306-linking-annotations-to-manifests.json new file mode 100644 index 0000000..ee01b46 --- /dev/null +++ b/fixtures/cookbook/0306-linking-annotations-to-manifests.json @@ -0,0 +1,52 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Picture of Göttingen taken during the 2019 IIIF Conference" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1", + "type": "Canvas", + "height": 3024, + "width": 4032, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1/annopage-1/anno-1", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 3024, + "width": 4032, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/canvas-1" + } + ] + } + ], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/annotationpage.json", + "type": "AnnotationPage" + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0326-annotating-image-layer-manifest.json b/fixtures/cookbook/0326-annotating-image-layer-manifest.json new file mode 100644 index 0000000..c610ca6 --- /dev/null +++ b/fixtures/cookbook/0326-annotating-image-layer-manifest.json @@ -0,0 +1,103 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Choice Example with layer specific annotation" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/canvas/p1", + "type": "Canvas", + "height": 1271, + "width": 2000, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p1/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0001-image", + "type": "Annotation", + "motivation": "painting", + "body": { + "type": "Choice", + "items": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural/full/max/0/default.jpg", + "type": "Image", + "label": { + "en": [ + "Natural Light" + ] + }, + "format": "image/jpeg", + "height": 1271, + "width": 2000, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-natural", + "type": "ImageService3", + "profile": "level1" + } + ] + }, + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray/full/2000,1271/0/default.jpg", + "type": "Image", + "label": { + "en": [ + "X-ray" + ] + }, + "format": "image/jpeg", + "height": 1271, + "width": 2000, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", + "type": "ImageService3", + "profile": "level1" + } + ], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/page/p2/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/annotation/p0002-tag", + "type": "Annotation", + "motivation": "tagging", + "body": { + "type": "TextualBody", + "value": "A group of skulls.", + "language": "en", + "format": "text/plain" + }, + "target": { + "type": "SpecificResource", + "source": "https://iiif.io/api/image/3.0/example/reference/421e65be2ce95439b3ad6ef1f2ab87a9-dee-xray", + "selector": { + "type": "ImageApiSelector", + "region": "810,900,260,370", + "size": "2000,1271" + } + } + } + ] + } + ] + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/canvas/p1" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0377-image-in-annotation-manifest.json b/fixtures/cookbook/0377-image-in-annotation-manifest.json new file mode 100644 index 0000000..fbaf096 --- /dev/null +++ b/fixtures/cookbook/0377-image-in-annotation-manifest.json @@ -0,0 +1,72 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Picture of Göttingen taken during the 2019 IIIF Conference" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1", + "type": "Canvas", + "height": 3024, + "width": 4032, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-1/anno-1", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 3024, + "width": 4032, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1" + } + ] + } + ], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-2", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-2/anno-1", + "type": "Annotation", + "motivation": "commenting", + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-fountain/full/300,/0/default.jpg", + "type": "Image", + "format": "image/jpeg" + }, + { + "type": "TextualBody", + "language": "en", + "value": "Night picture of the Gänseliesel fountain in Göttingen taken during the 2019 IIIF Conference" + } + ], + "target": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1#xywh=138,550,1477,1710" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0377-image-in-annotation.json b/fixtures/cookbook/0377-image-in-annotation.json new file mode 100644 index 0000000..fbaf096 --- /dev/null +++ b/fixtures/cookbook/0377-image-in-annotation.json @@ -0,0 +1,72 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Picture of Göttingen taken during the 2019 IIIF Conference" + ] + }, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1", + "type": "Canvas", + "height": 3024, + "width": 4032, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-1/anno-1", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen/full/max/0/default.jpg", + "type": "Image", + "format": "image/jpeg", + "height": 3024, + "width": 4032, + "service": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-gottingen", + "profile": "level1", + "type": "ImageService3" + } + ] + }, + "target": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1" + } + ] + } + ], + "annotations": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-2", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1/annopage-2/anno-1", + "type": "Annotation", + "motivation": "commenting", + "body": [ + { + "id": "https://iiif.io/api/image/3.0/example/reference/918ecd18c2592080851777620de9bcb5-fountain/full/300,/0/default.jpg", + "type": "Image", + "format": "image/jpeg" + }, + { + "type": "TextualBody", + "language": "en", + "value": "Night picture of the Gänseliesel fountain in Göttingen taken during the 2019 IIIF Conference" + } + ], + "target": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/canvas-1#xywh=138,550,1477,1710" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0434-choice-av-manifest.json b/fixtures/cookbook/0434-choice-av-manifest.json new file mode 100644 index 0000000..8d6c232 --- /dev/null +++ b/fixtures/cookbook/0434-choice-av-manifest.json @@ -0,0 +1,108 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Excerpt from Egbe Iyawo" + ] + }, + "summary": { + "en": [ + "Excerpt from a performance of Egbe Iyawo recorded in Kabba Division, Kwara State. " + ] + }, + "rights": "http://creativecommons.org/publicdomain/zero/1.0/", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1", + "type": "Canvas", + "duration": 16, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1/annotation_page/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1/annotation_page/1/annotation/1", + "type": "Annotation", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1", + "body": { + "type": "Choice", + "items": [ + { + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.m4a", + "type": "Sound", + "format": "audio/alac", + "duration": 16.0, + "label": { + "en": [ + "ALAC" + ] + } + }, + { + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.mp3", + "type": "Sound", + "format": "audio/mp3", + "duration": 16.0, + "label": { + "en": [ + "MP3" + ] + } + }, + { + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.flac", + "type": "Sound", + "format": "audio/flac", + "duration": 16.0, + "label": { + "en": [ + "FLAC" + ] + } + }, + { + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.ogg", + "type": "Sound", + "format": "audio/ogg", + "duration": 16.0, + "label": { + "en": [ + "OGG Vorbis OGG" + ] + } + }, + { + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.mpeg", + "type": "Sound", + "format": "audio/mpeg", + "duration": 16.0, + "label": { + "en": [ + "MPEG2" + ] + } + }, + { + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.wav", + "type": "Sound", + "format": "audio/wav", + "duration": 16.0, + "label": { + "en": [ + "WAV" + ] + } + } + ] + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/0434-choice-av.json b/fixtures/cookbook/0434-choice-av.json new file mode 100644 index 0000000..8d6c232 --- /dev/null +++ b/fixtures/cookbook/0434-choice-av.json @@ -0,0 +1,108 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/manifest.json", + "type": "Manifest", + "label": { + "en": [ + "Excerpt from Egbe Iyawo" + ] + }, + "summary": { + "en": [ + "Excerpt from a performance of Egbe Iyawo recorded in Kabba Division, Kwara State. " + ] + }, + "rights": "http://creativecommons.org/publicdomain/zero/1.0/", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1", + "type": "Canvas", + "duration": 16, + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1/annotation_page/1", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1/annotation_page/1/annotation/1", + "type": "Annotation", + "motivation": "painting", + "target": "https://iiif.io/api/cookbook/recipe/0434-choice-av/canvas/1", + "body": { + "type": "Choice", + "items": [ + { + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.m4a", + "type": "Sound", + "format": "audio/alac", + "duration": 16.0, + "label": { + "en": [ + "ALAC" + ] + } + }, + { + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.mp3", + "type": "Sound", + "format": "audio/mp3", + "duration": 16.0, + "label": { + "en": [ + "MP3" + ] + } + }, + { + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.flac", + "type": "Sound", + "format": "audio/flac", + "duration": 16.0, + "label": { + "en": [ + "FLAC" + ] + } + }, + { + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.ogg", + "type": "Sound", + "format": "audio/ogg", + "duration": 16.0, + "label": { + "en": [ + "OGG Vorbis OGG" + ] + } + }, + { + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.mpeg", + "type": "Sound", + "format": "audio/mpeg", + "duration": 16.0, + "label": { + "en": [ + "MPEG2" + ] + } + }, + { + "id": "https://fixtures.iiif.io/audio/ucla/egbe-iyawo-ucla.wav", + "type": "Sound", + "format": "audio/wav", + "duration": 16.0, + "label": { + "en": [ + "WAV" + ] + } + } + ] + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fixtures/cookbook/_index.json b/fixtures/cookbook/_index.json index d73ca0d..5335b5e 100644 --- a/fixtures/cookbook/_index.json +++ b/fixtures/cookbook/_index.json @@ -1,215 +1,259 @@ { - "0001-mvm-image": { - "id": "0001-mvm-image", + "0001-mvm-image-manifest": { + "id": "0001-mvm-image-manifest", "url": "https://iiif.io/api/cookbook/recipe/0001-mvm-image/manifest.json" }, - "0002-mvm-audio": { - "id": "0002-mvm-audio", - "url": "https://iiif.io/api/cookbook/recipe/0002-mvm-audio/manifest.json" + "0029-metadata-anywhere-manifest": { + "id": "0029-metadata-anywhere-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json" }, - "0003-mvm-video": { - "id": "0003-mvm-video", - "url": "https://iiif.io/api/cookbook/recipe/0003-mvm-video/manifest.json" + "0053-seeAlso-manifest": { + "id": "0053-seeAlso-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json" }, - "0005-image-service": { - "id": "0005-image-service", - "url": "https://iiif.io/api/cookbook/recipe/0005-image-service/manifest.json" + "0046-rendering-manifest": { + "id": "0046-rendering-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json" }, - "0006-text-language": { - "id": "0006-text-language", - "url": "https://iiif.io/api/cookbook/recipe/0006-text-language/manifest.json" + "0377-image-in-annotation-manifest": { + "id": "0377-image-in-annotation-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0377-image-in-annotation/manifest.json" }, - "0009-book-1": { - "id": "0009-book-1", - "url": "https://iiif.io/api/cookbook/recipe/0009-book-1/manifest.json" + "0015-start-manifest": { + "id": "0015-start-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0015-start/manifest.json" }, - "0019-html-in-annotations": { - "id": "0019-html-in-annotations", - "url": "https://iiif.io/api/cookbook/recipe/0019-html-in-annotations/manifest.json" + "0014-accompanyingcanvas-manifest": { + "id": "0014-accompanyingcanvas-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/manifest.json" + }, + "0266-full-canvas-annotation-manifest": { + "id": "0266-full-canvas-annotation-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json" }, - "0299-region": { - "id": "0299-region", + "0074-multiple-language-captions-manifest": { + "id": "0074-multiple-language-captions-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json" + }, + "0299-region-manifest": { + "id": "0299-region-manifest", "url": "https://iiif.io/api/cookbook/recipe/0299-region/manifest.json" }, - "0007-string-formats": { - "id": "0007-string-formats", - "url": "https://iiif.io/api/cookbook/recipe/0007-string-formats/manifest.json" + "0002-mvm-audio-manifest": { + "id": "0002-mvm-audio-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0002-mvm-audio/manifest.json" }, - "0008-rights": { - "id": "0008-rights", - "url": "https://iiif.io/api/cookbook/recipe/0008-rights/manifest.json" + "0031-bound-multivolume-manifest": { + "id": "0031-bound-multivolume-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json" }, - "0013-placeholderCanvas": { - "id": "0013-placeholderCanvas", - "url": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/manifest.json" + "0154-geo-extension-manifest": { + "id": "0154-geo-extension-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json" }, - "0014-accompanyingcanvas": { - "id": "0014-accompanyingcanvas", - "url": "https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/manifest.json" + "0036-composition-from-multiple-images-manifest": { + "id": "0036-composition-from-multiple-images-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json" }, - "0015-start": { - "id": "0015-start", - "url": "https://iiif.io/api/cookbook/recipe/0015-start/manifest.json" + "0017-transcription-av-manifest": { + "id": "0017-transcription-av-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0017-transcription-av/manifest.json" }, - "0029-metadata-anywhere": { - "id": "0029-metadata-anywhere", - "url": "https://iiif.io/api/cookbook/recipe/0029-metadata-anywhere/manifest.json" + "0065-opera-multiple-canvases-manifest": { + "id": "0065-opera-multiple-canvases-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json" }, - "0046-rendering": { - "id": "0046-rendering", - "url": "https://iiif.io/api/cookbook/recipe/0046-rendering/manifest.json" + "0004-canvas-size-manifest": { + "id": "0004-canvas-size-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0004-canvas-size/manifest.json" }, - "0047-homepage": { - "id": "0047-homepage", - "url": "https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json" + "0026-toc-opera-manifest": { + "id": "0026-toc-opera-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json" }, - "0053-seeAlso": { - "id": "0053-seeAlso", - "url": "https://iiif.io/api/cookbook/recipe/0053-seeAlso/manifest.json" + "0118-multivalue-manifest": { + "id": "0118-multivalue-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0118-multivalue/manifest.json" }, - "0117-add-image-thumbnail": { - "id": "0117-add-image-thumbnail", - "url": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json" + "0024-book-4-toc-manifest": { + "id": "0024-book-4-toc-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json" }, - "0118_multivalue": { - "id": "0118_multivalue", - "url": "https://iiif.io/api/cookbook/recipe/0118_multivalue/manifest.json" + "0240-navPlace-on-canvases-manifest": { + "id": "0240-navPlace-on-canvases-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json" }, - "0202-start-canvas": { - "id": "0202-start-canvas", - "url": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json" + "0021-tagging-manifest": { + "id": "0021-tagging-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0021-tagging/manifest.json" }, - "0234-provider": { - "id": "0234-provider", - "url": "https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json" + "0135-annotating-point-in-canvas-manifest": { + "id": "0135-annotating-point-in-canvas-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0135-annotating-point-in-canvas/manifest.json" }, - "0024-book-4-toc": { - "id": "0024-book-4-toc", - "url": "https://iiif.io/api/cookbook/recipe/0024-book-4-toc/manifest.json" + "0269-embedded-or-referenced-annotations-manifest": { + "id": "0269-embedded-or-referenced-annotations-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json" }, - "0026-toc-opera": { - "id": "0026-toc-opera", - "url": "https://iiif.io/api/cookbook/recipe/0026-toc-opera/manifest.json" + "0230-navdate-navdate-collection": { + "id": "0230-navdate-navdate-collection", + "url": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json" }, - "0031-bound-multivolume": { - "id": "0031-bound-multivolume", - "url": "https://iiif.io/api/cookbook/recipe/0031-bound-multivolume/manifest.json" + "0283-missing-image-manifest": { + "id": "0283-missing-image-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0283-missing-image/manifest.json" }, - "0033-choice": { - "id": "0033-choice", - "url": "https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json" + "0013-placeholderCanvas-manifest": { + "id": "0013-placeholderCanvas-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0013-placeholderCanvas/manifest.json" }, - "0035-foldouts": { - "id": "0035-foldouts", - "url": "https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json" + "0006-text-language-manifest": { + "id": "0006-text-language-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0006-text-language/manifest.json" }, - "0036-composition-from-multiple-images": { - "id": "0036-composition-from-multiple-images", - "url": "https://iiif.io/api/cookbook/recipe/0036-composition-from-multiple-images/manifest.json" + "0003-mvm-video-manifest": { + "id": "0003-mvm-video-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0003-mvm-video/manifest.json" }, - "0004-canvas-size": { - "id": "0004-canvas-size", - "url": "https://iiif.io/api/cookbook/recipe/0004-canvas-size/manifest.json" + "0005-image-service-manifest": { + "id": "0005-image-service-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0005-image-service/manifest.json" }, - "0017-transcription-av": { - "id": "0017-transcription-av", - "url": "https://iiif.io/api/cookbook/recipe/0017-transcription-av/manifest.json" + "0009-book-1-manifest": { + "id": "0009-book-1-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0009-book-1/manifest.json" }, - "0064-opera-one-canvas": { - "id": "0064-opera-one-canvas", - "url": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json" + "0019-html-in-annotations-manifest": { + "id": "0019-html-in-annotations-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0019-html-in-annotations/manifest.json" }, - "0065-opera-multiple-canvases": { - "id": "0065-opera-multiple-canvases", - "url": "https://iiif.io/api/cookbook/recipe/0065-opera-multiple-canvases/manifest.json" + "0047-homepage-manifest": { + "id": "0047-homepage-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0047-homepage/manifest.json" }, - "0074-multiple-language-captions": { - "id": "0074-multiple-language-captions", - "url": "https://iiif.io/api/cookbook/recipe/0074-multiple-language-captions/manifest.json" + "0008-rights-manifest": { + "id": "0008-rights-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0008-rights/manifest.json" }, - "0219-using-caption-file": { - "id": "0219-using-caption-file", - "url": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json" + "0032-collection-collection": { + "id": "0032-collection-collection", + "url": "https://iiif.io/api/cookbook/recipe/0032-collection/collection.json" }, - "0021-tagging": { - "id": "0021-tagging", - "url": "https://iiif.io/api/cookbook/recipe/0021-tagging/manifest.json" + "0234-provider-manifest": { + "id": "0234-provider-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0234-provider/manifest.json" }, - "0258-tagging-external-resource": { - "id": "0258-tagging-external-resource", - "url": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json" + "0022-linking-with-a-hotspot-manifest": { + "id": "0022-linking-with-a-hotspot-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0022-linking-with-a-hotspot/manifest.json" }, - "0261-non-rectangular-commenting": { - "id": "0261-non-rectangular-commenting", - "url": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json" + "0064-opera-one-canvas-manifest": { + "id": "0064-opera-one-canvas-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json" }, - "0266-full-canvas-annotation": { - "id": "0266-full-canvas-annotation", - "url": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json" + "0219-using-caption-file-manifest": { + "id": "0219-using-caption-file-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0219-using-caption-file/manifest.json" }, - "0269-embedded-or-referenced-annotations": { - "id": "0269-embedded-or-referenced-annotations", - "url": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/manifest.json" + "0033-choice-manifest": { + "id": "0033-choice-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json" + }, + "0035-foldouts-manifest": { + "id": "0035-foldouts-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json" }, - "0326-annotating-image-layer": { - "id": "0326-annotating-image-layer", + "0258-tagging-external-resource-manifest": { + "id": "0258-tagging-external-resource-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0258-tagging-external-resource/manifest.json" + }, + "0306-linking-annotations-to-manifests-annotationpage": { + "id": "0306-linking-annotations-to-manifests-annotationpage", + "url": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/annotationpage.json" + }, + "0326-annotating-image-layer-manifest": { + "id": "0326-annotating-image-layer-manifest", "url": "https://iiif.io/api/cookbook/recipe/0326-annotating-image-layer/manifest.json" }, - "0139-geolocate-canvas-fragment": { - "id": "0139-geolocate-canvas-fragment", - "url": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json" + "0261-non-rectangular-commenting-manifest": { + "id": "0261-non-rectangular-commenting-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/manifest.json" }, - "0154-geo-extension": { - "id": "0154-geo-extension", - "url": "https://iiif.io/api/cookbook/recipe/0154-geo-extension/manifest.json" + "0010-book-2-viewing-direction-manifest-rtl": { + "id": "0010-book-2-viewing-direction-manifest-rtl", + "url": "https://iiif.io/api/cookbook/recipe/0010-book-2-viewing-direction/manifest-rtl.json" }, - "0240-navPlace-on-canvases": { - "id": "0240-navPlace-on-canvases", - "url": "https://iiif.io/api/cookbook/recipe/0240-navPlace-on-canvases/manifest.json" + "0117-add-image-thumbnail-manifest": { + "id": "0117-add-image-thumbnail-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0117-add-image-thumbnail/manifest.json" }, - "0230-navdate-navdate-collection": { - "id": "0230-navdate-navdate-collection", - "url": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate-collection.json" + "0202-start-canvas-manifest": { + "id": "0202-start-canvas-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0202-start-canvas/manifest.json" }, - "0230-navdate-navdate_map_2-manifest": { - "id": "0230-navdate-navdate_map_2-manifest", - "url": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json" + "0139-geolocate-canvas-fragment-manifest": { + "id": "0139-geolocate-canvas-fragment-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0139-geolocate-canvas-fragment/manifest.json" + }, + "0434-choice-av-manifest": { + "id": "0434-choice-av-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0434-choice-av/manifest.json" }, "0011-book-3-behavior-manifest-continuous": { "id": "0011-book-3-behavior-manifest-continuous", "url": "https://iiif.io/api/cookbook/recipe/0011-book-3-behavior/manifest-continuous.json" }, + "0040-image-rotation-service-manifest-service": { + "id": "0040-image-rotation-service-manifest-service", + "url": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-service.json" + }, + "0269-embedded-or-referenced-annotations-annotationpage": { + "id": "0269-embedded-or-referenced-annotations-annotationpage", + "url": "https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/annotationpage.json" + }, "0030-multi-volume-collection": { "id": "0030-multi-volume-collection", "url": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/collection.json" }, - "0010-book-2-viewing-direction-manifest-rtl": { - "id": "0010-book-2-viewing-direction-manifest-rtl", - "url": "https://iiif.io/api/cookbook/recipe/0010-book-2-viewing-direction/manifest-rtl.json" + "0230-navdate-navdate_map_2-manifest": { + "id": "0230-navdate-navdate_map_2-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_2-manifest.json" }, - "0040-image-rotation-service-manifest-service": { - "id": "0040-image-rotation-service-manifest-service", - "url": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-service.json" + "0007-string-formats-manifest": { + "id": "0007-string-formats-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0007-string-formats/manifest.json" }, - "0030-multi-volume-manifest_v1": { - "id": "0030-multi-volume-manifest_v1", - "url": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json" + "0032-collection-manifest-01": { + "id": "0032-collection-manifest-01", + "url": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-01.json" }, - "0011-book-3-behavior-manifest-individuals": { - "id": "0011-book-3-behavior-manifest-individuals", - "url": "https://iiif.io/api/cookbook/recipe/0011-book-3-behavior/manifest-individuals.json" + "0306-linking-annotations-to-manifests-manifest": { + "id": "0306-linking-annotations-to-manifests-manifest", + "url": "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/manifest.json" }, "0010-book-2-viewing-direction-manifest-ttb": { "id": "0010-book-2-viewing-direction-manifest-ttb", "url": "https://iiif.io/api/cookbook/recipe/0010-book-2-viewing-direction/manifest-ttb.json" }, + "0040-image-rotation-service-manifest-css": { + "id": "0040-image-rotation-service-manifest-css", + "url": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-css.json" + }, + "0011-book-3-behavior-manifest-individuals": { + "id": "0011-book-3-behavior-manifest-individuals", + "url": "https://iiif.io/api/cookbook/recipe/0011-book-3-behavior/manifest-individuals.json" + }, + "0030-multi-volume-manifest_v1": { + "id": "0030-multi-volume-manifest_v1", + "url": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json" + }, "0230-navdate-navdate_map_1-manifest": { "id": "0230-navdate-navdate_map_1-manifest", "url": "https://iiif.io/api/cookbook/recipe/0230-navdate/navdate_map_1-manifest.json" }, - "0040-image-rotation-service-manifest-css": { - "id": "0040-image-rotation-service-manifest-css", - "url": "https://iiif.io/api/cookbook/recipe/0040-image-rotation-service/manifest-css.json" + "0032-collection-manifest-02": { + "id": "0032-collection-manifest-02", + "url": "https://iiif.io/api/cookbook/recipe/0032-collection/manifest-02.json" }, "0030-multi-volume-manifest_v2": { "id": "0030-multi-volume-manifest_v2", diff --git a/fixtures/presentation-3/ghent-choices.json b/fixtures/presentation-3/ghent-choices.json new file mode 100644 index 0000000..6c08521 --- /dev/null +++ b/fixtures/presentation-3/ghent-choices.json @@ -0,0 +1,5050 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219", + "type": "Manifest", + "label": { "en": ["O.0219"] }, + "items": [ + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "type": "Canvas", + "label": { "en": ["O.0219"] }, + "height": 6270, + "width": 2551, + "items": [ + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation-page/layers", + "type": "AnnotationPage", + "items": [ + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/layers", + "type": "Annotation", + "motivation": "painting", + "body": { + "type": "Choice", + "items": [ + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_ColorB/full/full/0/default.jpg", + "type": "Image", + "height": 6270, + "width": 2551, + "service": [ + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_ColorB", + "type": "ImageService2", + "profile": "level2" + } + ], + "format": "image/jpeg", + "label": { "en": ["cune-iiif-orm:testset:O.0219:O.0219_ColorB"] } + }, + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_ShadedA/full/full/0/default.jpg", + "type": "Image", + "height": 6270, + "width": 2551, + "service": [ + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_ShadedA", + "type": "ImageService2", + "profile": "level2" + } + ], + "format": "image/jpeg", + "label": { "en": ["cune-iiif-orm:testset:O.0219:O.0219_ShadedA"] } + }, + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_ColorA/full/full/0/default.jpg", + "type": "Image", + "height": 6270, + "width": 2551, + "service": [ + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_ColorA", + "type": "ImageService2", + "profile": "level2" + } + ], + "format": "image/jpeg", + "label": { "en": ["cune-iiif-orm:testset:O.0219:O.0219_ColorA"] } + }, + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_Sketch01Soft/full/full/0/default.jpg", + "type": "Image", + "height": 6270, + "width": 2551, + "service": [ + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_Sketch01Soft", + "type": "ImageService2", + "profile": "level2" + } + ], + "format": "image/jpeg", + "label": { "en": ["cune-iiif-orm:testset:O.0219:O.0219_Sketch01Soft"] } + }, + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_ShadedC/full/full/0/default.jpg", + "type": "Image", + "height": 6270, + "width": 2551, + "service": [ + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_ShadedC", + "type": "ImageService2", + "profile": "level2" + } + ], + "format": "image/jpeg", + "label": { "en": ["cune-iiif-orm:testset:O.0219:O.0219_ShadedC"] } + }, + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_ColorD/full/full/0/default.jpg", + "type": "Image", + "height": 6270, + "width": 2551, + "service": [ + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_ColorD", + "type": "ImageService2", + "profile": "level2" + } + ], + "format": "image/jpeg", + "label": { "en": ["cune-iiif-orm:testset:O.0219:O.0219_ColorD"] } + }, + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_Color00/full/full/0/default.jpg", + "type": "Image", + "height": 6270, + "width": 2551, + "service": [ + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_Color00", + "type": "ImageService2", + "profile": "level2" + } + ], + "format": "image/jpeg", + "label": { "en": ["cune-iiif-orm:testset:O.0219:O.0219_Color00"] } + }, + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_Sketch01Hard/full/full/0/default.jpg", + "type": "Image", + "height": 6270, + "width": 2551, + "service": [ + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_Sketch01Hard", + "type": "ImageService2", + "profile": "level2" + } + ], + "format": "image/jpeg", + "label": { "en": ["cune-iiif-orm:testset:O.0219:O.0219_Sketch01Hard"] } + }, + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_ColorC/full/full/0/default.jpg", + "type": "Image", + "height": 6270, + "width": 2551, + "service": [ + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_ColorC", + "type": "ImageService2", + "profile": "level2" + } + ], + "format": "image/jpeg", + "label": { "en": ["cune-iiif-orm:testset:O.0219:O.0219_ColorC"] } + }, + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_ShadedD/full/full/0/default.jpg", + "type": "Image", + "height": 6270, + "width": 2551, + "service": [ + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_ShadedD", + "type": "ImageService2", + "profile": "level2" + } + ], + "format": "image/jpeg", + "label": { "en": ["cune-iiif-orm:testset:O.0219:O.0219_ShadedD"] } + }, + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_ShadedB/full/full/0/default.jpg", + "type": "Image", + "height": 6270, + "width": 2551, + "service": [ + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/images/cune-iiif-orm:testset:O.0219:O.0219_ShadedB", + "type": "ImageService2", + "profile": "level2" + } + ], + "format": "image/jpeg", + "label": { "en": ["cune-iiif-orm:testset:O.0219:O.0219_ShadedB"] } + } + ] + }, + "target": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001" + } + ] + } + ], + "annotations": [ + { + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation-page/sign-annotations", + "type": "AnnotationPage", + "items": [ + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "1(u)", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" }, + { "type": "TextualBody", "purpose": "Line", "value": "1" }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#c426144a-b36b-4503-bcf6-7a0c36edd371", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "1(asz)", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#2b053d88-5bce-49ff-aba9-104bd645b279", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" }, + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "iku", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#0417f494-13e9-4e95-8fff-1040c5e1ce86", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { "type": "TextualBody", "purpose": "Transliteration", "value": "a" }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#e691a439-a30a-4d67-9828-f0718b07af62", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "sza3", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#2b34febc-4ae0-4dd0-a7e6-d5e023d4bdb2", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "{gisz}", + "dimensions": { "x": 2034, "y": 5000 } + } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#23e7b773-92e0-4bef-afdc-5a923dd68111", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "kiri6", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#0e968c19-e4a0-4120-a94c-8bcc867c99e3", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "da", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#24ed6b89-1364-4ca6-b9d9-44b2572dd6b7", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { "type": "TextualBody", "purpose": "Transliteration", "value": "a" }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#9738e9ac-3873-4683-9210-c658ced8d0b1", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "sza3", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#1d500524-b74c-4e07-89ba-5d3d90a3e3c3", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "la", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#6c455ecf-9d52-41b3-b010-d12b9aba3c5c", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "la", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#38d7bccb-b518-4dd2-96cd-c2321bff1241", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ti", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#b6d7b7f5-16c5-4b2b-b65b-110522cd683e", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ia", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#67ae185f-fb06-4d0b-bf59-41fc71c12f0f", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "u3", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#6b290be0-3502-491a-adfe-efa45cef0dd8", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "da", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#bdcd0efb-7ef4-4699-a5b2-7ea1cd373735", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "na", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#7319ccb1-d442-400f-bbdb-e70801de6852", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ra", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#2d4ba567-31dd-47fb-a3c4-f0d92f350456", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "am", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#4ba32aa7-c882-465a-b1e0-48a826717b29", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "tum", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#7cb2d6e5-782d-4cfc-a33e-f47afb87da8a", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "sag", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#80fc4205-8d91-49a6-ab75-a150e1f63e5f", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "1(disz)", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#4d8d7312-874b-4183-80b4-5a910a1e2404", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "kam", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#6a95d7c2-3e6c-493f-853c-b949eba94f83", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "hu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#37d01b14-1bf6-4962-a21c-19936442c3c6", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "nu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#0dced633-9902-4d1e-8a5c-996b3befab70", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" }, + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "nu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "7", "dimensions": { "x": 2034, "y": 5000 } } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#77b00339-3d34-437f-b161-d8a488ee6377", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "um", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#3a83bb45-e1da-407a-8125-09d5147d9cb1", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "sag", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#7e2f5d68-07c1-4f80-b29f-484fbee6171b", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "2(disz)", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" }, + { "type": "TextualBody", "purpose": "Line", "value": "5" }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#210e2dcd-3ca2-43dc-908d-48b379b89458", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "kam", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#5305137e-c099-4142-a7f7-cd99a4882ca6", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "nu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#2da3bd88-400e-4ddd-904c-3cc26c4101c9", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ur2", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#76a47021-848c-4475-8492-23504234b2b6", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "be", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#32c11fd9-21ce-4a6b-9d46-a2e72b3026d2", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "el", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#541f884b-aec8-4ae0-9d65-7779ba968178", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ti", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#cc72ab91-ec7e-41cd-8850-96d861eaa620", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ni", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "Charindex", + "value": "10", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#6ca4fe58-710e-4a28-b844-a09626549a62", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "szam2", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#3396511f-bb35-4331-af10-497bd56ec44f", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "til", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Line", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#3dbc632d-c1d8-4cce-9ccc-ea66a818ba35", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "la", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#806a9bad-1f85-4c53-977c-445ac56d5d70", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "bi", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#bcf228f8-732f-4308-a548-970c0ccef28f", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "sze3", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#f5c8881c-73d0-4e8d-b8fd-c0cb221a7237", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "1(u)", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#2dfb00e8-e9c0-4dc3-be34-0ecc5f55760d", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "gin2", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#8c6fc70e-d799-4517-9f12-d80f666b9e44", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ku3", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#f87cc403-6b47-4bfe-8ebc-1f0e9e7ffa35", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "babbar", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#bdea0ad3-1d2a-4ab4-897a-d8b743a784e6", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "in", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#0693f74e-4d6d-4500-8f87-be5ea22e2be6", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "na", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#f1838cc4-d0bf-413b-bed9-178cb0f0ef85", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "la2", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#05fb6483-1848-4e95-884d-90596ffa0727", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ki", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#822f3bc4-5944-4486-8556-800f5b61ef17", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ur", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#d63ac510-62c7-440e-9e02-8a1187c9b2b4", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "{gisz}", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#d0674eb3-34a9-4708-b80e-3fed6582db6f", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "gigir", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#f5867d69-9282-43c5-afb9-5ce18a9d54bf", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "la", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "10", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#30b10b87-2944-4e75-9999-b9c2fef8b1ac", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "la", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "10", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#2afa342c-7dbd-431b-ae11-740fecf3bb26", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ti", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "10", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#07ab3be6-829b-4336-83d7-5d98cd36f336", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ia", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "10", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#65b92dc8-0da0-4c13-bde5-1609c2c665c5", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "in", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "11", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#cc0cc404-632f-4cec-b863-7b6653bb7548", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "szi", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "11", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#1ba510b3-08b3-4d5d-b8ca-aa98959135a4", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "sa10", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "11", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#f190fcab-6b54-464b-94d2-98981b8cbf62", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "u4", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#af084012-ad9e-4344-b57f-f3918dd7e962", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "kur2", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#b31d5f01-2ceb-460f-98fd-316c4daad229", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "sze3", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#e3f038b1-3aa4-41b8-a7b6-01c02a7e7e57", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "inim", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#6e18ed6b-b3c0-4d6e-aa56-aff45616515a", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "nu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#a99766b2-be55-400b-97c0-72ba76c52973", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ga2", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#6d0797c8-815f-45a7-a09a-c6569327fe56", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ga2", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#073006f2-c233-40e7-b4e6-8fb57bcb3879", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { "type": "TextualBody", "purpose": "Transliteration", "value": "a" }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "front" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#876c9690-7aa9-4387-a05a-520bcd7dbeeb", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ma", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#927ea45d-66d3-41cf-ba79-1def1221a11c", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "{d}", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#e6572b26-5574-4898-8f73-8bcba06dbf84", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "lugal", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#5ee31f96-5896-47c9-985d-f5338cb52fd9", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "mar2", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#10708a15-3b93-4e64-882d-6d3bfdcd8e90", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "da", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#6be60fef-ff06-4693-a71b-ee9e21bef8a5", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "u3", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#d2fefdc4-c268-47b5-94c3-a7d0eb5760dc", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "su", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "TabletSide", + "value": "back", + "dimensions": { "x": 2034, "y": 5000 } + } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#c505c508-3977-42e2-a3cc-8cbb62a4a739", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "mu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#81692287-3ebd-482a-b1de-36c492604d2a", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "nu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#15e5f14a-3700-477a-b1db-2ffce10c34a0", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "um", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#0ce92c79-7e45-45a4-b6d7-cf877ea570a4", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "hi", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#af566a2c-85e8-43b3-9043-3ea118cf3dc0", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "im", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#9d380a28-0568-491d-acff-93a7ead798f5", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "in", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#9d3fcca5-75d4-4a7f-ad2b-8ab7e51cb7d7", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "igi", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#d32f19ed-ab81-4813-9bb1-a89501b094ee", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ru", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#50c50634-3f5e-4203-9867-1ab6f6a13819", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "de3", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#8d823b8e-9a7d-4f4e-ab3e-2babfcbf9b50", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "esz", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#23fbfc92-a856-4e7b-a6ba-c2b8223809bc", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "igi", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "TabletSide", + "value": "back", + "dimensions": { "x": 2034, "y": 5000 } + } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#39d37237-4d50-47f9-9c50-4126720f175c", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "sza", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#e467dad2-23ad-4ca4-9e90-c3f41f1021e3", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "bi", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#07b7c131-b110-41d4-9bf1-cc940481df55", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "gi4", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#6fa133b2-044e-4063-a3f4-0c782c31a502", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ri", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#65815467-3fc8-4239-87fc-1d3bb8ba4e14", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "is", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#b9eeef4e-2030-478a-a40a-4979b1c35739", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "dumu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#1fbdcad7-a202-4371-a75e-2a4ecb6053be", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "mil", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#74b5481c-25c5-430c-be1a-58cad8ac5528", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "{d}", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#9abac41e-6425-429d-bcd8-892b21327387", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "en", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "Charindex", + "value": "10", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#4c35868f-c81a-4753-944a-539feee43e63", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "zu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "Charindex", + "value": "11", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#42461aee-9590-45b7-a1a7-855b74e63ba8", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "igi", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#d346108a-c810-4b9b-823d-aecfcbe77727", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "na", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "TabletSide", + "value": "back", + "dimensions": { "x": 2034, "y": 5000 } + } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#b6a937a5-bdc9-4c1e-9984-c0d331439056", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "bi", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#0e45fc02-5fbc-4be6-b690-51f3898ef060", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "{d}", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#f031b2a7-5b60-4863-b05a-9e1f7594bb52", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "en", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#6a0114f0-b36c-4d40-a81e-8ddbd89fe21c", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "zu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" }, + { "type": "TextualBody", "purpose": "Charindex", "value": "6", "dimensions": { "x": 2034, "y": 5000 } } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#e173ee15-1c11-40a3-9dd2-e6ef701b8947", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "dumu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#aee3ca12-8ec6-49d7-83d0-12a6e17285a1", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "be", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#1e84bb7d-aa50-4735-bfb1-b9f9c2bb5a3c", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "la", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#4d1bd19a-e978-4f89-baa6-e33b4d929835", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "nu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "Charindex", + "value": "10", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#70abf5c6-7744-446a-97fd-d89b0719d94d", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "um", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "Charindex", + "value": "11", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#64333bd0-a3eb-4e69-9005-974318dac169", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "igi", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#3b1f5534-834b-4464-a0b4-5359ab2cddfb", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ku3", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#71b0179a-dd7a-4e60-af1a-0279413b0db7", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "{d}", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#1302ab52-cb83-4a75-bed1-5d4a99718ab9", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "nin", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#a9f9b8e0-51db-4b1a-960b-d99f0e827279", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "szubur", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#4a4f053d-9e76-48f7-b56f-9e5ff2df1c6c", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "dumu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#df6ded75-b0a5-4028-acb6-2a571bab5f6b", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "dingir§", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Line", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#c09403f7-8b7b-4e1e-91ba-280c7a59abff", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ba", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#97a9e37f-4b8a-4ccd-8c55-94f080089ca9", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ni", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#c6542cf0-1211-4d13-bcf2-3721b1276586", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "igi", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#0c01b49e-9ebf-4099-ba4c-62e50487d501", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "{d}", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#f3d80430-4564-40aa-abf6-9fff6589b2e0", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "en", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#0b6e287a-d3d1-407a-9b31-930d422a709b", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "zu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#317696fa-36a9-4563-8537-e2c8580f3d84", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" }, + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "li", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "5", "dimensions": { "x": 2034, "y": 5000 } } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#835f3152-5f51-4e2f-aeac-88e23c7a6b2c", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "di", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#aaeb970d-84f7-463b-af62-4869ee27efb5", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "isz", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#af26748b-12dc-493f-a3a6-21b7fcd4600b", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "dumu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#2ee73f5a-13db-4ab5-bd9b-628921c68da9", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "dingir", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#0c80ce22-1942-4985-a46d-03e8d57f1b9a", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ba", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "Charindex", + "value": "10", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#6c62ae29-4532-454e-a00e-f7d932ccf114", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ni", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "Charindex", + "value": "11", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#45c38035-5a82-4b8c-b166-b10b1bb57dd7", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "igi", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#fb94bb47-0e7b-4554-abb2-179895703fd1", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "nu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#cf62d6db-166f-4958-be1f-fb948a5ee5da", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ur2", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#9e5e25a0-cb01-40e4-be2a-3262bbbaa58a", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "be", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#f1b292ad-f85f-4291-a16c-2c8e77827521", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "el", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#6e6ddbb1-9428-4f9d-b2cf-923443711776", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ti", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#e1440654-a3ea-4153-acfe-1c5e5d635368", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ni", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#1f5487b6-3f53-4096-8327-d32adf2d4e83", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "szesz", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#9ccbe406-284d-4489-8f67-26f13fd6198a", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { "type": "TextualBody", "purpose": "Transliteration", "value": "a" }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#63c34d01-57af-4a13-b46d-d22d801f165b", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ni", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "Charindex", + "value": "10", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#b984046e-66f3-4c31-88fd-bd1cb1a80f7e", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "igi", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#ca06ec7e-f77c-4e28-9f2c-914bd6ea1950", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ib", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#1e07d2a8-6fe5-42dd-ae70-80e543f0afea", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ni", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "TabletSide", + "value": "back", + "dimensions": { "x": 2034, "y": 5000 } + } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#90dfa187-04fa-4367-a350-16ed7be05093", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ir3", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#ba97ca65-b53f-472e-9f61-231aca8dfe5f", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ra", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#29c3f876-ba2a-4013-bba2-8df180f48023", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "dumu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#25945214-963a-4d3a-8bc2-367b9f300da2", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "i3", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#f7e6c92a-7cdc-4478-825b-922494b79b92", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "li2", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#5b5ed5e0-c085-4b46-bf08-12a92d6a446d", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ba", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Wordindex", "value": "" }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#f496d0ec-88dc-4b1c-9a2e-7ff53ea58741", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "asz", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "Charindex", + "value": "10", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#b024d758-053e-463a-86e7-1d4a7751d4e2", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ur", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "Charindex", + "value": "11", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#bf7632f3-9287-463e-b432-8154323976dc", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "la", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "Charindex", + "value": "12", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#ae689a4b-5837-4631-9058-17aeea33e53e", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ku", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "Charindex", + "value": "13", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#ecb18e32-0c93-4f79-a194-3ef77090ed9d", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "igi", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "10", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#aa2e9c9c-11ff-4ce3-ba90-abea327f5559", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { "type": "TextualBody", "purpose": "Transliteration", "value": "a" }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "10", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#c2f22535-26e9-4bd8-87ba-3a772b80c5cc", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "hu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "10", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#4210808b-82fe-4ac6-a981-c2aa927858c0", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "szi", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "10", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#70748999-5ec1-4827-8e81-8203d4c9569c", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "na", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "10", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "TabletSide", + "value": "back", + "dimensions": { "x": 2034, "y": 5000 } + } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#ad7b2655-b685-4571-be23-30126ab4c4c4", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "dumu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "10", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#2a942048-86a9-4781-9f68-f01bc0e04fe8", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "{d}", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "10", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#575ce70e-b72d-4c62-aa38-ae8b4494a003", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "en", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "10", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#3f337d58-2622-43b2-a5b8-e53391eee97a", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "zu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "10", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#4d069d60-2feb-4b04-9cc8-72c85a7d8a27", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "gal", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "10", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "Charindex", + "value": "10", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#72f18670-2f06-46ed-92f4-c4357ba70177", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "zu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "10", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "Charindex", + "value": "11", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#03482e0c-9483-4a9e-bb97-a44504ec833b", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "igi", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "11", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#3a73cf29-a306-4a3f-a7c5-04ae3f6c52c1", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ar", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "11", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#9e5207d6-020e-46ed-938f-333da54373fd", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "wi", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "11", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#e9e6ac96-efa5-478a-a72a-2c01779ecee1", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "um", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "11", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#35b2366d-207f-4e2b-b21d-9b17c4d47f42", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "dub", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Line", "value": "11", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#fc9ac66f-885c-4ee3-a6db-f79e4478d1b7", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "sar", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "11", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#720dae2c-285b-4398-81ca-1142c5b672b0", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "igi", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "1", "dimensions": { "x": 2034, "y": 5000 } } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#d815aeb4-74a1-4fe9-9ac6-6c9f2e58e81a", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "na", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#9bf50a63-990d-45e3-bb05-4685db321108", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "bi", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#c5d488d9-0a05-447f-bbc6-1fe7e781921b", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "i3", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#c34c61ca-b895-4d5e-8089-09c330b566dd", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "li2", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#be02179c-d033-407c-b191-75d03abd52f7", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "szu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#ec78d225-ddb9-4ea8-ad54-478cabddbc5f", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "dumu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#cd00e814-8bd3-4acd-9d19-bb60cf73f299", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "i3", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "8", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#ecbcce6d-0230-4828-a8cc-112042775c84", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "li2", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#a3e0f777-5e22-4d02-810b-5ce99f44f220", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ba", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "Charindex", + "value": "10", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#7e2aa440-df60-453a-a483-91a793c93df1", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "asz", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "Charindex", + "value": "11", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#295c95ec-78bb-456e-995a-5bdb450f5efb", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ur", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "Charindex", + "value": "12", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#55ea7e7a-f613-47f3-8cf0-f038b5a14ec7", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "la", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "Charindex", + "value": "13", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#5e4c4209-9d11-41ad-91f9-be3bf1f856e0", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "ku", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "12", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "Charindex", + "value": "14", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#34510804-6274-4945-8031-9b45b7dc7125", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "du8", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Line", "value": "13", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#435c513d-49d8-4c48-a3a6-60b8844f062a", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { "type": "TextualBody", "purpose": "Transliteration", "value": "a" }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "back" }, + { "type": "TextualBody", "purpose": "Line", "value": "13", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#3592f0da-5e25-49b8-9093-d9a370c95159", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "za", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "top" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#f3924d78-17c7-4199-b9ab-2e22e4a62463", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "bara2", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "5", "dimensions": { "x": 2034, "y": 5000 } }, + { + "type": "TextualBody", + "purpose": "TabletSide", + "value": "top", + "dimensions": { "x": 2034, "y": 5000 } + } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#788c96d3-8e31-4b7c-8283-b9a2b884e84f", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "{d}", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "6", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "top" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#6b3af227-90fd-4ceb-a837-edfb2efe549b", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "nin", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "7", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "top" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#72d14cca-2b9a-4399-8817-8b5c536dac3f", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "mu", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "top" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#7a77b427-fec8-4489-8edd-962d1271826e", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "na", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "3", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "top" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#80957bda-f6a9-4267-96ee-2a175f3af61a", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "dim2", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "2", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "4", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "top" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#49bfcf04-50c4-4e87-a983-a6c922d3855e", + "motivation": "tagging" + }, + { + "type": "Annotation", + "body": [ + { + "type": "TextualBody", + "purpose": "Transliteration", + "value": "re", + "dimensions": { "x": 2034, "y": 5000 } + }, + { "type": "TextualBody", "purpose": "Column", "value": "" }, + { "type": "TextualBody", "purpose": "Line", "value": "1", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "Charindex", "value": "9", "dimensions": { "x": 2034, "y": 5000 } }, + { "type": "TextualBody", "purpose": "TabletSide", "value": "top" } + ], + "target": { + "source": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001", + "selector": { + "type": "SvgSelector", + "value": "" + }, + "type": "SpecificResource" + }, + "id": "https://iiif.ghentcdh.ugent.be/iiif/manifests/cune-iiif-orm:sde:O.0219/canvas/0001/annotation/#6500d6b9-de49-4fdb-83a7-ccab7d0ef59a", + "motivation": "tagging" + } + ] + } + ] + } + ] +} diff --git a/scripts/update-cookbook.mjs b/scripts/update-cookbook.mjs index f531237..ef8e7fa 100644 --- a/scripts/update-cookbook.mjs +++ b/scripts/update-cookbook.mjs @@ -1,7 +1,7 @@ -import { GlobalRegistrator } from "@happy-dom/global-registrator"; -import { promises } from "node:fs"; -import { cwd } from "node:process"; -import { join } from "node:path"; +import { GlobalRegistrator } from '@happy-dom/global-registrator'; +import { promises } from 'node:fs'; +import { cwd } from 'node:process'; +import { join } from 'node:path'; const { writeFile } = promises; @@ -14,25 +14,23 @@ function getManifest(id) { } async function main() { - const resp = await fetch("https://iiif.io/api/cookbook/recipe/matrix/"); + const resp = await fetch('https://iiif.io/api/cookbook/recipe/matrix/'); - const wrapper = document.createElement("div"); + const wrapper = document.createElement('div'); wrapper.innerHTML = await resp.text(); - - const elements = wrapper.querySelectorAll(".api-content table td a[href]"); + const elements = wrapper.querySelectorAll('.api-content table td a[href]'); const index = {}; - for (const el of elements) { - const link = el.getAttribute("href"); + const link = el.getAttribute('href'); const matches = matcher.exec(link); if (matches && matches[1]) { const id = matches[1]; index[id] = { id: id, - url: getManifest(id) + url: getManifest(id), }; console.log(getManifest(id)); } @@ -41,53 +39,63 @@ async function main() { const keys = Object.keys(index); const promises = []; for (const key of keys) { - promises.push((async () => { - const jsonHopefully = await (await fetch(index[key].url)).text(); - - if (jsonHopefully.trim().startsWith('{')) { - await writeFile(join(cwd(), `fixtures/cookbook`, `${key}.json`), - jsonHopefully - ); - console.log(index[key].url); - } else { - if (index[key]) { - delete index[key]; - } + promises.push( + await (async () => { + const jsonHopefully = await (await fetch(index[key].url)).text(); + + if (false && jsonHopefully.trim().startsWith('{')) { + await writeFile(join(cwd(), `fixtures/cookbook`, `${key}.json`), jsonHopefully); + console.log(index[key].url); + } else { + if (index[key]) { + delete index[key]; + } - // Otherwise.. - const innerDocument = await fetch(`https://iiif.io/api/cookbook/recipe/${key}/`); - const innerWrapper = document.createElement("div"); - innerWrapper.innerHTML = await innerDocument.text(); - const elements = innerWrapper.querySelectorAll(".content > p > a"); - for (const el of elements) { - if (el.innerHTML === 'JSON-LD') { - const href = el.getAttribute('href'); - const filenameParts = href.split('/'); - const fileNameWithExtension = filenameParts[filenameParts.length - 1]; - if (fileNameWithExtension.endsWith('.json')) { - const fileName = fileNameWithExtension.slice(0, -5); - await writeFile(join(cwd(), `fixtures/cookbook`, `${key}-${fileName}.json`), - await (await fetch(`https://iiif.io/api/cookbook/recipe/${key}/${href}`)).text() - ); - - index[`${key}-${fileName}`] = { - id: `${key}-${fileName}`, - url: `https://iiif.io/api/cookbook/recipe/${key}/${href}`, - }; - console.log(`https://iiif.io/api/cookbook/recipe/${key}/${href}`); + // Otherwise.. + const innerDocument = await fetch(`https://iiif.io/api/cookbook/recipe/${key}/`); + const innerWrapper = document.createElement('div'); + innerWrapper.innerHTML = await innerDocument.text(); + const elements = innerWrapper.querySelectorAll('.content > p > a'); + const headingEl = innerWrapper.querySelector('h1.title'); + for (const el of elements) { + if (el.innerHTML === 'JSON-LD') { + const href = el.getAttribute('href'); + const filenameParts = href.split('/'); + const fileNameWithExtension = filenameParts[filenameParts.length - 1]; + if (fileNameWithExtension.endsWith('.json')) { + const fileName = fileNameWithExtension.slice(0, -5); + const data = await (await fetch(`https://iiif.io/api/cookbook/recipe/${key}/${href}`)).text(); + await writeFile( + join(cwd(), `fixtures/cookbook`, `${key}-${fileName}.json`), + await (await fetch(`https://iiif.io/api/cookbook/recipe/${key}/${href}`)).text() + ); + + index[`${key}-${fileName}`] = { + id: `${key}-${fileName}`, + url: `https://iiif.io/api/cookbook/recipe/${key}/${href}`, + }; + const heading = headingEl ? headingEl.innerHTML : 'Untitled'; + console.log( + JSON.stringify({ + title: heading, + cookbookUrl: `https://iiif.io/api/cookbook/recipe/${key}/`, + url: `https://iiif.io/api/cookbook/recipe/${key}/${href}`, + }) + ); + // console.log(`https://iiif.io/api/cookbook/recipe/${key}/${href}`); + } } } } - } - })()); + })() + ); } await Promise.all(promises); - await writeFile(join(cwd(), `fixtures/cookbook`, "_index.json"), JSON.stringify(index, null, 2)); + await writeFile(join(cwd(), `fixtures/cookbook`, '_index.json'), JSON.stringify(index, null, 2)); } - main().then(() => { - console.log("done"); + console.log('done'); }); diff --git a/src/presentation-3/serialize-presentation-3.ts b/src/presentation-3/serialize-presentation-3.ts index fc7582e..4da0bda 100644 --- a/src/presentation-3/serialize-presentation-3.ts +++ b/src/presentation-3/serialize-presentation-3.ts @@ -54,8 +54,8 @@ function service2compat(service: ImageService3 | ImageService): ImageService2 | typeof _profile === 'string' ? _profile : Array.isArray(_profile) - ? _profile.find((p) => typeof p === 'string') - : ''; + ? _profile.find((p) => typeof p === 'string') + : ''; return { '@id': id, diff --git a/src/presentation-3/traverse.ts b/src/presentation-3/traverse.ts index 49565a7..8cc73ee 100644 --- a/src/presentation-3/traverse.ts +++ b/src/presentation-3/traverse.ts @@ -165,7 +165,7 @@ export class Traverse { ); } if (resource.homepage) { - resource.homepage = resource.homepage.map((homepage) => + resource.homepage = ensureArray(resource.homepage).map((homepage) => this.traverseType(homepage, { parent: resource }, this.traversals.contentResource) ); } @@ -414,8 +414,8 @@ export class Traverse { typeHint === 'Canvas' || source.type === 'Canvas' ? this.traverseType(source, { parent }, this.traversals.canvas) : typeHint === 'ContentResource' - ? this.traverseContentResource(source, { parent }) - : this.traverseUnknown(source, { parent, typeHint }), + ? this.traverseContentResource(source, { parent }) + : this.traverseUnknown(source, { parent, typeHint }), }, { parent }, this.traversals.specificResource