Skip to content

Commit 9351f3d

Browse files
committed
Merge branch 'v4' into v4-0074-update-with-provides
2 parents e3218a7 + 5db0e1f commit 9351f3d

File tree

18 files changed

+320
-78
lines changed

18 files changed

+320
-78
lines changed

_includes/links.md

Lines changed: 23 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
[0001]: {{ site.cookbook_url | absolute_url }}/recipe/0001-mvm-image/ "Simplest Manifest - Image"
33
[0001-4]: {{ site.cookbook_url | absolute_url }}/recipe/0001-mvm-image/#version-4 "Simplest Manifest - Image"
44
[0002]: {{ site.cookbook_url | absolute_url }}/recipe/0002-mvm-audio/ "Simplest Manifest - Audio"
5+
[0002-4]: {{ site.cookbook_url | absolute_url }}/recipe/0002-mvm-audio/#version-4 "Simplest Manifest - Audio"
56
[0003]: {{ site.cookbook_url | absolute_url }}/recipe/0003-mvm-video/ "Simplest Manifest - Video"
7+
[0003-4]: {{ site.cookbook_url | absolute_url }}/recipe/0003-mvm-video/#version-4 "Simplest Manifest - Video"
68
[0004]: {{ site.cookbook_url | absolute_url }}/recipe/0004-canvas-size/ "Image and Canvas with Differing Dimensions"
79
[0005]: {{ site.cookbook_url | absolute_url }}/recipe/0005-image-service/ "Support Deep Viewing with Basic Use of a IIIF Image Service"
810
[0006]: {{ site.cookbook_url | absolute_url }}/recipe/0006-text-language/ "Internationalization and Multi-language Values"
@@ -11,77 +13,66 @@
1113
[0009]: {{ site.cookbook_url | absolute_url }}/recipe/0009-book-1/ "Simple Manifest - Book"
1214
[0010]: {{ site.cookbook_url | absolute_url }}/recipe/0010-book-2-viewing-direction "Viewing direction and its effect on navigation"
1315
[0011]: {{ site.cookbook_url | absolute_url }}/recipe/0011-book-3-behavior/ "Book behavior (paging) variations"
14-
[0299]: {{ site.cookbook_url | absolute_url }}/recipe/0299-region/ "Addressing a spatial region"
1516
[0013]: {{ site.cookbook_url | absolute_url }}/recipe/0013-placeholderCanvas/ "Load a Preview Image Before the Main Content"
16-
[0202]: {{ site.cookbook_url | absolute_url }}/recipe/0202-start-canvas/ "Load Manifest Beginning with a Specific Canvas"
1717
[0014]: {{ site.cookbook_url | absolute_url }}/recipe/0014-accompanyingcanvas/ "Audio Presentation with Accompanying Image"
1818
[0015]: {{ site.cookbook_url | absolute_url }}/recipe/0015-start/ "Begin playback at a specific point - Time-based media"
1919
[0017]: {{ site.cookbook_url | absolute_url }}/recipe/0017-transcription-av/ "Providing Access to Transcript Files of A/V Content"
20-
21-
[0139]: {{ site.cookbook_url | absolute_url }}/recipe/0139-geolocate-canvas-fragment/ "Represent Canvas Fragment as a Geographic Area on a Web Map"
22-
2320
[0019]: {{ site.cookbook_url | absolute_url }}/recipe/0019-html-in-annotations/ "HTML in Annotations"
2421
[0021]: {{ site.cookbook_url | absolute_url }}/recipe/0021-tagging/ "Simple Annotation — Tagging"
2522
[0022]: {{ site.cookbook_url | absolute_url }}/recipe/0022-linking-with-a-hotspot/ "Redirecting from one Canvas to another resource (Hotspot linking)"
26-
27-
[0032]: {{ site.cookbook_url | absolute_url }}/recipe/0032-collection/ "Simple Collection"
28-
[0033]: {{site.baseurl}}/recipe/0033-choice/ "Multiple choice of images in a single view"
29-
[0035]: {{site.baseurl}}/recipe/0035-foldouts/ "Foldouts, Flaps, and Maps"
30-
[0036]: {{site.baseurl}}/recipe/0036-composition-from-multiple-images/ "Composition from Multiple Images"
23+
[0024]: {{ site.cookbook_url | absolute_url }}/recipe/0024-book-4-toc/ "Book with Table of contents (ranges)"
3124
[0026]: {{ site.cookbook_url | absolute_url }}/recipe/0026-toc-opera/ "Table of Contents for A/V Content"
3225
[0029]: {{ site.cookbook_url | absolute_url }}/recipe/0029-metadata-anywhere/ "Metadata on any Resource"
3326
[0030]: {{ site.cookbook_url | absolute_url }}/recipe/0030-multi-volume/ "Multi-volume Work with Individually-bound Volumes"
3427
[0031]: {{ site.cookbook_url | absolute_url }}/recipe/0031-bound-multivolume/ "Multiple Volumes in a Single Bound Volume"
35-
28+
[0032]: {{ site.cookbook_url | absolute_url }}/recipe/0032-collection/ "Simple Collection"
29+
[0033]: {{site.baseurl}}/recipe/0033-choice/ "Multiple choice of images in a single view"
30+
[0035]: {{site.baseurl}}/recipe/0035-foldouts/ "Foldouts, Flaps, and Maps"
31+
[0036]: {{site.baseurl}}/recipe/0036-composition-from-multiple-images/ "Composition from Multiple Images"
3632
[0040]: {{ site.cookbook_url | absolute_url }}/recipe/0040-image-rotation-service/ "Image Rotation Two Ways"
37-
33+
[0046]: {{ site.cookbook_url | absolute_url }}/recipe/0046-rendering/ "Providing Alternative Representations"
3834
[0047]: {{ site.cookbook_url | absolute_url }}/recipe/0047-homepage/ "Linking to Web Page of an Object"
3935
[0053]: {{ site.cookbook_url | absolute_url }}/recipe/0053-seeAlso/ "Linking to Structured Metadata"
40-
[0046]: {{ site.cookbook_url | absolute_url }}/recipe/0046-rendering/ "Providing Alternative Representations"
4136
[0064]: {{ site.cookbook_url | absolute_url }}/recipe/0064-opera-one-canvas/ "Table of Contents for Multiple A/V Files on a Single Canvas"
4237
[0065]: {{ site.cookbook_url | absolute_url }}/recipe/0065-opera-multiple-canvases/ "Table of Contents for Multiple A/V Files on Multiple Canvases"
43-
44-
[0024]: {{ site.cookbook_url | absolute_url }}/recipe/0024-book-4-toc/ "Book with Table of contents (ranges)"
45-
4638
[0068]: {{ site.cookbook_url | absolute_url }}/recipe/0068-newspaper/ "Basic Newspaper"
4739
[0074]: {{ site.cookbook_url | absolute_url}}/recipe/0074-multiple-language-captions/ "Using Caption and Subtitle Files in Multiple Languages with Video Content"
40+
[0074-4]: {{ site.cookbook_url | absolute_url}}/recipe/0074-multiple-language-captions/#version-4 "Using Caption and Subtitle Files in Multiple Languages with Video Content"
41+
[0079-4]: {{ site.cookbook_url | absolute_url }}/recipe/0079-annotations-for-captions/#version-4 "Using Annotations for Timed Text"
4842
[0117]: {{ site.cookbook_url | absolute_url }}/recipe/0117-add-image-thumbnail/ "Image Thumbnail for Manifest"
4943
[0118]: {{ site.cookbook_url | absolute_url }}/recipe/0118-multivalue/ "Displaying Multiple Values with Language Maps"
50-
5144
[0135]: {{ site.cookbook_url | absolute_url }}/recipe/0135-annotating-point-in-canvas/ "Annotating a specific point of an image"
52-
45+
[0139]: {{ site.cookbook_url | absolute_url }}/recipe/0139-geolocate-canvas-fragment/ "Represent Canvas Fragment as a Geographic Area on a Web Map"
5346
[0154]: {{ site.cookbook_url | absolute_url }}/recipe/0154-geo-extension/ "Locate a Manifest on a Web Map"
54-
55-
[0232]: {{ site.cookbook_url | absolute_url }}/recipe/0232-image-thumbnail-canvas/ "Implementation discussion: Thumbnails on Canvases"
47+
[0202]: {{ site.cookbook_url | absolute_url }}/recipe/0202-start-canvas/ "Load Manifest Beginning with a Specific Canvas"
5648
[0219]: {{ site.cookbook_url | absolute_url }}/recipe/0219-using-caption-file/ "Using Caption and Subtitle Files with Video Content"
49+
[0219-4]: {{ site.cookbook_url | absolute_url }}/recipe/0219-using-caption-file/#version-4 "Using Caption and Subtitle Files with Video Content"
5750
[0229]: {{ site.cookbook_url | absolute_url }}/recipe/0229-behavior-ranges/ "Adding Thumbnail Navigation and `no-nav` to a Video Resource"
5851
[0230]: {{ site.cookbook_url | absolute_url }}/recipe/0230-navdate/ "Navigation by Chronology"
5952
[0231]: {{ site.cookbook_url | absolute_url }}/recipe/0231-transcript-meta-recipe/ "Transcripts, Captions, and Subtitles - General Considerations"
60-
53+
[0231-4]: {{ site.cookbook_url | absolute_url }}/recipe/0231-transcript-meta-recipe/#version-4 "Transcripts, Captions, and Subtitles - General Considerations"
54+
[0232]: {{ site.cookbook_url | absolute_url }}/recipe/0232-image-thumbnail-canvas/ "Implementation discussion: Thumbnails on Canvases"
6155
[0234]: {{ site.cookbook_url | absolute_url }}/recipe/0234-provider/ "Acknowledge Content Contributors"
6256
[0240]: {{ site.cookbook_url | absolute_url }}/recipe/0240-navPlace-on-canvases/ "Locate Multiple Canvases on a Web Map"
63-
[0261]: {{ site.cookbook_url | absolute_url }}/recipe/0261-non-rectangular-commenting/ "Annotation with a Non-Rectangular Polygon"
57+
[253-4]: {{ site.cookbook_url | absolute_url }}/recipe/0253-using-transcript-file/ "Using Transcript Files with Audio or Video Content"
6458
[0258]: {{ site.cookbook_url | absolute_url }}/recipe/0258-tagging-external-resource/ "Tagging with an External Resource"
65-
59+
[0261]: {{ site.cookbook_url | absolute_url }}/recipe/0261-non-rectangular-commenting/ "Annotation with a Non-Rectangular Polygon"
6660
[0266]: {{ site.cookbook_url | absolute_url }}/recipe/0266-full-canvas-annotation/ "Simplest Annotation"
6761
[0269]: {{ site.cookbook_url | absolute_url }}/recipe/0269-embedded-or-referenced-annotations/ "Embedded or Referenced Annotations"
6862
[0283]: {{ site.cookbook_url | absolute_url }}/recipe/0283-missing-image/ "Missing Images in a Sequence"
69-
63+
[0299]: {{ site.cookbook_url | absolute_url }}/recipe/0299-region/ "Addressing a spatial region"
7064
[0306]: {{ site.cookbook_url | absolute_url }}/recipe/0306-linking-annotations-to-manifests/ "Linking external Annotations targeting a Canvas to a Manifest"
7165
[0309]: {{ site.cookbook_url | absolute_url }}/recipe/0309-annotation-collection/ "Using Annotation Collections"
7266
[0318]: {{ site.cookbook_url | absolute_url }}/recipe/0318-navPlace-navDate/ "Locating an Item in Place and Time"
7367
[0326]: {{ site.cookbook_url | absolute_url }}/recipe/0326-annotating-image-layer/ "Annotate a specific images or layers"
74-
7568
[0346]: {{ site.cookbook_url | absolute_url }}/recipe/0346-multilingual-annotation-body/ "Annotating in Multiple Languages"
7669
[0377]: {{ site.cookbook_url | absolute_url }}/recipe/0377-image-in-annotation/ "Image in annotation"
77-
70+
[0434]: {{ site.cookbook_url | absolute_url }}/recipe/0434-choice-av/ "Multiple Choice of Audio Formats in a Single View (Canvas)"
7871
[0466]: {{ site.cookbook_url | absolute_url }}/recipe/0466-link-for-loading-manifest/ "Loading a manifest with a viewer using a link"
79-
8072
[0485]: {{ site.cookbook_url | absolute_url }}/recipe/0485-contentstate-canvas-region/ "Open a specific region of a canvas in a viewer"
81-
82-
[0434]: {{ site.cookbook_url | absolute_url }}/recipe/0434-choice-av/ "Multiple Choice of Audio Formats in a Single View (Canvas)"
8373
[0489]: {{ site.cookbook_url | absolute_url }}/recipe/0489-multimedia-canvas/ "Rendering Multiple Media Types on a Time-Based Canvas"
8474
[0540]: {{ site.cookbook_url | absolute_url }}/recipe/0540-link-for-opening-multiple-canvases/ "Sharing a link for opening two or more Canvases"
75+
[0608-4]: {{ site.cookbook_url | absolute_url }}/recipe/0608-mvm-3d/#version-4 "Simplest Manifest - 3D model"
8576

