openseadragon 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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.