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 +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.
|