8677
[cookbook-process]: {{site.cookbook_url | absolute_url }}/recipe
8778

@@ -97,6 +88,9 @@
9788
[prezi3-pointselector]: {{ site.api_url | absolute_url }}/annex/openannotation/#point-selector "PointSelector"
9889
[prezi3-range]: {{ site.api_url | absolute_url }}/presentation/3.0/#54-range "Range"
9990

91+
[prezi4-model]: {{ site.api_url | absolute_url }}/presentation/4.0/model/ "IIIF Presentation API version 4 Data Model"
92+
[prezi4-overview]: {{ site.api_url | absolute_url }}/presentation/4.0/model/ "IIIF Presentation API version 4 Overview"
93+
10094
[service-registry]: {{ site.api_url | absolute_url }}/registry/services/ "the IIIF Registry of Services"
10195

10296
[cookbook-repo]: https://github.com/IIIF/cookbook-recipes

css/style.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ code {
5454
padding: 0px !important;
5555
padding-bottom: 2.75rem !important;
5656
}
57+
.hero-body .has-text-centered h1 {
58+
text-align: center !important;
59+
}
5760
.has-text-centered {
5861
text-align: left !important;
5962
}

index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,9 @@ Anyone is welcome to submit a recipe idea or work on implementing a recipe. Advi
3636
_The corresponding 2.1 test fixture(s) is given like this, where appropriate: ..(3,5)_
3737

