Skip to content

Commit 42dbef4

Browse files
committed
First pass of a v4 recipe
1 parent 5803569 commit 42dbef4

File tree

6 files changed

+133
-37
lines changed

6 files changed

+133
-37
lines changed

_includes/links.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11

22
[0001]: {{ site.cookbook_url | absolute_url }}/recipe/0001-mvm-image/ "Simplest Manifest - Image"
3+
[0001-4]: {{ site.cookbook_url | absolute_url }}/recipe/v4/0001-mvm-image/ "Simplest Manifest - Image"
34
[0002]: {{ site.cookbook_url | absolute_url }}/recipe/0002-mvm-audio/ "Simplest Manifest - Audio"
45
[0003]: {{ site.cookbook_url | absolute_url }}/recipe/0003-mvm-video/ "Simplest Manifest - Video"
56
[0004]: {{ site.cookbook_url | absolute_url }}/recipe/0004-canvas-size/ "Image and Canvas with Differing Dimensions"

css/style.css

+11
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,15 @@ code {
4848
top: 0px;
4949
background-color: white;
5050
box-shadow: inset 0 -1px 0 #dbdbdb;
51+
}
52+
53+
.container-block {
54+
padding: 0px !important;
55+
padding-bottom: 2.75rem !important;
56+
}
57+
.has-text-centered {
58+
text-align: left !important;
59+
}
60+
.has-text-centered p {
61+
text-align: left !important;
5162
}

recipe/0001-mvm-image/index.md

+21-37
Original file line numberDiff line numberDiff line change
@@ -5,50 +5,34 @@ layout: recipe
55
tags: [image, presentation]
66
summary: "The simplest viable manifest for image content. If all you have for an object is one image on the web and a label, this pattern turns it into a IIIF Presentation resource."
77
viewers:
8-
- Mirador
9-
- UV
10-
- Annona
11-
- Clover
12-
- Glycerine Viewer
13-
- Theseus
14-
- Curation
8+
- Mirador
9+
- UV
10+
- Annona
11+
- Clover
12+
- Glycerine Viewer
13+
- Theseus
14+
- Curation
15+
v4-viewers:
16+
- Mirador
17+
1518
topic:
1619
- basic
1720
- image
1821
code:
1922
- iiif-prezi3
23+
versions:
24+
- 3
25+
- 4
26+
top_tabs:
27+
- label: Version 3
28+
content: "{% capture my_include %}{%- include_relative recipe.md version='3' -%}{% endcapture %}{{ my_include | markdownify }}"
29+
- label: Version 4
30+
content: "{% capture my_include %}{%- include_relative v4/recipe.md version='4' -%}{% endcapture %}{{ my_include | markdownify }}"
2031
---
2132

33+
{{ theme.block-center-start }}
2234

