Skip to content

Commit

Permalink
Merge branch 'master' into feature/theseus-viewer
Browse files Browse the repository at this point in the history
  • Loading branch information
glenrobson authored Aug 15, 2024
2 parents 6e94b52 + 702014b commit 4b45523
Show file tree
Hide file tree
Showing 24 changed files with 865 additions and 45 deletions.
24 changes: 12 additions & 12 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,18 @@ GIT
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
colorator (1.1.0)
concurrent-ruby (1.3.1)
concurrent-ruby (1.3.3)
diff-lcs (1.5.1)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
ethon (0.16.0)
ffi (>= 1.15.0)
eventmachine (1.2.7)
ffi (1.16.3)
ffi (1.17.0)
forwardable-extended (2.6.0)
html-proofer (3.19.0)
addressable (~> 2.3)
Expand Down Expand Up @@ -78,33 +78,33 @@ GEM
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
mini_portile2 (2.8.6)
nokogiri (1.16.5)
mini_portile2 (2.8.7)
nokogiri (1.16.7)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
nokogumbo (2.0.5)
nokogiri (~> 1.8, >= 1.8.4)
parallel (1.24.0)
parallel (1.25.1)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (5.0.5)
racc (1.8.0)
public_suffix (6.0.1)
racc (1.8.1)
rainbow (3.1.1)
rake (13.2.1)
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
redcarpet (3.6.0)
rexml (3.2.8)
strscan (>= 3.0.9)
rexml (3.3.4)
strscan
rouge (3.30.0)
rspec (3.13.0)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
rspec-mocks (~> 3.13.0)
rspec-core (3.13.0)
rspec-support (~> 3.13.0)
rspec-expectations (3.13.0)
rspec-expectations (3.13.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-mocks (3.13.1)
Expand Down
4 changes: 3 additions & 1 deletion _includes/links.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,11 @@
[0269]: {{ site.cookbook_url | absolute_url }}/recipe/0269-embedded-or-referenced-annotations/ "Embedded or Referenced Annotations"
[0283]: {{ site.cookbook_url | absolute_url }}/recipe/0283-missing-image/ "Missing Images in a Sequence"

[0326]: {{ site.cookbook_url | absolute_url }}/recipe/0326-annotating-image-layer/ "Annotate a specific images or layers"
[0306]: {{ site.cookbook_url | absolute_url }}/recipe/0306-linking-annotations-to-manifests/ "Linking external Annotations targeting a Canvas to a Manifest"
[0318]: {{ site.cookbook_url | absolute_url }}/recipe/0318-navPlace-navDate/ "Locating an Item in Place and Time"
[0326]: {{ site.cookbook_url | absolute_url }}/recipe/0326-annotating-image-layer/ "Annotate a specific images or layers"

[0346]: {{ site.cookbook_url | absolute_url }}/recipe/0346-multilingual-annotation-body/ "Annotating in Multiple Languages"
[0377]: {{ site.cookbook_url | absolute_url }}/recipe/0377-image-in-annotation/ "Image in annotation"

[0466]: {{ site.cookbook_url | absolute_url }}/recipe/0466-link-for-loading-manifest/ "Loading a manifest with a viewer using a link"
Expand Down
Binary file added assets/images/icons/no.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/icons/optional.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/icons/partial.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/icons/yes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 8 additions & 1 deletion css/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ code {
display: table !important;
overflow-x: unset !important;
border-width: 0 0 1px !important;
border: none !important;
}

.viewer tr {
Expand All @@ -41,4 +40,12 @@ code {

.viewer td {
border: none !important;
text-align: center !important;
}

.scrolling-header {
position: sticky;
top: 0px;
background-color: white;
box-shadow: inset 0 -1px 0 #dbdbdb;
}
3 changes: 3 additions & 0 deletions index.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ _(leading on to segmentation examples later)_
* [Embedded or Referenced Annotations][0269]
* [Linking external Annotations targeting a Canvas to a Manifest][0306]
* [Image in annotations][0377]
* [Annotating in Multiple Languages][0346]

## Internal structure

Expand Down Expand Up @@ -171,6 +172,8 @@ Recipes using [Content State API](https://iiif.io/api/content-state/1.0/)
* Mixed Image Service references (a mashup, with img2 and img3 services)
* Glenn Gould - score and performance scenarios (transcribing)
* A Map
* [Locating an Item in Place and Time][0318]


## Access Control
_this might be in a separate auth cookbook_
Expand Down
1 change: 1 addition & 0 deletions recipe/0118-multivalue/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ In this example, the work has multiple titles in both English and French. The Ma

* [Internationalization and Multi-language Values][0006]
* [Metadata][0029]
* [Annotating in Multiple Languages][0346]

{% include acronyms.md %}
{% include links.md %}
2 changes: 1 addition & 1 deletion recipe/0135-annotating-point-in-canvas/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ This example uses a leaflet with a map and a guide supplied by the Library of Co

{% include manifest_links.html viewers="Glycerine Viewer, Theseus" manifest="manifest.json" %}

{% include jsonviewer.html src="manifest.json" config='data-line="74-82"' %}
{% include jsonviewer.html src="manifest.json" config='data-line="69-76"' %}

# Related recipes

Expand Down
5 changes: 0 additions & 5 deletions recipe/0135-annotating-point-in-canvas/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,6 @@
{
"id": "{{ id.path }}/annotation/p0002-tag",
"type": "Annotation",
"label": {
"en": [
"Annotation containing the name of the place annotated using the PointSelector."
]
},
"motivation": "tagging",
"body": {
"type": "TextualBody",
Expand Down
4 changes: 2 additions & 2 deletions recipe/0139-geolocate-canvas-fragment/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ A Canvas has a region of interest that contains a map. You would like to associa
### Implementation Notes
The third party [GeoJSON-LD](https://geojson.org/geojson-ld/) context is included in addition to the IIIF Presentation API 3.0 context. The GeoJSON-LD context supplies the vocabulary terms for the Annotation bodies since the IIIF Presentation API 3.0 context does not describe those terms. When there are multiple contexts, the `@context` property can be an array which is processed as a set. Typically order does not matter for a set. However, when the IIIF context is used in these arrays it must be the last item in the set.

The GeoJSON `properties` object is generic and [can be nearly anything](https://tools.ietf.org/html/rfc7946#section-3.2). It is used to pass metadata along with the geocoordinates. This has implications on clients and parsers that must discern what data to use. For example, if the targeted resource has a `label` property and the `properties` object has a `label` property, the consuming interface must make a choice on which to prioritize for presentation purposes. In the image from the Use Case section, the "Label" uses the GeoJSON `properties` object's `label` property (lines 80-83) instead of the `label` property from the Annotation or Canvas. This is because web mapping clients are designed to look for metadata in GeoJSON `properties` for display.
The GeoJSON `properties` object is generic and [can be nearly anything](https://tools.ietf.org/html/rfc7946#section-3.2). It is used to pass metadata along with the geocoordinates. This has implications on clients and parsers that must discern what data to use. For example, if the targeted resource had a `label` property and the `properties` object has a `label` property, the consuming interface must make a choice on which to prioritize for presentation purposes. In the image from the Use Case section, the "Label" uses the GeoJSON `properties` object's `label` property (lines 69-75) instead of the `label` property from the Annotation or Canvas. This is because web mapping clients are designed to look for metadata in GeoJSON `properties` for display.

Note that [`geometry` has more types besides `Polygon`.](https://tools.ietf.org/html/rfc7946#section-3.1)

Expand All @@ -35,7 +35,7 @@ The Manifest has one Canvas with one Image, and the Canvas has the same size dim

{% include manifest_links.html viewers="Annona, Theseus" manifest="manifest.json" %}

{% include jsonviewer.html src="manifest.json" config='data-line="2-5, 67-111"' %}
{% include jsonviewer.html src="manifest.json" config='data-line="2-5, 62-101"' %}

## Related Recipes
* [Fragment Selectors][0020]
Expand Down
10 changes: 0 additions & 10 deletions recipe/0139-geolocate-canvas-fragment/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,6 @@
"id":"{{ id.path }}/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",
Expand Down Expand Up @@ -68,11 +63,6 @@
"id":"{{ id.path }}/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":"{{ id.path }}/geo.json",
"type":"Feature",
Expand Down
202 changes: 202 additions & 0 deletions recipe/0318-navPlace-navDate/collection.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
{
"@context": [
"http://iiif.io/api/extension/navplace/context.json",
"http://iiif.io/api/presentation/3/context.json"
],
"id": "{{ id.url }}",
"type": "Collection",
"label": {
"en": [
"NavPlace and NavDate Collection"
]
},
"summary": {
"en": [
"A collection of items related to Rome."
]
},
"requiredStatement": {
"label": {
"en": [
"Attribution"
]
},
"value": {
"en": [
"Objects from the Yale Center for British Art"
]
}
},
"items": [
{
"id": "{{ id.path }}/manifest-1.json",
"type": "Manifest",
"label": {
"en": [
"Castel Sant'Angelo, Rome"
]
},
"navDate": "1776-01-01T00:00:00+00:00",
"navPlace": {
"id": "{{ id.path }}/feature-collection/1",
"type": "FeatureCollection",
"features": [
{
"id": "{{ id.path }}/feature/1",
"type": "Feature",
"properties": {
"label": {
"en": [
"Castel Sant'Angelo, Rome"
]
}
},
"geometry": {
"type": "Point",
"coordinates": [
12.4663,
41.9031
]
}
}
]
}
},
{
"id": "{{ id.path }}/manifest-2.json",
"type": "Manifest",
"label": {
"en": [
"The Colosseum"
]
},
"navDate": "1776-01-01T00:00:00+00:00",
"navPlace": {
"id": "{{ id.path }}/feature-collection/2",
"type": "FeatureCollection",
"features": [
{
"id": "{{ id.path }}/feature/2",
"type": "Feature",
"properties": {
"label": {
"en": [
"The Colosseum"
]
}
},
"geometry": {
"type": "Point",
"coordinates": [
12.492222,
41.890278
]
}
}
]
}
},
{
"id": "{{ id.path }}/manifest-3.json",
"type": "Manifest",
"label": {
"en": [
"The Arch of Titus from the Forum, Rome, ca. 1725"
]
},
"navDate": "1725-01-01T00:00:00+00:00",
"navPlace": {
"id": "{{ id.path }}/feature-collection/3",
"type": "FeatureCollection",
"features": [
{
"id": "{{ id.path }}/feature/3",
"type": "Feature",
"properties": {
"label": {
"en": [
"The Arch of Titus from the Forum, Rome, ca. 1725"
]
}
},
"geometry": {
"type": "Point",
"coordinates": [
12.488585,
41.890717
]
}
}
]
}
},
{
"id": "{{ id.path }}/manifest-4.json",
"type": "Manifest",
"label": {
"en": [
"The Temple of Vesta, Rome, 1849"
]
},
"navDate": "1849-01-01T00:00:00+00:00",
"navPlace": {
"id": "{{ id.path }}/feature-collection/4",
"type": "FeatureCollection",
"features": [
{
"id": "{{ id.path }}/feature/4",
"type": "Feature",
"properties": {
"label": {
"en": [
"The Temple of Vesta, Rome, 1849"
]
}
},
"geometry": {
"type": "Point",
"coordinates": [
12.4862,
41.8917
]
}
}
]
}
},
{
"id": "{{ id.path }}/manifest-5.json",
"type": "Manifest",
"label": {
"en": [
"A View of Trajan's Forum, Rome, 1821"
]
},
"navDate": "1821-01-01T00:00:00+00:00",
"navPlace": {
"id": "{{ id.path }}/feature-collection/5",
"type": "FeatureCollection",
"features": [
{
"id": "{{ id.path }}/feature/5",
"type": "Feature",
"properties": {
"label": {
"en": [
"A View of Trajan's Forum, Rome, 1821"
]
}
},
"geometry": {
"type": "Point",
"coordinates": [
12.485869,
41.895419
]
}
}
]
}
}
]
}
Loading

0 comments on commit 4b45523

Please sign in to comment.