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 +4 -4
- data/jekyll-gallery-generator.gemspec +2 -2
- data/lib/jekyll-gallery-generator.rb +22 -15
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9fb877d9687a9a9b4c2ceb86449dbb29ff32db30
|
4
|
+
data.tar.gz: 3b95efbc9f1992097efae0ae0dd8a1c93cd6bd25
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
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
|
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.
|
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
|
-
|
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
|
-
|
177
|
+
printf "Error generating thumbnail for #{image_path}: #{e}\r"
|
171
178
|
puts e.backtrace
|
172
179
|
end
|
173
|
-
|
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
|
-
|
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
|
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-
|
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
|
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.
|
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.
|