23-
## Use Case
24-
25-
The simplest viable manifest for image content. If all you have for an object is one image on the web and a label to go along with it, this pattern turns it into a IIIF Presentation resource. If you would like to enable deep zooming, you will need to use a IIIF Image server. For this, see the [Support Deep Viewing with Basic Use of a IIIF Image Service][0005] recipe.
26-
27-
## Implementation Notes
28-
29-
This illustrates the mandatory structure and properties of a manifest, with the simplest possible content.
30-
31-
The JSON-LD opens with the `@context` declaration, which identifies the terms used in the document as belonging to the IIIF specification. The `id` property identifies this manifest with the URL at which it is available online. The `type` property must be `Manifest`. The `label` property is mandatory, and the language of its value must be given (or the special value `none`), using a [language map][prezi3-languages]. Here the language of the label is English and its value is "Single Image Example". The manifest's `items` property is a list of canvases. In this example there is only one canvas, with a `height` of 1800 and a `width` of 1200. These units have no dimension: they establish a coordinate space that in this case the single image will fill. The canvas's `id` property is used later as the `target` of the annotation that links to the single image.
32-
33-
The `items` property of the Canvas is a list of annotation pages, in this case there is only one page. The `items` property of the annotation page is a list of annotations, in this case there is only one annotation. This annotation is what links the image resource with the canvas. The `body` of the annotation is an image, the url of which is the `id` property of the body. The dimensions of the image, in pixels, are given and here match the canvas dimensions exactly. The `target` property tells us that the image is associated with the entirety of the canvas, and the `motivation` property of `painting` tells us that a client should render the image to fill the canvas.
34-
35-
## Restrictions
36-
37-
This recipe is not for large images or deep zoom functionality. For this, see the [Support Deep Viewing with Basic Use of a IIIF Image Service][0005] recipe.
38-
39-
## Example
40-
41-
{% include manifest_links.html manifest="manifest.json" %}
42-
43-
{% include jsonviewer.html src="manifest.json" %}
44-
45-
# Related Recipes
46-
47-
* [Simplest Manifest - Audio][0002] and [Simplest Manifest - Video][0003] are equivalent to this example but for other media.
48-
* [Support Deep Viewing with Basic Use of a IIIF Image Service][0005] shows a basic manifest for use with a IIIF Image server.
49-
* [Image different size to canvas][0004] shows a canvas with dimensions different from the pixel dimensions of its content.
50-
* [Multiple values and languages][0006] demonstrates language map variations, for multiple values and multiple languages.
5135

36+
{% include blocks/tabs.html tabs=page.top_tabs %}
5237

53-
{% include acronyms.md %}
54-
{% include links.md %}
38+
{{ theme.block-end }}