3838
* [Simplest Manifest - Image][0001] - [version 4][0001-4]
39-
* [Simplest Manifest - Audio][0002]
40-
* [Simplest Manifest - Video][0003] (1) (use single video as content resource, w,h,d)
39+
* [Simplest Manifest - Audio][0002] - [version 4][0002-4]
40+
* [Simplest Manifest - Video][0003] - [version 4][0003-4] (1) (use single video as content resource, w,h,d)
41+
* [Simplest Manifest - 3D][0608-4]
4142
* [Image and Canvas with Differing Dimensions][0004] (26)
4243
* [Support Deep Viewing with Basic Use of a IIIF Image Service][0005] (24,25)
4344
* [Internationalization and Multi-language Values][0006] (3,4,6)
@@ -67,7 +68,6 @@ _The corresponding 2.1 test fixture(s) is given like this, where appropriate: ..
6768
* [Transcription of image-based content][016]
6869
* [Using Transcripts with A/V Content][0017]
6970
* [Using Captions and Subtitles with Video Content][0219]
70-
* Transcription of content into XML, with XPaths to select a segment
7171
* [Providing Alternative Representations][0046]
7272
* [Transcripts, Captions, and Subtitles - General Considerations][0231]
7373
* [Providing Access to Transcript Files of A/V Content][0017]

