openseadragon 0.1.0 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 18d43d32894da3240f3369a3b12c81e229a61466
4
- data.tar.gz: d58c49ef95383a9bb8feea8f3e239daa6451a7b4
3
+ metadata.gz: 14efe47c95e1ac88bc454c7ad91100b92b1835d5
4
+ data.tar.gz: 5ea80765a25fde178aeb7a88746a1de7b9dd1793
5
5
  SHA512:
6
- metadata.gz: f70211dcbe9ee4f97e2fdcc5ea204fe13a1d16a91e0c891c61e7523874c132c489b4ffe675c83009f8e4ec26203e6199472867b844455808f8e81e3a256e92f6
7
- data.tar.gz: 8336ab2fa8befbcc031f993d62768b1b33e32b54a441bb13c0da321adc2fb36b26ba2c2fb5e937fc2217a13edeeaa2e2587d54a63347610beffcc2c4125a6723
6
+ metadata.gz: 8f9866c71944872ea106c1c1505a1ef5939b0e023c061dacd58588fecffd8973b9c01c72c0f77c38ded543305449f8a490cf2685a6cc5885f5063a1152a4af3c
7
+ data.tar.gz: 91b744c99940886dba57481b7e454c9588bc7b561610cc896b3c8153124685d735eaadd82158e9b5cbedc58503bfec645cae4c79e4b61ba2924879699187c63e
data/LICENSE ADDED
@@ -0,0 +1,14 @@
1
+ Copyright 2015 The Board of Trustees of the Leland Stanford Junior University and Data Curation Experts
2
+ Additional copyright may be held by others, as reflected in the commit log
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
data/README.md CHANGED
@@ -4,16 +4,34 @@ OpenSeadragon is a javascript library for displaying tiling images. This gem pac
4
4
 
5
5
  http://openseadragon.github.io/
6
6
 
7
- # Usage
7
+ ## Installation
8
8
 
9
- This gem provides two helpers, `#picture_tag` and `#openseadragon_picture_tag`.
9
+ Add the gem to your Gemfile:
10
10
 
11
- In your controller add this line:
12
11
  ```ruby
13
- helper Openseadragon::OpenseadragonHelper
12
+ gem 'openseadragon-rails'
13
+ ```
14
+
15
+ Run bundle install:
16
+
17
+ ```
18
+ $ bundle install
19
+ ```
20
+
21
+ And run the openseadragon-rails install generator:
22
+
23
+ ```
24
+ $ bundle exec rails g openseadragon:install
14
25
  ```
15
26
 
16
- ## picture_tag
27
+ The generator will install the Rails helpers and openseadragon assets.
28
+
29
+ ## Usage
30
+
31
+ This gem provides two helpers, `#picture_tag` and `#openseadragon_picture_tag`.
32
+
33
+
34
+ ### picture_tag
17
35
 
