jekyll-imagemagick 1.2.1 → 1.3.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/Gemfile +1 -4
- data/README.md +21 -9
- data/Rakefile +12 -8
- data/jekyll-imagemagick.gemspec +25 -17
- data/lib/jekyll-imagemagick.rb +5 -4
- data/lib/jekyll-imagemagick/defaults.rb +5 -5
- data/lib/jekyll-imagemagick/imageConvert.rb +8 -9
- data/lib/jekyll-imagemagick/imageGenerator.rb +48 -35
- data/lib/jekyll-imagemagick/version.rb +4 -3
- metadata +20 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fec8d2d5542a1e4437e3f7a08021c6813ac5e9ff91ce89566b289f965c122ea2
|
4
|
+
data.tar.gz: 52185f33db67cdb82031ae92f257301e420c3b32478585488bc17f34c6126937
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f0246d18157fdafea6f9055e83bd50c15f2f2eb8c1d42bfd706af8e7782d62f812dbf9ac4d234cc31dea0ada13dcdc99f08f9c97de1a52aa3a9aaf7c4e17eb9e
|
7
|
+
data.tar.gz: af18d65199a58f4aa10ae9cc1af533b4cef3fa1d7e1e11a16c1c658b060b3074f1e5cc19f4e176096957c2a4796e92757c143f8ca1792e3609b87e61fbbf11b4
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
[](https://rubygems.org/gems/jekyll-imagemagick)
|
3
2
|
[](https://rubygems.org/gems/jekyll-imagemagick)
|
4
3
|
[](https://gitter.im/jekyll-imagemagick/Lobby)
|
@@ -7,9 +6,9 @@
|
|
7
6
|
|
8
7
|
# Image Generator for Jekyll
|
9
8
|
|
10
|
-
|
9
|
+
`jekyll-imagemagick` is a plugin for Jekyll that can automatically convert images from one format to another.
|
11
10
|
|
12
|
-
Typical usecase is having a directory of original
|
11
|
+
Typical usecase is having a directory full of original files or RAW images (say in PNG or other lossless formats) and convert them automatically to responsive JPG/WEBP format.
|
13
12
|
|
14
13
|
## Installation
|
15
14
|
|
@@ -35,17 +34,22 @@ imagemagick:
|
|
35
34
|
input_directories:
|
36
35
|
- assets/img/blog
|
37
36
|
- assets/img/pages
|
38
|
-
output_formats:
|
39
|
-
jpg: "-quality 93% -define jpeg:dct-method=float -strip -interlace Plane"
|
40
|
-
webp: "-quality 100%"
|
41
37
|
input_formats:
|
42
38
|
- ".png"
|
43
39
|
- ".tiff"
|
40
|
+
output_formats:
|
41
|
+
jpg: "-quality 93% -define jpeg:dct-method=float -strip -interlace Plane"
|
42
|
+
webp: "-quality 100%"
|
44
43
|
```
|
45
44
|
|
46
|
-
This example configuration
|
47
|
-
|
48
|
-
|
45
|
+
This example configuration will:
|
46
|
+
|
47
|
+
- Recursively search for input images with format PNG/TIFF in the directories `assets/img/blog` and `assets/img/pages`.
|
48
|
+
- For each input image it generates a JPG and WEBP output.
|
49
|
+
- Output images will be generated with resolutions 512x, 1024x and "untouched" (meaning it just keep the resolution of the original input image).
|
50
|
+
|
51
|
+
Notice that you can specify some fancy options for the `imagemagick` command line, like `-define jpeg:dct-method=float -strip -interlace Plane`
|
52
|
+
that is supposed to produce more efficiently progressive-compressed images.
|
49
53
|
|
50
54
|
### How to use WEBP in HTML
|
51
55
|
|
@@ -58,6 +62,14 @@ Not all browsers are compatible with WEBP. Using the `<picture>` element and spe
|
|
58
62
|
</picture>
|
59
63
|
```
|
60
64
|
|
65
|
+
## Development
|
66
|
+
|
67
|
+
```bash
|
68
|
+
bundle install --path vendor/bundle
|
69
|
+
bundle exec rake test
|
70
|
+
bundle exec rake codestyle
|
71
|
+
```
|
72
|
+
|
61
73
|
## Known issues
|
62
74
|
|
63
75
|
So far so good.
|
data/Rakefile
CHANGED
@@ -1,13 +1,17 @@
|
|
1
1
|
require 'rake'
|
2
2
|
require 'rake/testtask'
|
3
|
+
require 'rubocop/rake_task'
|
3
4
|
|
4
|
-
Rake::TestTask.new do |
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
t.test_files = FileList['spec/*_spec.rb']
|
5
|
+
Rake::TestTask.new do |task|
|
6
|
+
task.libs.push 'lib'
|
7
|
+
task.libs.push 'test'
|
8
|
+
task.verbose = true
|
9
|
+
task.pattern = 'test/*_test.rb'
|
10
10
|
end
|
11
11
|
|
12
|
-
|
13
|
-
task
|
12
|
+
RuboCop::RakeTask.new(:codestyle) do |task|
|
13
|
+
task.options = [
|
14
|
+
'--display-cop-names',
|
15
|
+
'--fail-fast'
|
16
|
+
]
|
17
|
+
end
|
data/jekyll-imagemagick.gemspec
CHANGED
@@ -1,29 +1,37 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
1
|
require 'date'
|
4
2
|
require_relative 'lib/jekyll-imagemagick/version'
|
5
3
|
|
6
4
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
5
|
+
spec.name = 'jekyll-imagemagick'
|
8
6
|
spec.version = Jekyll::Imagemagick::VERSION
|
9
7
|
spec.platform = Gem::Platform::RUBY
|
10
|
-
spec.date =
|
11
|
-
spec.authors = [
|
12
|
-
spec.email = [
|
13
|
-
spec.homepage =
|
14
|
-
spec.license =
|
8
|
+
spec.date = Time.now.strftime('%Y-%m-%d')
|
9
|
+
spec.authors = ['Emilio Del Tessandoro']
|
10
|
+
spec.email = ['emilio.deltessa@gmail.com']
|
11
|
+
spec.homepage = 'https://gitlab.com/emmmile/jekyll-imagemagick'
|
12
|
+
spec.license = 'MIT'
|
13
|
+
|
14
|
+
spec.summary = 'Image generator for Jekyll 3 websites'
|
15
|
+
spec.description = 'Image generator for Jekyll 3 wesites that automatically ' \
|
16
|
+
'convert images from one format to another'
|
15
17
|
|
16
|
-
spec.
|
17
|
-
|
18
|
+
spec.files = Dir[
|
19
|
+
'CODE_OF_CONDUCT.md',
|
20
|
+
'README.md',
|
21
|
+
'LICENSE',
|
22
|
+
'Rakefile',
|
23
|
+
'*.gemspec',
|
24
|
+
'Gemfile',
|
25
|
+
'lib/**/*'
|
26
|
+
]
|
18
27
|
|
19
|
-
spec.files = Dir['CODE_OF_CONDUCT.md', 'README.md', 'LICENSE', 'Rakefile', '*.gemspec', 'Gemfile', 'lib/**/*', 'spec/**/*']
|
20
28
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
21
29
|
spec.test_files = spec.files.grep(%r{^spec/})
|
22
|
-
spec.require_paths = [
|
30
|
+
spec.require_paths = ['lib']
|
23
31
|
|
24
|
-
spec.add_development_dependency
|
25
|
-
spec.add_development_dependency
|
26
|
-
spec.add_development_dependency
|
27
|
-
spec.add_development_dependency
|
28
|
-
spec.
|
32
|
+
spec.add_development_dependency 'bundler', '~> 1.15'
|
33
|
+
spec.add_development_dependency 'minitest', '~> 5.11'
|
34
|
+
spec.add_development_dependency 'rake', '~> 12.3'
|
35
|
+
spec.add_development_dependency 'rubocop', '~> 0.58'
|
36
|
+
spec.add_development_dependency 'test-unit', '~> 3.2'
|
29
37
|
end
|
data/lib/jekyll-imagemagick.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
1
|
+
require 'jekyll-imagemagick/version'
|
2
|
+
require 'jekyll-imagemagick/defaults'
|
3
|
+
require 'jekyll-imagemagick/imageConvert'
|
4
|
+
require 'jekyll-imagemagick/imageGenerator'
|
5
5
|
|
6
6
|
module Jekyll
|
7
|
+
# not sure this is needed
|
7
8
|
module Imagemagick
|
8
9
|
end
|
9
10
|
end
|
@@ -7,10 +7,10 @@ module Jekyll
|
|
7
7
|
'enabled' => false,
|
8
8
|
|
9
9
|
# The flags to pass to the convert binary.
|
10
|
-
'flags' =>
|
10
|
+
'flags' => '-q 75',
|
11
11
|
|
12
12
|
# List of directories containing images to optimize, Nested directories will not be checked
|
13
|
-
'input_directories' => [
|
13
|
+
'input_directories' => ['/img'],
|
14
14
|
|
15
15
|
# List of resolutions to generate, 0 means full size otherwise is the long edge
|
16
16
|
'edges' => [0, 1024, 512],
|
@@ -18,8 +18,8 @@ module Jekyll
|
|
18
18
|
# Flags for resizing
|
19
19
|
'resize_flags' => '-filter Lanczos',
|
20
20
|
|
21
|
-
# add
|
22
|
-
'input_formats' => [
|
21
|
+
# add '.gif' to the format list to generate images for animated gifs as well
|
22
|
+
'input_formats' => ['.png', '.tiff'],
|
23
23
|
|
24
24
|
# List of files or directories to exclude
|
25
25
|
'exclude' => [],
|
@@ -27,6 +27,6 @@ module Jekyll
|
|
27
27
|
# List of files or directories to explicitly include
|
28
28
|
# e.g. single files outside of the main image directories
|
29
29
|
'include' => []
|
30
|
-
}
|
30
|
+
}.freeze
|
31
31
|
end
|
32
32
|
end
|
@@ -1,14 +1,14 @@
|
|
1
1
|
require 'open3'
|
2
|
-
require 'fastimage'
|
3
2
|
|
4
3
|
module Jekyll
|
5
4
|
module Imagemagick
|
5
|
+
# Class used to convert a single image to another format using imagemagick
|
6
6
|
class ImageConvert
|
7
7
|
# Executes a command and wait for the output
|
8
8
|
def self.run_cmd(cmd)
|
9
9
|
exit_code = 0
|
10
|
-
error =
|
11
|
-
output =
|
10
|
+
error = ''
|
11
|
+
output = ''
|
12
12
|
Open3.popen3(cmd) do |stdin, stdout, stderr, wait_thr|
|
13
13
|
stdin.close # we don't pass any input to the process
|
14
14
|
output = stdout.gets
|
@@ -17,24 +17,23 @@ module Jekyll
|
|
17
17
|
end
|
18
18
|
|
19
19
|
if exit_code != 0
|
20
|
-
Jekyll.logger.error(
|
20
|
+
Jekyll.logger.error('Imagemagick:', "Command returned #{exit_code} with error #{error}")
|
21
21
|
end
|
22
22
|
|
23
23
|
# Return any captured return value
|
24
24
|
return [output, error]
|
25
25
|
end
|
26
26
|
|
27
|
-
|
28
27
|
def self.run(input_file, output_file, flags, long_edge, resize_flags)
|
29
|
-
width, height = FastImage.size(input_file)
|
28
|
+
# width, height = FastImage.size(input_file)
|
30
29
|
|
31
|
-
Jekyll.logger.info(
|
30
|
+
Jekyll.logger.info('Imagemagick:', "Generating image \"#{output_file}\"")
|
32
31
|
cmd = "convert \"#{input_file}\" #{flags} "
|
33
32
|
if long_edge != 0
|
34
|
-
cmd += "-resize \"#{long_edge
|
33
|
+
cmd += "-resize \"#{long_edge}>\" #{resize_flags} "
|
35
34
|
end
|
36
35
|
cmd += "\"#{output_file}\""
|
37
|
-
Jekyll.logger.debug(
|
36
|
+
Jekyll.logger.debug('Imagemagick:', "Running command \"#{cmd}\"")
|
38
37
|
run_cmd(cmd)
|
39
38
|
end
|
40
39
|
end
|
@@ -6,11 +6,12 @@ module Jekyll
|
|
6
6
|
# A static file to hold the generated webp image after generation
|
7
7
|
# so that Jekyll will copy it into the site output directory
|
8
8
|
class ImageFile < StaticFile
|
9
|
-
def write(
|
9
|
+
def write(_dest)
|
10
10
|
true # Recover from strange exception when starting server without --auto
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
+
# Go through a set of directories and convert files
|
14
15
|
class ImageGenerator < Generator
|
15
16
|
# This generator is safe from arbitrary code execution.
|
16
17
|
safe true
|
@@ -22,14 +23,14 @@ module Jekyll
|
|
22
23
|
def get_files_to_transform(site, directories, input_formats)
|
23
24
|
files = []
|
24
25
|
|
25
|
-
|
26
|
+
directories.each do |directory|
|
26
27
|
directory_full_path = File.join(site.source, directory)
|
27
|
-
Jekyll.logger.info(
|
28
|
+
Jekyll.logger.info('Imagemagick:', "Searching files in #{directory_full_path}")
|
28
29
|
|
29
|
-
|
30
|
+
Dir[directory_full_path + '**/*.*'].each do |file_full_path|
|
30
31
|
# If the file_full_path is not one of the supported formats, exit early
|
31
32
|
extension = File.extname(file_full_path).downcase
|
32
|
-
next
|
33
|
+
next unless input_formats.include? extension
|
33
34
|
|
34
35
|
files.push(file_full_path)
|
35
36
|
end
|
@@ -39,24 +40,25 @@ module Jekyll
|
|
39
40
|
end
|
40
41
|
|
41
42
|
# Returns a list (input, output, edge)
|
42
|
-
def
|
43
|
+
def compute_transformations(site, input_files_full_path, formats, edges)
|
43
44
|
output = []
|
44
45
|
|
45
|
-
if formats.length
|
46
|
-
|
47
|
-
|
46
|
+
if formats.length.zero?
|
47
|
+
Jekyll.logger.error('Imagemagick:', 'No output formats found')
|
48
|
+
return output
|
48
49
|
end
|
49
50
|
|
50
|
-
|
51
|
-
formats.each do |format_extension,
|
52
|
-
|
51
|
+
input_files_full_path.each do |input_file_full_path|
|
52
|
+
formats.each do |format_extension, _flags|
|
53
|
+
edges.each do |edge|
|
53
54
|
extension = File.extname(input_file_full_path)
|
54
|
-
prefix = File.dirname(input_file_full_path.sub(site.source,
|
55
|
-
suffix =
|
56
|
-
if edge
|
57
|
-
suffix =
|
55
|
+
prefix = File.dirname(input_file_full_path.sub(site.source, ''))
|
56
|
+
suffix = ''
|
57
|
+
if edge.zero?
|
58
|
+
suffix = '-' + edge.to_s
|
58
59
|
end
|
59
|
-
filename = File.basename(input_file_full_path, extension) +
|
60
|
+
filename = File.basename(input_file_full_path, extension) +
|
61
|
+
suffix + '.' + format_extension.to_s
|
60
62
|
output_file_full_path = File.join(site.dest + prefix, filename)
|
61
63
|
output.push([input_file_full_path, output_file_full_path, edge])
|
62
64
|
end
|
@@ -66,18 +68,18 @@ module Jekyll
|
|
66
68
|
return output
|
67
69
|
end
|
68
70
|
|
69
|
-
def generate_output_paths(
|
70
|
-
|
71
|
-
|
71
|
+
def generate_output_paths(_site, tuples)
|
72
|
+
tuples.each do |tuple|
|
73
|
+
_input, output, _edge = tuple
|
72
74
|
directory = File.dirname(output)
|
73
|
-
|
75
|
+
FileUtil.mkdir_p(directory)
|
74
76
|
end
|
75
77
|
end
|
76
78
|
|
77
79
|
def generate_files(site, tuples, formats)
|
78
80
|
generated_files = 0
|
79
81
|
|
80
|
-
|
82
|
+
tuples.each do |tuple|
|
81
83
|
input_file_full_path, output_file_full_path, edge = tuple
|
82
84
|
# Check if the file already has a webp alternative?
|
83
85
|
# If we're force rebuilding all webp files then ignore the check
|
@@ -87,15 +89,23 @@ module Jekyll
|
|
87
89
|
(File.mtime(output_file_full_path) <= File.mtime(input_file_full_path))
|
88
90
|
# Generate the file
|
89
91
|
extension = File.extname(output_file_full_path).sub('.', '')
|
90
|
-
ImageConvert.run(input_file_full_path,
|
92
|
+
ImageConvert.run(input_file_full_path,
|
93
|
+
output_file_full_path,
|
94
|
+
formats[extension],
|
95
|
+
edge,
|
96
|
+
@config['resize_flags'])
|
91
97
|
generated_files += 1
|
92
98
|
end
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
+
|
100
|
+
next unless File.file?(output_file_full_path)
|
101
|
+
# Keep the webp file from being cleaned by Jekyll
|
102
|
+
prefix = File.dirname(input_file_full_path.sub(site.source, ''))
|
103
|
+
file_path = site.dest + prefix + '/' + File.basename(output_file_full_path)
|
104
|
+
Jekyll.logger.info('Imagemagick:', "Adding static file #{file_path}")
|
105
|
+
site.static_files << ImageFile.new(site,
|
106
|
+
site.dest,
|
107
|
+
prefix,
|
108
|
+
File.basename(output_file_full_path))
|
99
109
|
end
|
100
110
|
|
101
111
|
return generated_files
|
@@ -107,20 +117,23 @@ module Jekyll
|
|
107
117
|
@config = DEFAULT.merge(site.config['imagemagick'] || {})
|
108
118
|
|
109
119
|
# If disabled then simply quit
|
110
|
-
|
111
|
-
Jekyll.logger.info(
|
120
|
+
unless @config['enabled']
|
121
|
+
Jekyll.logger.info('Imagemagick:', 'Disabled in site.config.')
|
112
122
|
return
|
113
123
|
end
|
114
124
|
|
115
|
-
# If the site destination directory has not yet been created then create it now.
|
116
|
-
|
125
|
+
# If the site destination directory has not yet been created then create it now.
|
126
|
+
# Otherwise, we cannot write our file there.
|
127
|
+
unless File.directory? site.dest
|
128
|
+
Dir.mkdir(site.dest)
|
129
|
+
end
|
117
130
|
|
118
131
|
files = get_files_to_transform(site, @config['input_directories'], @config['input_formats'])
|
119
|
-
tuples =
|
132
|
+
tuples = compute_transformations(site, files, @config['output_formats'], @config['edges'])
|
120
133
|
generate_output_paths(site, tuples)
|
121
134
|
generated_files = generate_files(site, tuples, @config['output_formats'])
|
122
135
|
|
123
|
-
Jekyll.logger.info(
|
136
|
+
Jekyll.logger.info('Imagemagick:', "Generated #{generated_files} file(s)")
|
124
137
|
end
|
125
138
|
end
|
126
139
|
end
|
@@ -1,8 +1,9 @@
|
|
1
1
|
module Jekyll
|
2
2
|
module Imagemagick
|
3
|
-
VERSION =
|
4
|
-
# When modifying remember to issue a new tag command in git
|
5
|
-
#
|
3
|
+
VERSION = '1.3.0'.freeze
|
4
|
+
# When modifying remember to issue a new tag command in git
|
5
|
+
# before committing, then push the new tag.
|
6
|
+
# git tag -a v0.1.0 -m 'Gem v0.1.0'
|
6
7
|
# git push origin --tags
|
7
8
|
end
|
8
9
|
end
|
metadata
CHANGED
@@ -1,93 +1,87 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-imagemagick
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Emilio Del Tessandoro
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-08-
|
11
|
+
date: 2018-08-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '1.15'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '1.15'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: minitest
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '5.11'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '5.11'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '12.3'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '12.3'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: rubocop
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
62
|
-
- - ">="
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
version: 5.4.3
|
61
|
+
version: '0.58'
|
65
62
|
type: :development
|
66
63
|
prerelease: false
|
67
64
|
version_requirements: !ruby/object:Gem::Requirement
|
68
65
|
requirements:
|
69
66
|
- - "~>"
|
70
67
|
- !ruby/object:Gem::Version
|
71
|
-
version: '
|
72
|
-
- - ">="
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: 5.4.3
|
68
|
+
version: '0.58'
|
75
69
|
- !ruby/object:Gem::Dependency
|
76
|
-
name:
|
70
|
+
name: test-unit
|
77
71
|
requirement: !ruby/object:Gem::Requirement
|
78
72
|
requirements:
|
79
73
|
- - "~>"
|
80
74
|
- !ruby/object:Gem::Version
|
81
|
-
version: '2
|
82
|
-
type: :
|
75
|
+
version: '3.2'
|
76
|
+
type: :development
|
83
77
|
prerelease: false
|
84
78
|
version_requirements: !ruby/object:Gem::Requirement
|
85
79
|
requirements:
|
86
80
|
- - "~>"
|
87
81
|
- !ruby/object:Gem::Version
|
88
|
-
version: '2
|
89
|
-
description: Image
|
90
|
-
|
82
|
+
version: '3.2'
|
83
|
+
description: Image generator for Jekyll 3 wesites that automatically convert images
|
84
|
+
from one format to another
|
91
85
|
email:
|
92
86
|
- emilio.deltessa@gmail.com
|
93
87
|
executables: []
|
@@ -125,7 +119,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
125
119
|
version: '0'
|
126
120
|
requirements: []
|
127
121
|
rubyforge_project:
|
128
|
-
rubygems_version: 2.7.
|
122
|
+
rubygems_version: 2.7.6
|
129
123
|
signing_key:
|
130
124
|
specification_version: 4
|
131
125
|
summary: Image generator for Jekyll 3 websites
|