recipe/0001-mvm-image/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ viewers:
1414
- Curation
1515
v4-viewers:
1616
- Mirador
17+
- UV
18+
- Annona
19+
- Clover
20+
- Theseus
1721
topic:
1822
- basic
1923
- image

recipe/0001-mvm-image/v4/recipe.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ This recipe is not for large images or deep zoom functionality. For this, see th
2323

2424
# Related Recipes
2525

26-
* [Simplest Manifest - Audio][0002] (v3) and [Simplest Manifest - Video][0003] (v3) are equivalent to this example but for other media.
26+
* [Simplest Manifest - Audio][0002-4] and [Simplest Manifest - Video][0003-4] are equivalent to this example but for other media.
2727
* [Support Deep Viewing with Basic Use of a IIIF Image Service][0005] (v3) shows a basic manifest for use with a IIIF Image server.
2828
* [Image different size to canvas][0004] (v3) shows a canvas with dimensions different from the pixel dimensions of its content.
2929
* [Multiple values and languages][0006] (v3) demonstrates language map variations, for multiple values and multiple languages.

recipe/0002-mvm-audio/index.md

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Simplest Manifest - Audio
33
id: 2
44
layout: recipe
55
tags: [audio, presentation]
6-
summary: "The simplest viable manifest for audio content. This pattern presents a single audio file in a IIIF Presentation resource."
6+
summary: "The simplest viable manifest for audio content. If all you have for an audio object is one sound file on the web and a label, this recipe allows you to turn it into a IIIF Presentation resource."
77
viewers:
88
- Mirador
99
- UV
@@ -12,33 +12,30 @@ viewers:
1212
- Aviary
1313
- Theseus
1414
- Glycerine Viewer
15+
v4-viewers:
16+
- Mirador
17+
- UV
18+
- Aviary
1519
topic:
1620
- basic
1721
- AV
1822
code:
1923
- iiif-prezi3
24+
top_tabs:
25+
- label: Version 3
26+
content: "{% capture my_include %}{%- include_relative recipe.md version='3' -%}{% endcapture %}{{ my_include | markdownify }}"
27+
- label: Version 4
28+
content: "{% capture my_include %}{%- include_relative v4/recipe.md version='4' -%}{% endcapture %}{{ my_include | markdownify }}"
2029
---
2130