recipe/0001-mvm-image/recipe.md

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
## Use Case
2+
3+
The simplest viable manifest for image content. If all you have for an object is one image on the web and a label to go along with it, this pattern turns it into a IIIF Presentation resource. If you would like to enable deep zooming, you will need to use a IIIF Image server. For this, see the [Support Deep Viewing with Basic Use of a IIIF Image Service][0005] recipe.
4+
5+
## Implementation Notes
6+
7+
This illustrates the mandatory structure and properties of a manifest, with the simplest possible content.
8+
9+
The JSON-LD opens with the `@context` declaration, which identifies the terms used in the document as belonging to the IIIF specification. The `id` property identifies this manifest with the URL at which it is available online. The `type` property must be `Manifest`. The `label` property is mandatory, and the language of its value must be given (or the special value `none`), using a [language map][prezi3-languages]. Here the language of the label is English and its value is "Single Image Example". The manifest's `items` property is a list of canvases. In this example there is only one canvas, with a `height` of 1800 and a `width` of 1200. These units have no dimension: they establish a coordinate space that in this case the single image will fill. The canvas's `id` property is used later as the `target` of the annotation that links to the single image.
10+
11+
The `items` property of the Canvas is a list of annotation pages, in this case there is only one page. The `items` property of the annotation page is a list of annotations, in this case there is only one annotation. This annotation is what links the image resource with the canvas. The `body` of the annotation is an image, the url of which is the `id` property of the body. The dimensions of the image, in pixels, are given and here match the canvas dimensions exactly. The `target` property tells us that the image is associated with the entirety of the canvas, and the `motivation` property of `painting` tells us that a client should render the image to fill the canvas.
12+
13+
## Restrictions
14+
15+
This recipe is not for large images or deep zoom functionality. For this, see the [Support Deep Viewing with Basic Use of a IIIF Image Service][0005] recipe.
16+
17+
## Example
18+
19+
{% include manifest_links.html manifest="manifest.json" version="3" %}
20+
21+
{% include jsonviewer.html src="manifest.json" %}
22+
23+
# Related Recipes
24+
25+
* [Simplest Manifest - Audio][0002] and [Simplest Manifest - Video][0003] are equivalent to this example but for other media.
26+
* [Support Deep Viewing with Basic Use of a IIIF Image Service][0005] shows a basic manifest for use with a IIIF Image server.
27+
* [Image different size to canvas][0004] shows a canvas with dimensions different from the pixel dimensions of its content.
28+
* [Multiple values and languages][0006] demonstrates language map variations, for multiple values and multiple languages.
29+
30+
31+
{% include acronyms.md %}
32+
{% include links.md %}
+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"@context": "http://iiif.io/api/presentation/4/context.json",
3+
"id": "{{ id.url }}",
4+
"type": "Manifest",
5+
"label": { "en": [ "Single Image Example" ] },
6+
"items": [
7+
{
8+
"id": "{{ id.path }}/canvas/p1",
9+
"type": "Canvas",
10+
"height": 1800,
11+
"width": 1200,
12+
"items": [
13+
{
14+
"id": "{{ id.path }}/page/p1/1",
15+
"type": "AnnotationPage",
16+
"items": [
17+
{
18+
"id": "{{ id.path }}/annotation/p0001-image",
19+
"type": "Annotation",
20+
"motivation": "painting",
21+
"body": {
22+
"id": "http://iiif.io/api/presentation/2.1/example/fixtures/resources/page1-full.png",
23+
"type": "Image",
24+
"format": "image/png",
25+
"height": 1800,
26+
"width": 1200
27+
},
28+
"target": "{{ id.path }}/canvas/p1"
29+
}
30+
]
31+
}
32+
]
33+
}
34+
]
35+
}

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

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
2+
## Use Case
3+
4+
The simplest viable manifest for image content. If all you have for an object is one image on the web and a label to go along with it, this pattern turns it into a IIIF Presentation resource. If you would like to enable deep zooming, you will need to use a IIIF Image server. For this, see the [Support Deep Viewing with Basic Use of a IIIF Image Service (v3)][0005] recipe.
5+
6+
## Implementation Notes
7+
8+
This illustrates the mandatory structure and properties of a manifest, with the simplest possible content.
9+
10+
The JSON-LD opens with the `@context` declaration, which identifies the terms used in the document as belonging to the IIIF specification. The `id` property identifies this manifest with the URL at which it is available online. The `type` property must be `Manifest`. The `label` property is mandatory, and the language of its value must be given (or the special value `none`), using a [language map][prezi3-languages]. Here the language of the label is English and its value is "Single Image Example". The manifest's `items` property is a list of canvases. In this example there is only one canvas, with a `height` of 1800 and a `width` of 1200. These units have no dimension: they establish a coordinate space that in this case the single image will fill. The canvas's `id` property is used later as the `target` of the annotation that links to the single image.
11+
12+
The `items` property of the Canvas is a list of annotation pages, in this case there is only one page. The `items` property of the annotation page is a list of annotations, in this case there is only one annotation. This annotation is what links the image resource with the canvas. The `body` of the annotation is an image, the url of which is the `id` property of the body. The dimensions of the image, in pixels, are given and here match the canvas dimensions exactly. The `target` property tells us that the image is associated with the entirety of the canvas, and the `motivation` property of `painting` tells us that a client should render the image to fill the canvas.
13+
14+
## Restrictions
15+
16+
This recipe is not for large images or deep zoom functionality. For this, see the [Support Deep Viewing with Basic Use of a IIIF Image Service (v3)][0005] recipe.
17+
18+
## Example
19+
20+
{% include manifest_links.html manifest="v4/manifest.json" version="4" %}
21+
22+
{% include jsonviewer.html src="v4/manifest.json" %}
23+
24+
# Related Recipes
25+
26+
* [Simplest Manifest - Audio][0002] (v3) and [Simplest Manifest - Video][0003] (v3) are equivalent to this example but for other media.
27+
* [Support Deep Viewing with Basic Use of a IIIF Image Service][0005] (v3) shows a basic manifest for use with a IIIF Image server.
28+
* [Image different size to canvas][0004] (v3) shows a canvas with dimensions different from the pixel dimensions of its content.
29+
* [Multiple values and languages][0006] (v3) demonstrates language map variations, for multiple values and multiple languages.
30+
31+
32+
{% include acronyms.md %}
33+
{% include links.md %}

0 commit comments

Comments
 (0)