18
36
  The `#picture_tag` helper creates [HTML5 <picture> tags](http://www.w3.org/TR/html-picture-element/).
19
37
 
@@ -47,7 +65,7 @@ picture_tag ['page1.jpg' => { id: 'first-picture'}], 'page2.jpg', 'page3.jpg', {
47
65
  </picture>
48
66
  ```
49
67
 
50
- ## openseadragon_picture_tag
68
+ ### openseadragon_picture_tag
51
69
 
52
70
  If you have an OpenSeaDragon tilesource, you can use this helper to construct a HTML5 `<picture>` that will render as an OpenSeaDragon tile viewer.
53
71
 
data/Rakefile CHANGED
@@ -7,3 +7,10 @@ RSpec::Core::RakeTask.new(:spec)
7
7
 
8
8
  task ci: ['engine_cart:generate', :spec]
9
9
  task default: :ci
10
+
11
+
12
+ task server: ['engine_cart:generate'] do
13
+ within_test_app do
14
+ system "bundle exec rails s"
15
+ end
16
+ end
@@ -0,0 +1,2 @@
1
+ //= require openseadragon/openseadragon
2
+ //= require openseadragon/rails
@@ -0,0 +1,39 @@
1
+ (function($) {
2
+ $.fn.openseadragon = function() {
3
+ var __osd_counter = 0;
4
+ function generateOsdId() {
5
+ __osd_counter++;
6
+
7
+ return "Openseadragon" + __osd_counter;
8
+ }
9
+
10
+ $(this).each(function() {
11
+ var $picture = $(this);
12
+ $picture.addClass('openseadragon-viewer');
13
+
14
+ if (typeof $picture.attr('id') === "undefined") {
15
+ $picture.attr('id', generateOsdId());
16
+ }
17
+
18
+ var collectionOptions = $picture.data('openseadragon');
19
+
20
+ var sources = $picture.find('source[media="openseadragon"]');
21
+
22
+ var tilesources = $.map(sources, function(e) {
23
+ if ($(e).data('openseadragon')) {
24
+ return $(e).data('openseadragon');
25
+ } else {
26
+ return $(e).attr('src');
27
+ }
28
+ });
29
+
30
+ $picture.css('height', $picture.css('height'));
31
+
32
+ $picture.data('osdViewer', OpenSeadragon(
33
+ $.extend({ id: $picture.attr('id') }, collectionOptions, { tileSources: tilesources })
34
+ ));
35
+ });
36
+
37
+ return this;
38
+ };
39
+ })(jQuery);
@@ -1,42 +1,10 @@
1
- //= require openseadragon
1
+ //= require openseadragon/jquery
2
2
 
3
3
  (function($) {
4
- var __osd_counter = 0;
5
- function generateOsdId() {
6
- __osd_counter++;
7
-
8
- return "Openseadragon" + __osd_counter;
9
- }
10
-
11
4
  function initOpenSeadragon() {
12
- $('picture[data-openseadragon]').each(function() {
13
- var $picture = $(this);
14
-
15
- if (typeof $picture.attr('id') === "undefined") {
16
- $picture.attr('id', generateOsdId());
17
- }
18
-
19
- var collectionOptions = $picture.data('openseadragon');
20
-
21
- var sources = $picture.find('source[media="openseadragon"]');
22
-
23
- var tilesources = $.map(sources, function(e) {
24
- if ($(e).data('openseadragon')) {
25
- return $(e).data('openseadragon');
26
- } else {
27
- return $(e).attr('src');
28
- }
29
- });
30
-
31
- $picture.css("display", "block");
32
- $picture.css("height", "500px");
33
-
34
- $picture.data('osdViewer', OpenSeadragon(
35
- $.extend({ id: $picture.attr('id') }, collectionOptions, { tileSources: tilesources })
36
- ));
37
- });
38
- };
5
+ $('picture[data-openseadragon]').openseadragon();
6
+ }
39
7
 
40
- window.onload = initOpenSeadragon;
41
- document.addEventListener("page:load", initOpenSeadragon, false);
8
+ $(document).on('page:load', initOpenSeadragon);
9
+ $(document).ready(initOpenSeadragon);
42
10
  })(jQuery);
@@ -0,0 +1,4 @@
1
+ .openseadragon-viewer {
2
+ display: block;
3
+ min-height: 500px;
4
+ }
@@ -0,0 +1,18 @@
1
+ require 'rails/generators'
2
+
3
+ module Openseadragon
4
+ class Install < Rails::Generators::Base
5
+ source_root File.expand_path('../templates', __FILE__)
6
+
7
+ def assets
8
+ copy_file "openseadragon.css", "app/assets/stylesheets/openseadragon.css"
9
+ copy_file "openseadragon.js", "app/assets/javascripts/openseadragon.js"
10
+ end
11
+
12
+ def inject_helper
13
+ inject_into_class 'app/controllers/application_controller.rb', ApplicationController do
14
+ " helper Openseadragon::OpenseadragonHelper\n"
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,3 @@
1
+ /*
2
+ *= require openseadragon/openseadragon
3
+ */
@@ -0,0 +1,2 @@
1
+ //= require openseadragon/openseadragon
2
+ //= require openseadragon/rails
@@ -1,3 +1,3 @@
1
1
  module Openseadragon
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -6,12 +6,12 @@ require 'openseadragon/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "openseadragon"
8
8
  spec.version = Openseadragon::VERSION
9
- spec.authors = ["Justin Coyne", "Brian Maddy"]
10
- spec.email = ["justin@curationexperts.com"]
9
+ spec.authors = ["Justin Coyne", "Chris Beer", "Christopher Jesudurai"]
10
+ spec.email = ["justin@curationexperts.com", "cabeer@stanford.edu", "jchris@stanford.edu"],
11
11
  spec.summary = %q{OpenSeadragon assets and helpers for Rails. http://openseadragon.github.io/}
12
12
  spec.description = %q{OpenSeadragon is a javascript library for displaying tiling images. This gem packages those assets and some Rails helpers for using them}
13
- spec.homepage = ""
14
- spec.license = "MIT"
13
+ spec.homepage = "https://github.com/iiif/openseadragon-rails"
14
+ spec.license = "Apache 2.0"
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0")
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
@@ -0,0 +1,18 @@
1
+ require 'rails/generators'
2
+
3
+ class TestAppGenerator < Rails::Generators::Base
4
+ source_root "../../spec/test_app_templates"
5
+
6
+ def run_generator
7
+ generate 'openseadragon:install'
8
+ end
9
+
10
+ def generate_controller
11
+ generate 'controller test show'
12
+ route "root to: 'test#show'"
13
+ end
14
+
15
+ def add_osd_to_view
16
+ copy_file "show.html.erb", 'app/views/test/show.html.erb', force: true
17
+ end
18
+ end
@@ -0,0 +1 @@
1
+ <%= openseadragon_picture_tag 'https://stacks.stanford.edu/image/iiif/xf680rd3068%2Fxf680rd3068_00_0001/info.json' %>
metadata CHANGED
@@ -1,15 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openseadragon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
8
- - Brian Maddy
8
+ - Chris Beer
9
+ - Christopher Jesudurai
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2015-02-25 00:00:00.000000000 Z
13
+ date: 2015-03-18 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: bundler
@@ -112,7 +113,10 @@ dependencies:
112
113
  description: OpenSeadragon is a javascript library for displaying tiling images. This
113
114
  gem packages those assets and some Rails helpers for using them
114
115
  email:
115
- - justin@curationexperts.com
116
+ - - justin@curationexperts.com
117
+ - cabeer@stanford.edu
118
+ - jchris@stanford.edu
119
+ - OpenSeadragon assets and helpers for Rails. http://openseadragon.github.io/
116
120
  executables: []
117
121
  extensions: []
118
122
  extra_rdoc_files: []
@@ -120,13 +124,19 @@ files:
120
124
  - ".gitignore"
121
125
  - ".travis.yml"
122
126
  - Gemfile
123
- - LICENSE.txt
127
+ - LICENSE
124
128
  - README.md
125
129
  - Rakefile
130
+ - app/assets/javascripts/openseadragon.js
131
+ - app/assets/javascripts/openseadragon/jquery.js
126
132
  - app/assets/javascripts/openseadragon/rails.js
133
+ - app/assets/stylesheets/openseadragon/openseadragon.css
127
134
  - app/helpers/openseadragon/openseadragon_helper.rb
128
135
  - app/models/openseadragon/image.rb
129
136
  - app/models/openseadragon/open_street_map.rb
137
+ - lib/generators/openseadragon/install_generator.rb
138
+ - lib/generators/openseadragon/templates/openseadragon.css
139
+ - lib/generators/openseadragon/templates/openseadragon.js
130
140
  - lib/openseadragon.rb
131
141
  - lib/openseadragon/engine.rb
132
142
  - lib/openseadragon/version.rb
@@ -135,6 +145,8 @@ files:
135
145
  - spec/models/openseadragon/image_spec.rb
136
146
  - spec/models/openseadragon/open_street_map.rb
137
147
  - spec/spec_helper.rb
148
+ - spec/test_app_templates/lib/generators/test_app_generator.rb
149
+ - spec/test_app_templates/show.html.erb
138
150
  - vendor/assets/images/openseadragon/fullpage_grouphover.png
139
151
  - vendor/assets/images/openseadragon/fullpage_hover.png
140
152
  - vendor/assets/images/openseadragon/fullpage_pressed.png
@@ -167,10 +179,10 @@ files:
167
179
  - vendor/assets/images/openseadragon/zoomout_hover.png
168
180
  - vendor/assets/images/openseadragon/zoomout_pressed.png
169
181
  - vendor/assets/images/openseadragon/zoomout_rest.png
170
- - vendor/assets/javascripts/openseadragon.js
171
- homepage: ''
182
+ - vendor/assets/javascripts/openseadragon/openseadragon.js
183
+ homepage: https://github.com/iiif/openseadragon-rails
172
184
  licenses:
173
- - MIT
185
+ - Apache 2.0
174
186
  metadata: {}
175
187
  post_install_message:
176
188
  rdoc_options: []
@@ -197,3 +209,5 @@ test_files:
197
209
  - spec/models/openseadragon/image_spec.rb
198
210
  - spec/models/openseadragon/open_street_map.rb
199
211
  - spec/spec_helper.rb
212
+ - spec/test_app_templates/lib/generators/test_app_generator.rb
213
+ - spec/test_app_templates/show.html.erb
@@ -1,22 +0,0 @@
1
- Copyright (c) 2014 TODO: Write your name
2
-
3
- MIT License
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- "Software"), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.