jekyll-gallery-generator 0.0.8 → 0.9.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: 95ad41b33154e2629ba3549e012db0fcc37713a6
4
- data.tar.gz: 83460d8f045af954246a437b912556264b137e18
3
+ metadata.gz: 9fb877d9687a9a9b4c2ceb86449dbb29ff32db30
4
+ data.tar.gz: 3b95efbc9f1992097efae0ae0dd8a1c93cd6bd25
5
5
  SHA512:
6
- metadata.gz: 9eaa08866c392af9605c4b164133ecd4f37529a0e5b3e7ba2fbde68c6b7b846e5cd0dcda60446c2d58dc729981692ec360837e9d7cc66bd3dfcb0ee8ed9c850e
7
- data.tar.gz: 4596126cfcee3a39cba569e3ba968249b9a74d4407c6ced3c418cac1ce2f809a40eb9faeca0f028171bb0745894f9282f0043bebdb60cc3563e533eafad2c8fc
6
+ metadata.gz: 5fce10d707394b0df32939ae3fa2b4da5938d627308e16fbe0dfb417ef49e9cc543f8ff477cc6fe435a1ace94de46a90af65c7dca801552ed7c802bfe94dc43c
7
+ data.tar.gz: 520617fc88e4e50ca4183efd7a04889aeba93554017530350167045a42e39fadd9331ca800822a2afc3967869071d69bb71781bba2db5333fa7fda6626e04e0e
@@ -1,11 +1,11 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "jekyll-gallery-generator"
3
3
  spec.summary = "Generate galleries with thumbnails for your Jekyll site."
4
- spec.version = "0.0.8"
4
+ spec.version = "0.9.0"
5
5
  spec.authors = ["Geoff Greer"]
6
6
  spec.email = "geoff@greer.fm"
7
7
  spec.homepage = "https://github.com/ggreer/jekyll-gallery-generator"
8
- spec.licenses = ["Apache 2.0"]
8
+ spec.licenses = ["Apache-2.0"]
9
9
 
10
10
  spec.files = `git ls-files -z`.split("\x0")
11
11
  spec.require_paths = ["lib"]
@@ -6,6 +6,17 @@ include FileUtils
6
6
 
7
7
  $image_extensions = [".png", ".jpg", ".jpeg", ".gif"]
8
8
 
9
+ def get_exif_date_time(image_path)
10
+ begin
11
+ return EXIFR::JPEG.new(image_path).date_time.to_i
12
+ rescue EXIFR::MalformedJPEG
13
+ puts "No EXIF data in #{image_path}"
14
+ rescue Exception => e
15
+ puts "Error reading EXIF date_time for #{image_path}: #{e}"
16
+ end
17
+ return 0
18
+ end
19
+
9
20
  module Jekyll
10
21
  class GalleryFile < StaticFile
11
22
  def write(dest)
@@ -122,7 +133,8 @@ module Jekyll
122
133
 
123
134
  FileUtils.mkdir_p(thumbs_dir, :mode => 0755)
124
135
  date_times = {}
125
- Dir.foreach(dir) do |image|
136
+ entries = Dir.entries(dir)
137
+ entries.each_with_index do |image, i|
126
138
  next if image.chars.first == "."
127
139
  next unless image.downcase().end_with?(*$image_extensions)
128
140
  @images.push(image)
@@ -130,12 +142,7 @@ module Jekyll
130
142
  @site.static_files << GalleryFile.new(site, base, File.join(@dest_dir, "thumbs"), image)
131
143
  image_path = File.join(dir, image)
132
144
 
133
- begin
134
- date_times[image] = EXIFR::JPEG.new(image_path).date_time.to_i
135
- rescue Exception => e
136
- date_times[image] = 0
137
- puts "Error getting date_time for #{image}: #{e}"
138
- end
145
+ date_times[image] = get_exif_date_time(image_path)
139
146
 
140
147
  if symlink
141
148
  link_src = site.in_source_dir(image_path)
@@ -167,12 +174,17 @@ module Jekyll
167
174
  puts "Writing thumbnail to #{thumb_path}"
168
175
  m_image.write(thumb_path)
169
176
  rescue e
170
- puts "Error generating thumbnail for #{image_path}: #{e}"
177
+ printf "Error generating thumbnail for #{image_path}: #{e}\r"
171
178
  puts e.backtrace
172
179
  end
173
- GC.start
180
+ if i % 5 == 0
181
+ GC.start
182
+ end
174
183
  end
184
+
185
+ printf "#{gallery_name} #{i+1}/#{entries.length} images\r"
175
186
  end
187
+ puts ""
176
188
 
177
189
  begin
178
190
  @images.sort! {|a,b|
@@ -194,12 +206,7 @@ module Jekyll
194
206
  self.data["images"] = @images
195
207
  self.data["best_image"] = gallery_config["best_image"] || best_image
196
208
  best_image_path = File.join(dir.to_s, best_image.to_s)
197
- begin
198
- self.data["date_time"] = EXIFR::JPEG.new(best_image_path).date_time.to_i
199
- rescue Exception => e
200
- self.data["date_time"] = 0
201
- puts "Error getting date_time for #{best_image_path}: #{e}"
202
- end
209
+ self.data["date_time"] = get_exif_date_time(best_image_path)
203
210
  end
204
211
  end
205
212
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-gallery-generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geoff Greer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-18 00:00:00.000000000 Z
11
+ date: 2016-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: exifr
@@ -85,7 +85,7 @@ files:
85
85
  - script/test
86
86
  homepage: https://github.com/ggreer/jekyll-gallery-generator
87
87
  licenses:
88
- - Apache 2.0
88
+ - Apache-2.0
89
89
  metadata: {}
90
90
  post_install_message:
91
91
  rdoc_options: []
@@ -104,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
104
  requirements:
105
105
  - imagemagick, >=v6.9 (needed by RMagick)
106
106
  rubyforge_project:
107
- rubygems_version: 2.0.14
107
+ rubygems_version: 2.5.1
108
108
  signing_key:
109
109
  specification_version: 4
110
110
  summary: Generate galleries with thumbnails for your Jekyll site.