jekyll-gallery-generator 0.0.8 → 0.9.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: 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.