31+
{{ theme.block-center-start }}
2232

23-
## Use Case
24-
25-
The simplest viable manifest for audio content. This pattern presents a single audio file in a IIIF Presentation resource.
26-
27-
## Implementation Notes
28-
29-
The implementation is identical to the [image example][0001], except that the content is audio and the canvas has the `duration` property instead of the `height` and `width` properties. The value of the `duration` property [must be a floating point number](https://iiif.io/api/presentation/3.0/#duration). If the duration value you have is an integer, it therefore needs to be written with at least a decimal point and a trailing zero: `1985.0` rather than `1985`.
30-
31-
## Example
32-
33-
This example shows a Manifest with a single Canvas that lasts for 1985.024 seconds. It has a single audio file (audio-sample.mp4) which is associated with it. The mp4 also has a duration of 1985.024 seconds.
34-
35-
{% include manifest_links.html viewers="UV, Mirador, Clover, Ramp, Aviary, Theseus, Glycerine Viewer" manifest="manifest.json" %}
36-
37-
{% include jsonviewer.html src="manifest.json" %}
38-
39-
## Related Recipes
40-
41-
* [Simplest Manifest - Image][0001] and [Simplest Manifest - Video][0003] are equivalent to this example.
33+
{% include blocks/tabs.html tabs=page.top_tabs %}
4234

43-
{% include acronyms.md %}
44-
{% include links.md %}
35+
{{ theme.block-end }}
36+
<script>
37+
if (!window.location.hash) {
38+
let el = document.getElementById("version-3-heading");
39+
el.className += " is-active";
40+
}
41+
</script>

recipe/0002-mvm-audio/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"@context": "http://iiif.io/api/presentation/3/context.json",
33
"id": "{{ id.url }}",
44
"type": "Manifest",
5-
"label": { "en": [ "Simplest Audio Example 1" ] },
5+
"label": { "en": [ "Simplest Audio Example (IIIF Presentation v3)" ] },
66
"items": [
77
{
88
"id": "{{ id.path }}/canvas",

recipe/0002-mvm-audio/recipe.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
## Use Case
2+
3+
The simplest viable manifest for audio content. This pattern presents a single audio file in a IIIF Presentation resource.
4+
5+
## Implementation Notes
6+
7+
The implementation is identical to the [image example][0001], except that the content is audio and the canvas has the `duration` property instead of the `height` and `width` properties. The value of the `duration` property [must be a floating point number](https://iiif.io/api/presentation/3.0/#duration). If the duration value you have is an integer, it therefore needs to be written with at least a decimal point and a trailing zero: `1985.0` rather than `1985`.
8+
9+
## Example
10+
11+
This example shows a Manifest with a single Canvas that lasts for 1985.024 seconds. It has a single audio file which is associated with it. The mp4 also has a duration of 1985.024 seconds.
12+
13+
{% include manifest_links.html viewers="UV, Mirador, Clover, Ramp, Aviary, Theseus, Glycerine Viewer" manifest="manifest.json" %}
14+
15+
{% include jsonviewer.html src="manifest.json" %}
16+
17+
## Related Recipes
18+
19+
* [Simplest Manifest - Image][0001] for the most minimal image Manifest
20+
* [Simplest Manifest - Video][0003] for the most minimal video Manifest
21+
22+
{% include acronyms.md %}
23+
{% include links.md %}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"@context": "http://iiif.io/api/presentation/4/context.json",
3+
"id": "{{ id.url }}",
4+
"type": "Manifest",
5+
"label": { "en": [ "Simplest Audio Example (IIIF Presentation v4)" ] },
6+
"items": [
7+
{
8+
"id": "{{ id.path }}/timeline",
9+
"type": "Timeline",
10+
"duration": 1985.024,
11+
"items": [
12+
{
13+
"id": "{{ id.path }}/timeline/page",
14+
"type": "AnnotationPage",
15+
"items": [
16+
{
17+
"id": "{{ id.path }}/timeline/page/annotation",
18+
"type": "Annotation",
19+
"motivation": "painting",
20+
"body": {
21+
"id": "https://fixtures.iiif.io/audio/indiana/mahler-symphony-3/CD1/medium/128Kbps.mp4",
22+
"type": "Sound",
23+
"format": "audio/mp4",
24+
"duration": 1985.024
25+
},
26+
"target": "{{ id.path }}/timeline"
27+
}
28+
]
29+
}
30+
]
31+
}
32+
]
33+
}

recipe/0002-mvm-audio/v4/recipe.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
## Use Case
2+
3+
You have some digital or digitized audio that you would like to present on the web using IIIF.
4+
5+
## Implementation Notes
6+
7+
Audio resources are contained inside a [Timeline](https://preview.iiif.io/api/prezi-4/presentation/4.0/model/#timeline), which is required to have a `duration` property. The value of the `duration` property [must be a floating point number](https://preview.iiif.io/api/prezi-4/presentation/4.0/model/#duration). If the duration value you have is an integer, it needs to be written with at least a decimal point and a trailing zero: `1985.0` rather than `1985`.
8+
9+
## Example
10+
11+
This example shows a Manifest with a single Timeline that lasts for 1985.024 seconds. It has a single audio file which is associated with it. The mp4 also has a duration of 1985.024 seconds.
12+
13+
{% include manifest_links.html manifest="v4/manifest.json" version="4" %}
14+
15+
{% include jsonviewer.html src="v4/manifest.json" config='data-line="13"' %}
16+
17+
## Related Recipes
18+
19+
* [Simplest Manifest - Image][0001-4] for a minimal image Manifest
20+
* [Simplest Manifest - Video][0003-4] for a minimal video Manifest
21+
* [Simplest Manifest - 3D][0608] for a minimal 3D object Manifest
22+
23+
{% include acronyms.md %}
24+
{% include links.md %}

0 commit comments

Comments
 (0)