iiif_manifest 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.circleci/config.yml +10 -22
- data/.github_changelog_generator +2 -0
- data/.rubocop.yml +14 -7
- data/.rubocop_todo.yml +38 -83
- data/CHANGELOG.md +118 -0
- data/README.md +40 -29
- data/iiif_manifest.gemspec +2 -4
- data/lib/iiif_manifest/manifest_builder.rb +6 -6
- data/lib/iiif_manifest/manifest_builder/canvas_builder.rb +12 -12
- data/lib/iiif_manifest/manifest_builder/canvas_builder_factory.rb +3 -3
- data/lib/iiif_manifest/manifest_builder/deep_canvas_builder_factory.rb +9 -9
- data/lib/iiif_manifest/manifest_builder/image_builder.rb +9 -9
- data/lib/iiif_manifest/manifest_builder/image_service_builder.rb +3 -3
- data/lib/iiif_manifest/manifest_builder/record_property_builder.rb +35 -35
- data/lib/iiif_manifest/manifest_builder/resource_builder.rb +9 -9
- data/lib/iiif_manifest/manifest_builder/sequence_builder.rb +19 -19
- data/lib/iiif_manifest/manifest_factory.rb +3 -3
- data/lib/iiif_manifest/manifest_service_locator.rb +2 -2
- data/lib/iiif_manifest/v3/manifest_builder.rb +7 -7
- data/lib/iiif_manifest/v3/manifest_builder/body_builder.rb +37 -37
- data/lib/iiif_manifest/v3/manifest_builder/canvas_builder.rb +24 -24
- data/lib/iiif_manifest/v3/manifest_builder/choice_builder.rb +14 -14
- data/lib/iiif_manifest/v3/manifest_builder/content_builder.rb +9 -9
- data/lib/iiif_manifest/v3/manifest_builder/image_service_builder.rb +10 -10
- data/lib/iiif_manifest/v3/manifest_builder/record_property_builder.rb +40 -40
- data/lib/iiif_manifest/v3/manifest_factory.rb +3 -3
- data/lib/iiif_manifest/version.rb +1 -1
- metadata +14 -40
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ce4c4a874b8b50d50d11344dac0e635248754bb2b3498331cbd94945a5f3be75
|
4
|
+
data.tar.gz: 3da6a490d37ea8107e50a4393c21d5189ff97e47e9f34a65bd87848f3504f307
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e54f567e6ed14b4a802d05433a17547e119da18ee6dc851db026f157eb344e431649d8bc84076d102449bbee5b7d69a73bbf8b22d36eb43e6e46d7062e4c7133
|
7
|
+
data.tar.gz: ea7afaf08fdd7d142d7bbe6c0087521ddcda5ec520f183f7d2ae479961dd36908fa4b34054fdb379ad88f6c71c4a898d0e5c19419528e0135005a49be3deb6ee
|
data/.circleci/config.yml
CHANGED
@@ -8,8 +8,6 @@ jobs:
|
|
8
8
|
parameters:
|
9
9
|
ruby_version:
|
10
10
|
type: string
|
11
|
-
rails_version:
|
12
|
-
type: string
|
13
11
|
bundler_version:
|
14
12
|
type: string
|
15
13
|
default: 2.0.2
|
@@ -20,7 +18,6 @@ jobs:
|
|
20
18
|
|
21
19
|
environment:
|
22
20
|
COVERAGE: true
|
23
|
-
RAILS_VERSION: << parameters.rails_version >>
|
24
21
|
|
25
22
|
working_directory: ~/iiif_manifest
|
26
23
|
|
@@ -38,26 +35,17 @@ workflows:
|
|
38
35
|
ci:
|
39
36
|
jobs:
|
40
37
|
- test:
|
41
|
-
name: "
|
42
|
-
ruby_version: "
|
43
|
-
rails_version: "5.2.3"
|
44
|
-
- test:
|
45
|
-
name: "ruby2-5_rails5-2"
|
46
|
-
ruby_version: "2.5.5"
|
47
|
-
rails_version: "5.2.3"
|
38
|
+
name: "ruby3-0"
|
39
|
+
ruby_version: "3.0.0"
|
48
40
|
- test:
|
49
|
-
name: "ruby2-
|
50
|
-
ruby_version: "2.
|
51
|
-
rails_version: "5.2.3"
|
41
|
+
name: "ruby2-7"
|
42
|
+
ruby_version: "2.7.0"
|
52
43
|
- test:
|
53
|
-
name: "ruby2-
|
54
|
-
ruby_version: "2.6.
|
55
|
-
rails_version: "5.1.7"
|
44
|
+
name: "ruby2-6"
|
45
|
+
ruby_version: "2.6.5"
|
56
46
|
- test:
|
57
|
-
name: "ruby2-
|
58
|
-
ruby_version: "2.5.
|
59
|
-
rails_version: "5.1.7"
|
47
|
+
name: "ruby2-5"
|
48
|
+
ruby_version: "2.5.7"
|
60
49
|
- test:
|
61
|
-
name: "ruby2-
|
62
|
-
ruby_version: "2.4.
|
63
|
-
rails_version: "5.1.7"
|
50
|
+
name: "ruby2-4"
|
51
|
+
ruby_version: "2.4.9"
|
data/.rubocop.yml
CHANGED
@@ -1,22 +1,29 @@
|
|
1
|
-
require: rubocop-rspec
|
2
|
-
inherit_from: .rubocop_todo.yml
|
3
1
|
inherit_gem:
|
4
2
|
bixby: bixby_default.yml
|
5
3
|
|
4
|
+
inherit_from: .rubocop_todo.yml
|
5
|
+
|
6
6
|
AllCops:
|
7
|
+
TargetRubyVersion: 2.6
|
7
8
|
DisplayCopNames: true
|
9
|
+
Exclude:
|
10
|
+
- 'bin/**/*'
|
11
|
+
- 'vendor/**/*'
|
8
12
|
|
9
|
-
|
13
|
+
Layout/LineLength:
|
10
14
|
Max: 120
|
11
15
|
|
12
|
-
Metrics/BlockLength:
|
13
|
-
Exclude:
|
14
|
-
- 'spec/**/*.rb'
|
15
|
-
|
16
16
|
Naming/MethodName:
|
17
17
|
Exclude:
|
18
18
|
- 'lib/iiif_manifest/manifest_builder/iiif_service.rb'
|
19
19
|
- 'lib/iiif_manifest/v3/manifest_builder/iiif_service.rb'
|
20
20
|
|
21
|
+
Metrics/BlockLength:
|
22
|
+
Exclude:
|
23
|
+
- 'spec/**/*.rb'
|
24
|
+
|
25
|
+
RSpec/ExampleLength:
|
26
|
+
Enabled: false
|
27
|
+
|
21
28
|
RSpec/MultipleExpectations:
|
22
29
|
Enabled: false
|
data/.rubocop_todo.yml
CHANGED
@@ -1,36 +1,41 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on
|
3
|
+
# on 2020-06-12 12:53:34 -0400 using RuboCop version 0.85.1.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
8
8
|
|
9
|
-
# Offense count:
|
10
|
-
|
9
|
+
# Offense count: 8
|
10
|
+
# Cop supports --auto-correct.
|
11
|
+
Layout/CommentIndentation:
|
11
12
|
Exclude:
|
12
|
-
- 'lib/iiif_manifest/manifest_builder/
|
13
|
-
- 'lib/iiif_manifest/
|
14
|
-
- 'lib/iiif_manifest/v3/manifest_builder/body_builder.rb'
|
15
|
-
- 'lib/iiif_manifest/v3/manifest_factory.rb'
|
16
|
-
- 'lib/iiif_manifest/v3/manifest_builder/content_builder.rb'
|
17
|
-
- 'lib/iiif_manifest/v3/manifest_builder/choice_builder.rb'
|
13
|
+
- 'lib/iiif_manifest/manifest_builder/record_property_builder.rb'
|
14
|
+
- 'lib/iiif_manifest/v3/manifest_builder/record_property_builder.rb'
|
18
15
|
|
19
16
|
# Offense count: 1
|
20
|
-
# Configuration parameters:
|
21
|
-
|
22
|
-
|
23
|
-
Exclude:
|
24
|
-
- 'iiif_manifest.gemspec'
|
25
|
-
- 'lib/iiif_manifest/v3/manifest_builder/canvas_builder.rb'
|
17
|
+
# Configuration parameters: IgnoredMethods.
|
18
|
+
Metrics/AbcSize:
|
19
|
+
Max: 38
|
26
20
|
|
27
|
-
# Offense count:
|
21
|
+
# Offense count: 2
|
22
|
+
# Configuration parameters: CountComments.
|
23
|
+
Metrics/ClassLength:
|
24
|
+
Max: 161
|
25
|
+
|
26
|
+
# Offense count: 2
|
27
|
+
# Configuration parameters: CountKeywordArgs.
|
28
|
+
Metrics/ParameterLists:
|
29
|
+
Max: 9
|
30
|
+
|
31
|
+
# Offense count: 2
|
28
32
|
# Configuration parameters: AssignmentOnly.
|
29
33
|
RSpec/InstanceVariable:
|
30
34
|
Exclude:
|
31
35
|
- 'spec/lib/iiif_manifest/manifest_factory_spec.rb'
|
32
36
|
|
33
|
-
# Offense count:
|
37
|
+
# Offense count: 19
|
38
|
+
# Configuration parameters: IgnoreSharedExamples.
|
34
39
|
RSpec/NamedSubject:
|
35
40
|
Exclude:
|
36
41
|
- 'spec/lib/iiif_manifest/display_image_spec.rb'
|
@@ -39,85 +44,35 @@ RSpec/NamedSubject:
|
|
39
44
|
- 'spec/lib/iiif_manifest/v3/manifest_builder/body_builder_spec.rb'
|
40
45
|
- 'spec/lib/iiif_manifest/v3/manifest_builder/structure_builder_spec.rb'
|
41
46
|
|
42
|
-
# Offense count:
|
43
|
-
# Configuration parameters: IgnoreSymbolicNames.
|
47
|
+
# Offense count: 17
|
48
|
+
# Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
|
44
49
|
RSpec/VerifiedDoubles:
|
45
50
|
Exclude:
|
46
51
|
- 'spec/lib/iiif_manifest/display_image_spec.rb'
|
47
52
|
- 'spec/lib/iiif_manifest/v3/manifest_builder/canvas_builder_spec.rb'
|
48
53
|
- 'spec/lib/iiif_manifest/v3/manifest_builder/structure_builder_spec.rb'
|
49
54
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
- 'spec/lib/iiif_manifest/v3/manifest_builder/body_builder_spec.rb'
|
55
|
-
- 'spec/lib/iiif_manifest/v3/manifest_builder/structure_builder_spec.rb'
|
56
|
-
- 'spec/lib/iiif_manifest/v3/manifest_builder/canvas_builder_spec.rb'
|
57
|
-
|
58
|
-
# Offense count: 20
|
59
|
-
Style/Documentation:
|
55
|
+
# Offense count: 6
|
56
|
+
# Cop supports --auto-correct.
|
57
|
+
# Configuration parameters: NilOrEmpty, NotPresent, UnlessPresent.
|
58
|
+
Rails/Blank:
|
60
59
|
Exclude:
|
61
|
-
- 'lib/iiif_manifest/display_image.rb'
|
62
|
-
- 'lib/iiif_manifest/iiif_collection.rb'
|
63
|
-
- 'lib/iiif_manifest/iiif_endpoint.rb'
|
64
|
-
- 'lib/iiif_manifest/manifest_builder/canvas_builder.rb'
|
65
|
-
- 'lib/iiif_manifest/manifest_builder/canvas_builder.rb'
|
66
|
-
- 'lib/iiif_manifest/manifest_builder/canvas_builder_factory.rb'
|
67
|
-
- 'lib/iiif_manifest/manifest_builder/child_manifest_builder_factory.rb'
|
68
|
-
- 'lib/iiif_manifest/manifest_builder/composite_builder.rb'
|
69
|
-
- 'lib/iiif_manifest/manifest_builder/composite_builder_factory.rb'
|
70
|
-
- 'lib/iiif_manifest/manifest_builder/deep_canvas_builder_factory.rb'
|
71
|
-
- 'lib/iiif_manifest/manifest_builder/image_builder.rb'
|
72
|
-
- 'lib/iiif_manifest/manifest_builder/image_service_builder.rb'
|
73
|
-
- 'lib/iiif_manifest/manifest_builder/record_property_builder.rb'
|
74
|
-
- 'lib/iiif_manifest/manifest_builder/resource_builder.rb'
|
75
|
-
- 'lib/iiif_manifest/manifest_builder/sequence_builder.rb'
|
76
|
-
- 'lib/iiif_manifest/manifest_builder/structure_builder.rb'
|
77
|
-
- 'lib/iiif_manifest/manifest_builder.rb'
|
78
|
-
- 'lib/iiif_manifest/manifest_factory.rb'
|
79
|
-
- 'lib/iiif_manifest/manifest_service_locator.rb'
|
80
|
-
- 'lib/iiif_manifest.rb'
|
81
60
|
- 'lib/iiif_manifest/manifest_builder/iiif_service.rb'
|
82
|
-
- 'lib/iiif_manifest/v3.rb'
|
83
|
-
- 'lib/iiif_manifest/v3/display_content.rb'
|
84
|
-
- 'lib/iiif_manifest/v3/manifest_factory.rb'
|
85
|
-
- 'lib/iiif_manifest/v3/manifest_builder/structure_builder.rb'
|
86
61
|
- 'lib/iiif_manifest/v3/manifest_builder/iiif_service.rb'
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
- 'lib/iiif_manifest/v3/manifest_service_locator.rb'
|
95
|
-
- 'spec/lib/iiif_manifest/manifest_factory_spec.rb'
|
96
|
-
- 'spec/lib/iiif_manifest/v3/manifest_factory_spec.rb'
|
62
|
+
|
63
|
+
# Offense count: 37
|
64
|
+
# Cop supports --auto-correct.
|
65
|
+
# Configuration parameters: EnforcedStyle.
|
66
|
+
# SupportedStyles: always, always_true, never
|
67
|
+
Style/FrozenStringLiteralComment:
|
68
|
+
Enabled: false
|
97
69
|
|
98
70
|
# Offense count: 1
|
99
|
-
Style/
|
71
|
+
Style/MethodMissingSuper:
|
100
72
|
Exclude:
|
101
73
|
- 'lib/iiif_manifest/manifest_builder/composite_builder.rb'
|
102
74
|
|
103
|
-
Metrics/ClassLength:
|
104
|
-
Exclude:
|
105
|
-
- 'lib/iiif_manifest/manifest_service_locator.rb'
|
106
|
-
- 'lib/iiif_manifest/v3/manifest_service_locator.rb'
|
107
|
-
|
108
75
|
# Offense count: 1
|
109
|
-
|
110
|
-
# Configuration parameters: MinSize, SupportedStyles.
|
111
|
-
# SupportedStyles: percent, brackets
|
112
|
-
Style/SymbolArray:
|
113
|
-
EnforcedStyle: brackets
|
114
|
-
|
115
|
-
Metrics/ParameterLists:
|
116
|
-
Exclude:
|
117
|
-
- 'lib/iiif_manifest/v3/display_content.rb'
|
118
|
-
- 'lib/iiif_manifest/v3/manifest_builder/canvas_builder.rb'
|
119
|
-
|
120
|
-
RSpec/NestedGroups:
|
76
|
+
Style/MissingRespondToMissing:
|
121
77
|
Exclude:
|
122
|
-
- '
|
123
|
-
- 'spec/lib/iiif_manifest/v3/manifest_builder/body_builder_spec.rb'
|
78
|
+
- 'lib/iiif_manifest/manifest_builder/composite_builder.rb'
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,118 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## [1.0.2](https://github.com/samvera/iiif_manifest/tree/1.0.2) (2020-06-12)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/samvera/iiif_manifest/compare/v1.0.1...1.0.2)
|
6
|
+
|
7
|
+
**Closed issues:**
|
8
|
+
|
9
|
+
- Add support for Ruby 2.7.z releases [\#43](https://github.com/samvera/iiif_manifest/issues/43)
|
10
|
+
|
11
|
+
**Merged pull requests:**
|
12
|
+
|
13
|
+
- Upgrade to Bixby 3.0 [\#49](https://github.com/samvera/iiif_manifest/pull/49) ([bess](https://github.com/bess))
|
14
|
+
- Upgrade rake \(again\) to address security issue [\#47](https://github.com/samvera/iiif_manifest/pull/47) ([bess](https://github.com/bess))
|
15
|
+
- Loosen rake dependency [\#46](https://github.com/samvera/iiif_manifest/pull/46) ([no-reply](https://github.com/no-reply))
|
16
|
+
- Adding Ruby 2.7.z and Rails 6.y.z releases to the CircleCI build configuration [\#45](https://github.com/samvera/iiif_manifest/pull/45) ([jrgriffiniii](https://github.com/jrgriffiniii))
|
17
|
+
|
18
|
+
## [v1.0.1](https://github.com/samvera/iiif_manifest/tree/v1.0.1) (2019-08-23)
|
19
|
+
|
20
|
+
[Full Changelog](https://github.com/samvera/iiif_manifest/compare/v1.0.0...v1.0.1)
|
21
|
+
|
22
|
+
**Closed issues:**
|
23
|
+
|
24
|
+
- Test Current Ruby/Rails Versions in Build Matrix [\#41](https://github.com/samvera/iiif_manifest/issues/41)
|
25
|
+
- Migrate to CircleCI [\#40](https://github.com/samvera/iiif_manifest/issues/40)
|
26
|
+
- Update Documentation to Core Component standards [\#39](https://github.com/samvera/iiif_manifest/issues/39)
|
27
|
+
- Release 1.0? [\#38](https://github.com/samvera/iiif_manifest/issues/38)
|
28
|
+
|
29
|
+
## [v1.0.0](https://github.com/samvera/iiif_manifest/tree/v1.0.0) (2019-08-23)
|
30
|
+
|
31
|
+
[Full Changelog](https://github.com/samvera/iiif_manifest/compare/v0.6.0...v1.0.0)
|
32
|
+
|
33
|
+
**Merged pull requests:**
|
34
|
+
|
35
|
+
- Add initial configuration for CircleCI [\#42](https://github.com/samvera/iiif_manifest/pull/42) ([mark-dce](https://github.com/mark-dce))
|
36
|
+
- Ensures that empty DisplayContent values within IIIFv3 Manifest generation are handled [\#37](https://github.com/samvera/iiif_manifest/pull/37) ([jrgriffiniii](https://github.com/jrgriffiniii))
|
37
|
+
|
38
|
+
## [v0.6.0](https://github.com/samvera/iiif_manifest/tree/v0.6.0) (2019-05-14)
|
39
|
+
|
40
|
+
[Full Changelog](https://github.com/samvera/iiif_manifest/compare/v0.5.0...v0.6.0)
|
41
|
+
|
42
|
+
**Merged pull requests:**
|
43
|
+
|
44
|
+
- Bump version to prepare for release [\#36](https://github.com/samvera/iiif_manifest/pull/36) ([cjcolvar](https://github.com/cjcolvar))
|
45
|
+
- Don't include \# if there isn't any media fragment [\#35](https://github.com/samvera/iiif_manifest/pull/35) ([cjcolvar](https://github.com/cjcolvar))
|
46
|
+
- Update README.md [\#32](https://github.com/samvera/iiif_manifest/pull/32) ([rotated8](https://github.com/rotated8))
|
47
|
+
- Add support for homepage in V3 [\#31](https://github.com/samvera/iiif_manifest/pull/31) ([cjcolvar](https://github.com/cjcolvar))
|
48
|
+
- Optional authentication service for non-image api-backed resources. [\#30](https://github.com/samvera/iiif_manifest/pull/30) ([cjcolvar](https://github.com/cjcolvar))
|
49
|
+
|
50
|
+
## [v0.5.0](https://github.com/samvera/iiif_manifest/tree/v0.5.0) (2018-10-01)
|
51
|
+
|
52
|
+
[Full Changelog](https://github.com/samvera/iiif_manifest/compare/v0.4.0...v0.5.0)
|
53
|
+
|
54
|
+
**Merged pull requests:**
|
55
|
+
|
56
|
+
- Bump version to 0.5.0 [\#29](https://github.com/samvera/iiif_manifest/pull/29) ([cjcolvar](https://github.com/cjcolvar))
|
57
|
+
- Update readme for presentation 3.0 support [\#28](https://github.com/samvera/iiif_manifest/pull/28) ([cjcolvar](https://github.com/cjcolvar))
|
58
|
+
- Fix links pointing to projecthydra-labs [\#27](https://github.com/samvera/iiif_manifest/pull/27) ([cjcolvar](https://github.com/cjcolvar))
|
59
|
+
- Issue langmap: add nil checking to language\_map [\#25](https://github.com/samvera/iiif_manifest/pull/25) ([yingfeng-iu](https://github.com/yingfeng-iu))
|
60
|
+
- Issue\#116 rebased [\#23](https://github.com/samvera/iiif_manifest/pull/23) ([yingfeng-iu](https://github.com/yingfeng-iu))
|
61
|
+
- V3 Range Improvements [\#21](https://github.com/samvera/iiif_manifest/pull/21) ([cjcolvar](https://github.com/cjcolvar))
|
62
|
+
- Use bixby to insulate from changes in rubocop [\#20](https://github.com/samvera/iiif_manifest/pull/20) ([cjcolvar](https://github.com/cjcolvar))
|
63
|
+
- Presentation 3.0 Alpha Support [\#19](https://github.com/samvera/iiif_manifest/pull/19) ([cjcolvar](https://github.com/cjcolvar))
|
64
|
+
|
65
|
+
## [v0.4.0](https://github.com/samvera/iiif_manifest/tree/v0.4.0) (2018-02-28)
|
66
|
+
|
67
|
+
[Full Changelog](https://github.com/samvera/iiif_manifest/compare/v0.3.0...v0.4.0)
|
68
|
+
|
69
|
+
**Closed issues:**
|
70
|
+
|
71
|
+
- Provide a way for works to indicate if they are sammelbands [\#17](https://github.com/samvera/iiif_manifest/issues/17)
|
72
|
+
- Support viewingDirection in manifests [\#12](https://github.com/samvera/iiif_manifest/issues/12)
|
73
|
+
|
74
|
+
**Merged pull requests:**
|
75
|
+
|
76
|
+
- Allow works to indicate if they are sammelbands [\#18](https://github.com/samvera/iiif_manifest/pull/18) ([eliotjordan](https://github.com/eliotjordan))
|
77
|
+
- Add search\_service and autocomplete\_service [\#16](https://github.com/samvera/iiif_manifest/pull/16) ([geekscruff](https://github.com/geekscruff))
|
78
|
+
- Use hash-powered IIIF factories. [\#15](https://github.com/samvera/iiif_manifest/pull/15) ([tpendragon](https://github.com/tpendragon))
|
79
|
+
- Add viewingDirection as optional data value on manifest, fixes \#12 [\#13](https://github.com/samvera/iiif_manifest/pull/13) ([hackmastera](https://github.com/hackmastera))
|
80
|
+
|
81
|
+
## [v0.3.0](https://github.com/samvera/iiif_manifest/tree/v0.3.0) (2017-09-27)
|
82
|
+
|
83
|
+
[Full Changelog](https://github.com/samvera/iiif_manifest/compare/v0.2.0...v0.3.0)
|
84
|
+
|
85
|
+
**Merged pull requests:**
|
86
|
+
|
87
|
+
- bump to version 0.3.0 [\#11](https://github.com/samvera/iiif_manifest/pull/11) ([geekscruff](https://github.com/geekscruff))
|
88
|
+
- Unnecessary each\_with\_index changed to each [\#10](https://github.com/samvera/iiif_manifest/pull/10) ([geekscruff](https://github.com/geekscruff))
|
89
|
+
- Add metadata into the manifest [\#9](https://github.com/samvera/iiif_manifest/pull/9) ([geekscruff](https://github.com/geekscruff))
|
90
|
+
- Enable builders to all be injected. [\#8](https://github.com/samvera/iiif_manifest/pull/8) ([tpendragon](https://github.com/tpendragon))
|
91
|
+
- Allow viewing\_hint to be overridden, allows for Collections as inputs. [\#7](https://github.com/samvera/iiif_manifest/pull/7) ([tpendragon](https://github.com/tpendragon))
|
92
|
+
- Add support for Structural Metadata. [\#5](https://github.com/samvera/iiif_manifest/pull/5) ([tpendragon](https://github.com/tpendragon))
|
93
|
+
- Add Rubocop [\#4](https://github.com/samvera/iiif_manifest/pull/4) ([jcoyne](https://github.com/jcoyne))
|
94
|
+
- Support for a 'sequence\_rendering' method [\#3](https://github.com/samvera/iiif_manifest/pull/3) ([geekscruff](https://github.com/geekscruff))
|
95
|
+
|
96
|
+
## [v0.2.0](https://github.com/samvera/iiif_manifest/tree/v0.2.0) (2017-05-03)
|
97
|
+
|
98
|
+
[Full Changelog](https://github.com/samvera/iiif_manifest/compare/v0.1.2...v0.2.0)
|
99
|
+
|
100
|
+
**Merged pull requests:**
|
101
|
+
|
102
|
+
- Bump iiif-presentation dependency to ~\> 0.2.0 [\#2](https://github.com/samvera/iiif_manifest/pull/2) ([jcoyne](https://github.com/jcoyne))
|
103
|
+
|
104
|
+
## [v0.1.2](https://github.com/samvera/iiif_manifest/tree/v0.1.2) (2016-05-13)
|
105
|
+
|
106
|
+
[Full Changelog](https://github.com/samvera/iiif_manifest/compare/v0.1.1...v0.1.2)
|
107
|
+
|
108
|
+
## [v0.1.1](https://github.com/samvera/iiif_manifest/tree/v0.1.1) (2016-05-13)
|
109
|
+
|
110
|
+
[Full Changelog](https://github.com/samvera/iiif_manifest/compare/v0.1.0...v0.1.1)
|
111
|
+
|
112
|
+
## [v0.1.0](https://github.com/samvera/iiif_manifest/tree/v0.1.0) (2016-05-13)
|
113
|
+
|
114
|
+
[Full Changelog](https://github.com/samvera/iiif_manifest/compare/fc1bb4810a289fd6e2d88bf966bf94cf045fbbf0...v0.1.0)
|
115
|
+
|
116
|
+
|
117
|
+
|
118
|
+
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
|
data/README.md
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
# IIIFManifest
|
2
|
-
Code: [](https://circleci.com/gh/samvera/iiif_manifest)
|
3
|
-
[](https://coveralls.io/github/samvera/iiif_manifest)
|
4
2
|
|
5
|
-
|
6
|
-
|
3
|
+
Code: [](https://circleci.com/gh/samvera/iiif_manifest) [](https://coveralls.io/github/samvera/iiif_manifest)
|
4
|
+
|
5
|
+
Docs: [](./CONTRIBUTING.md) [](./LICENSE)
|
7
6
|
|
8
7
|
Jump in: [](http://slack.samvera.org/)
|
9
8
|
|
10
9
|
# What is IIIFManifest
|
11
|
-
|
10
|
+
|
11
|
+
IIIF <http://iiif.io/> defines an API for presenting related images in a viewer. This transforms Hydra::Works objects into that format usable by players such as <http://universalviewer.io/>
|
12
12
|
|
13
13
|
## Product Owner & Maintenance
|
14
14
|
|
15
|
-
`iiif_manifest` is a Core Component of the Samvera community. The documentation for
|
16
|
-
what this means can be found
|
17
|
-
[here](http://samvera.github.io/core_components.html#requirements-for-a-core-component).
|
15
|
+
`iiif_manifest` is a Core Component of the Samvera community. The documentation for what this means can be found [here](http://samvera.github.io/core_components.html#requirements-for-a-core-component).
|
18
16
|
|
19
17
|
### Product Owner
|
20
18
|
|
@@ -22,25 +20,23 @@ what this means can be found
|
|
22
20
|
|
23
21
|
# Usage
|
24
22
|
|
25
|
-
Your application
|
23
|
+
Your application **_must_** have an object that implements `#file_set_presenters` and `#work_presenters`. The former method should return as set of leaf nodes and the later any interstitial nodes. If none are found an empty array should be returned.
|
26
24
|
|
27
|
-
Additionally, it
|
25
|
+
Additionally, it **_must_** have a `#description` method that returns a string.
|
28
26
|
|
29
|
-
Additionally it
|
27
|
+
Additionally it **_should_** implement `#manifest_url` that shows where the manifest can be found.
|
30
28
|
|
31
|
-
Additionally it
|
29
|
+
Additionally it **_should_** implement `#manifest_metadata` to provide an array containing hashes of metadata Label/Value pairs.
|
32
30
|
|
33
|
-
Additionally it
|
31
|
+
Additionally it **_may_** implement `#search_service` to contain the url for a IIIF search api compliant search endpoint and `#autocomplete_service` to contain the url for a IIIF search api compliant autocomplete endpoint. Please note, the autocomplete service is embedded within the search service description so if an autocomplete_service is supplied without a search_service it will be ignored. The IIIF `profile` added to the service descriptions is version 0 as this is the version supported by the current version of Universal Viewer. Only include a search_service within the manifest if your application has implemented a IIIF search service at the endpoint specified in the manifest.
|
34
32
|
|
35
|
-
Additionally it
|
33
|
+
Additionally it **_may_** implement `#sequence_rendering` to contain an array of hashes for file downloads to be offered at sequences level. Each hash must contain "@id", "format" (mime type) and "label" (eg. `{ "@id" => "download url", "format" => "application/pdf", "label" => "user friendly label" }`).
|
36
34
|
|
37
|
-
Finally, it
|
38
|
-
represent a table of contents or similar structure, each of which responds to
|
39
|
-
`label`, `ranges`, and `file_set_presenters`.
|
35
|
+
Finally, it **_may_** implement `ranges`, which returns an array of objects which represent a table of contents or similar structure, each of which responds to `label`, `ranges`, and `file_set_presenters`.
|
40
36
|
|
41
37
|
For example:
|
42
38
|
|
43
|
-
|
39
|
+
```ruby
|
44
40
|
class Book
|
45
41
|
def initialize(id, pages = [])
|
46
42
|
@id = id
|
@@ -146,9 +142,9 @@ Then you can produce the manifest on the book object like this:
|
|
146
142
|
|
147
143
|
## Presentation 3.0 (Alpha)
|
148
144
|
|
149
|
-
Provisional support for the [3.0 alpha version of the IIIF presentation api spec](https://iiif.io/api/presentation/3.0/) has been added with a focus on audiovisual content.
|
145
|
+
Provisional support for the [3.0 alpha version of the IIIF presentation api spec](https://iiif.io/api/presentation/3.0/) has been added with a focus on audiovisual content. The [change log](https://iiif.io/api/presentation/3.0/change-log/) lists the changes to the specification.
|
150
146
|
|
151
|
-
The presentation 3.0 support has been contained to the `V3` namespace.
|
147
|
+
The presentation 3.0 support has been contained to the `V3` namespace. Version 2.0 manifests are still be built using `IIIFManifest::ManifestFactory` while version 3.0 manifests can now be built using `IIIFManifest::V3::ManifestFactory`.
|
152
148
|
|
153
149
|
```ruby
|
154
150
|
book = Book.new('book-77',[Page.new('page-99')])
|
@@ -156,13 +152,14 @@ The presentation 3.0 support has been contained to the `V3` namespace. Version
|
|
156
152
|
```
|
157
153
|
|
158
154
|
### Notable changes for Presentation 3.0
|
159
|
-
|
160
|
-
-
|
161
|
-
-
|
155
|
+
|
156
|
+
- Presenters must still define `#description` but it is now serialized as `summary`. (<https://iiif.io/api/presentation/3.0/change-log/#126-rename-description-to-summary>)
|
157
|
+
- All textual strings, including metadata labels and values, are now serialized as language maps and may be provided as a hash with language code keys with string values. Values not provided in this format are automatically converted so no change to `#description`, `#manifest_metadata`, range labels, or other fields are required. (<https://iiif.io/api/presentation/3.0/change-log/#133-use-language-map-pattern-for-label-value-summary>)
|
158
|
+
- Presenters **_may_** implement `#homepage` to contain a hash for linking back to a repository webpage for this manifest. The hash must contain "id", "format" (mime type), "type", and "label" (eg. `{ "id" => "repository url", "format" => "text/html", "type" => "Text", "label" => { "en": ["View in repository"] }`).
|
162
159
|
- File set presenters may target a fragment of its content by providing `#media_fragment` which will be appended to its `id`.
|
163
|
-
- Range objects may now implement `#items` instead of `#ranges` and `#file_set_presenters` to allow for interleaving these objects.
|
164
|
-
- File set presenters may provide `#display_content` which should return an instance of `IIIFManifest::V3::DisplayContent` (or an array of instances in the case of a user `Choice`).
|
165
|
-
- DisplayContent may provide `#auth_service` which should return a hash containing a IIIF Authentication service definition (https://iiif.io/api/auth/1.0
|
160
|
+
- Range objects may now implement `#items` instead of `#ranges` and `#file_set_presenters` to allow for interleaving these objects. `#items` is not required and existing range objects should continue to work.
|
161
|
+
- File set presenters may provide `#display_content` which should return an instance of `IIIFManifest::V3::DisplayContent` (or an array of instances in the case of a user `Choice`). `#display_image` is no longer required but will still work if provided.
|
162
|
+
- DisplayContent may provide `#auth_service` which should return a hash containing a IIIF Authentication service definition (<https://iiif.io/api/auth/1.0/>) that will be included on the content resource.
|
166
163
|
|
167
164
|
# Development
|
168
165
|
|
@@ -172,7 +169,22 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
172
169
|
|
173
170
|
## Contributing
|
174
171
|
|
175
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/samvera-labs/iiif_manifest
|
172
|
+
Bug reports and pull requests are welcome on GitHub at <https://github.com/samvera-labs/iiif_manifest>. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
173
|
+
|
174
|
+
## Releasing
|
175
|
+
|
176
|
+
1. `bundle install`
|
177
|
+
2. Increase the version number in `lib/iiif_manifest/version.rb`
|
178
|
+
3. Increase the same version number in `.github_changelog_generator`
|
179
|
+
4. Update `CHANGELOG.md` by running this command:
|
180
|
+
|
181
|
+
```
|
182
|
+
github_changelog_generator --user samvera --project iiif_manifest --token YOUR_GITHUB_TOKEN_HERE
|
183
|
+
```
|
184
|
+
|
185
|
+
5. Commit these changes to the master branch
|
186
|
+
|
187
|
+
6. Run `rake release`
|
176
188
|
|
177
189
|
## Help
|
178
190
|
|
@@ -180,7 +192,6 @@ The Samvera community is here to help. Please see our [support guide](./SUPPORT.
|
|
180
192
|
|
181
193
|
# Acknowledgments
|
182
194
|
|
183
|
-
This software has been developed by and is brought to you by the Samvera community.
|
184
|
-
[Samvera website](http://samvera.org/).
|
195
|
+
This software has been developed by and is brought to you by the Samvera community. Learn more at the [Samvera website](http://samvera.org/).
|
185
196
|
|
186
197
|

|