image_optim 0.31.0 → 0.31.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/check.yml +30 -0
- data/CHANGELOG.markdown +4 -0
- data/README.markdown +0 -1
- data/image_optim.gemspec +2 -2
- data/lib/image_optim/runner/option_parser.rb +1 -1
- data/spec/spec_helper.rb +7 -5
- metadata +6 -7
- data/.appveyor.yml +0 -55
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 481b027ab78658543ea138ff4d7547a609dca8b31eea02f8cb003318f10c67eb
|
4
|
+
data.tar.gz: e11f9f69a28e6a3e7a0028579cb36e78b5dd1457943a884f8071d6de17e7031e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 961044af3b8ef65acbdc6bbce6a278e8aefe246a1ea53a6eceea5bb025f02c7adeecf457843fd2244a5bc21fa0f303094a16f4947cda41fc9ac7372dbcce5f46
|
7
|
+
data.tar.gz: ea8dcb08f8fffd1aad10506bdb3ab2bdf0043f30d08b68e2cb0d2195562492d6477619e3bdcf830a9bec9ead04adfe36b195b136fba61a1e7d4f96835c61c854
|
data/.github/workflows/check.yml
CHANGED
@@ -32,6 +32,36 @@ jobs:
|
|
32
32
|
- run: curl -L "https://github.com/shssoichiro/oxipng/releases/download/v4.0.3/oxipng-4.0.3-x86_64-unknown-linux-musl.tar.gz" | tar -xz -C /usr/local/bin --strip-components 1 --wildcards '*oxipng'
|
33
33
|
- run: bundle exec image_optim --info
|
34
34
|
- run: bundle exec rspec
|
35
|
+
windows:
|
36
|
+
runs-on: windows-latest
|
37
|
+
strategy:
|
38
|
+
matrix:
|
39
|
+
ruby:
|
40
|
+
- '2.6'
|
41
|
+
- '2.7'
|
42
|
+
- '3.0'
|
43
|
+
fail-fast: false
|
44
|
+
steps:
|
45
|
+
- uses: actions/checkout@v2
|
46
|
+
- uses: ruby/setup-ruby@v1
|
47
|
+
with:
|
48
|
+
ruby-version: "${{ matrix.ruby }}"
|
49
|
+
bundler-cache: true
|
50
|
+
- uses: actions/cache@v2
|
51
|
+
with:
|
52
|
+
path: "$HOME/bin"
|
53
|
+
key: ${{ runner.os }}
|
54
|
+
- run: |
|
55
|
+
mkdir "$HOME/bin"
|
56
|
+
git fetch origin windows-binaries
|
57
|
+
git --work-tree="$HOME/bin" checkout origin/windows-binaries -- '*.exe'
|
58
|
+
echo "$HOME/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
59
|
+
- run: |
|
60
|
+
choco install --no-progress imagemagick
|
61
|
+
ls C:\'Program Files'\ImageMagick* | % FullName | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
62
|
+
- run: npm install -g svgo
|
63
|
+
- run: bundle exec image_optim --info
|
64
|
+
- run: bundle exec rspec
|
35
65
|
coverage:
|
36
66
|
runs-on: ubuntu-latest
|
37
67
|
env:
|
data/CHANGELOG.markdown
CHANGED
@@ -2,6 +2,10 @@
|
|
2
2
|
|
3
3
|
## unreleased
|
4
4
|
|
5
|
+
## v0.31.1 (2021-10-21)
|
6
|
+
|
7
|
+
* Allow image_size 3 [@toy](https://github.com/toy)
|
8
|
+
|
5
9
|
## v0.31.0 (2021-10-03)
|
6
10
|
|
7
11
|
* Add support for Oxipng [#167](https://github.com/toy/image_optim/issues/167) [#190](https://github.com/toy/image_optim/pull/190) [@oblakeerickson](https://github.com/oblakeerickson)
|
data/README.markdown
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
[![Gem Version](https://img.shields.io/gem/v/image_optim?logo=rubygems)](https://rubygems.org/gems/image_optim)
|
2
2
|
[![Build Status](https://img.shields.io/github/workflow/status/toy/image_optim/check/master?logo=github)](https://github.com/toy/image_optim/actions/workflows/check.yml)
|
3
|
-
[![AppVeyor Status](https://img.shields.io/appveyor/build/toy/image-optim/master?label=windows&logo=appveyor)](https://ci.appveyor.com/project/toy/image-optim)
|
4
3
|
[![Code Climate](https://img.shields.io/codeclimate/maintainability/toy/image_optim?logo=codeclimate)](https://codeclimate.com/github/toy/image_optim)
|
5
4
|
[![Code Climate Coverage](https://img.shields.io/codeclimate/coverage/toy/image_optim?logo=codeclimate)](https://codeclimate.com/github/toy/image_optim)
|
6
5
|
[![Depfu](https://img.shields.io/depfu/toy/image_optim)](https://depfu.com/github/toy/image_optim)
|
data/image_optim.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = 'image_optim'
|
5
|
-
s.version = '0.31.
|
5
|
+
s.version = '0.31.1'
|
6
6
|
s.summary = %q{Command line tool and ruby interface to optimize (lossless compress, optionally lossy) jpeg, png, gif and svg images using external utilities (advpng, gifsicle, jhead, jpeg-recompress, jpegoptim, jpegrescan, jpegtran, optipng, oxipng, pngcrush, pngout, pngquant, svgo)}
|
7
7
|
s.homepage = "https://github.com/toy/#{s.name}"
|
8
8
|
s.authors = ['Ivan Kuchin']
|
@@ -28,7 +28,7 @@ You can safely remove `config.assets.image_optim = false` if you are not going t
|
|
28
28
|
EOF
|
29
29
|
|
30
30
|
s.add_dependency 'fspath', '~> 3.0'
|
31
|
-
s.add_dependency 'image_size', '>= 1.5', '<
|
31
|
+
s.add_dependency 'image_size', '>= 1.5', '< 4'
|
32
32
|
s.add_dependency 'exifr', '~> 1.2', '>= 1.2.2'
|
33
33
|
s.add_dependency 'progress', '~> 3.0', '>= 3.0.1'
|
34
34
|
s.add_dependency 'in_threads', '~> 1.3'
|
@@ -84,7 +84,7 @@ ImageOptim::Runner::OptionParser::DEFINE = proc do |op, options|
|
|
84
84
|
ImageOptim::TrueFalseNil.add_to_option_parser(op)
|
85
85
|
ImageOptim::NonNegativeIntegerRange.add_to_option_parser(op)
|
86
86
|
|
87
|
-
op.banner = <<-TEXT.gsub(/^\s*\|/, '')
|
87
|
+
op.banner = <<-TEXT.gsub(/^\s*\|/, '')
|
88
88
|
|#{ImageOptim.full_version}
|
89
89
|
|
|
90
90
|
|Usage:
|
data/spec/spec_helper.rb
CHANGED
@@ -23,16 +23,18 @@ RSpec.configure do |c|
|
|
23
23
|
c.order = :random
|
24
24
|
end
|
25
25
|
|
26
|
+
IMAGEMAGICK_PREFIX = ImageOptim::Cmd.capture('which magick').empty? ? [] : %w[magick]
|
27
|
+
|
26
28
|
def flatten_animation(image)
|
27
29
|
if image.image_format == :gif
|
28
30
|
flattened = image.temp_path
|
29
|
-
command = %W[
|
31
|
+
command = (IMAGEMAGICK_PREFIX + %W[
|
30
32
|
convert
|
31
33
|
#{image}
|
32
34
|
-coalesce
|
33
35
|
-append
|
34
36
|
#{flattened}
|
35
|
-
].shelljoin
|
37
|
+
]).shelljoin
|
36
38
|
expect(ImageOptim::Cmd.run(command)).to be_truthy
|
37
39
|
flattened
|
38
40
|
else
|
@@ -43,7 +45,7 @@ end
|
|
43
45
|
def mepp(image_a, image_b)
|
44
46
|
coalesce_a = flatten_animation(image_a)
|
45
47
|
coalesce_b = flatten_animation(image_b)
|
46
|
-
output = ImageOptim::Cmd.capture(%W[
|
48
|
+
output = ImageOptim::Cmd.capture((IMAGEMAGICK_PREFIX + %W[
|
47
49
|
compare
|
48
50
|
-metric MEPP
|
49
51
|
-alpha Background
|
@@ -51,7 +53,7 @@ def mepp(image_a, image_b)
|
|
51
53
|
#{coalesce_b.to_s.shellescape}
|
52
54
|
#{ImageOptim::Path::NULL}
|
53
55
|
2>&1
|
54
|
-
].join(' '))
|
56
|
+
]).join(' '))
|
55
57
|
unless [0, 1].include?($CHILD_STATUS.exitstatus)
|
56
58
|
fail "compare #{image_a} with #{image_b} failed with `#{output}`"
|
57
59
|
end
|
@@ -71,7 +73,7 @@ RSpec::Matchers.define :be_similar_to do |expected, max_difference|
|
|
71
73
|
end
|
72
74
|
failure_message do |actual|
|
73
75
|
"expected #{actual} to have at most #{max_difference} difference from "\
|
74
|
-
"#{expected}, got
|
76
|
+
"#{expected}, got mean error per pixel of #{@diff}"
|
75
77
|
end
|
76
78
|
end
|
77
79
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: image_optim
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.31.
|
4
|
+
version: 0.31.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Kuchin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-10-
|
11
|
+
date: 2021-10-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fspath
|
@@ -33,7 +33,7 @@ dependencies:
|
|
33
33
|
version: '1.5'
|
34
34
|
- - "<"
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version: '
|
36
|
+
version: '4'
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '1.5'
|
44
44
|
- - "<"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
46
|
+
version: '4'
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: exifr
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -167,7 +167,6 @@ executables:
|
|
167
167
|
extensions: []
|
168
168
|
extra_rdoc_files: []
|
169
169
|
files:
|
170
|
-
- ".appveyor.yml"
|
171
170
|
- ".github/workflows/check.yml"
|
172
171
|
- ".gitignore"
|
173
172
|
- ".pre-commit-hooks.yaml"
|
@@ -286,7 +285,7 @@ licenses:
|
|
286
285
|
metadata:
|
287
286
|
bug_tracker_uri: https://github.com/toy/image_optim/issues
|
288
287
|
changelog_uri: https://github.com/toy/image_optim/blob/master/CHANGELOG.markdown
|
289
|
-
documentation_uri: https://www.rubydoc.info/gems/image_optim/0.31.
|
288
|
+
documentation_uri: https://www.rubydoc.info/gems/image_optim/0.31.1
|
290
289
|
source_code_uri: https://github.com/toy/image_optim
|
291
290
|
post_install_message: |
|
292
291
|
Rails image assets optimization is extracted into image_optim_rails gem
|
@@ -305,7 +304,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
305
304
|
- !ruby/object:Gem::Version
|
306
305
|
version: '0'
|
307
306
|
requirements: []
|
308
|
-
rubygems_version: 3.2.
|
307
|
+
rubygems_version: 3.2.29
|
309
308
|
signing_key:
|
310
309
|
specification_version: 4
|
311
310
|
summary: Command line tool and ruby interface to optimize (lossless compress, optionally
|
data/.appveyor.yml
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
version: '{build}-{branch}'
|
2
|
-
install:
|
3
|
-
- mkdir tmp\bin || exit 0
|
4
|
-
- set PATH=C:\Ruby25-x64\bin;%cd%\tmp\bin;%PATH%
|
5
|
-
- ruby --version
|
6
|
-
- gem --version
|
7
|
-
- bundle package --all
|
8
|
-
|
9
|
-
- ps: Install-Product node
|
10
|
-
|
11
|
-
- ps: git --work-tree=tmp\bin checkout origin/windows-binaries -- '*.exe'
|
12
|
-
|
13
|
-
- ps: | # svgo
|
14
|
-
npm install -g svgo
|
15
|
-
|
16
|
-
- ps: | # ImageMagick
|
17
|
-
if ((-not (test-path tmp/bin/convert.exe)) -or (-not (test-path tmp/bin/compare.exe)) -or (-not (test-path tmp/bin/magic.xml))) {
|
18
|
-
choco install -y imagemagick.tool
|
19
|
-
cp C:\ProgramData\chocolatey\lib\imagemagick.tool\tools\convert.exe tmp\bin
|
20
|
-
cp C:\ProgramData\chocolatey\lib\imagemagick.tool\tools\compare.exe tmp\bin
|
21
|
-
cp C:\ProgramData\chocolatey\lib\imagemagick.tool\tools\magic.xml tmp\bin
|
22
|
-
}
|
23
|
-
|
24
|
-
- bundle exec image_optim --info --allow-lossy --no-pack
|
25
|
-
cache:
|
26
|
-
- tmp/bin
|
27
|
-
build: off
|
28
|
-
test_script:
|
29
|
-
- ps: |
|
30
|
-
$path = $env:Path
|
31
|
-
$rubypaths = ls -Path C:\Ruby*\bin
|
32
|
-
foreach ($rubypath in $rubypaths) {
|
33
|
-
$env:Path = "$rubypath;" + $path
|
34
|
-
ruby -e "abort unless RUBY_VERSION > '2.3'"
|
35
|
-
if ($LASTEXITCODE -gt 0) {
|
36
|
-
continue
|
37
|
-
}
|
38
|
-
|
39
|
-
echo "################################ $rubypath ################################"
|
40
|
-
ruby --version
|
41
|
-
gem --version
|
42
|
-
bundle package --all
|
43
|
-
bundle install --local -j4
|
44
|
-
bundle exec rspec
|
45
|
-
if ($LASTEXITCODE -gt 0) {
|
46
|
-
exit 1
|
47
|
-
}
|
48
|
-
rm tmp/optimize_test -recurse -force
|
49
|
-
cp spec/images tmp/optimize_test -recurse -force
|
50
|
-
bundle exec image_optim --allow-lossy -r tmp/optimize_test
|
51
|
-
if ($LASTEXITCODE -gt 0) {
|
52
|
-
exit 1
|
53
|
-
}
|
54
|
-
}
|
55
|
-
$env:Path = $path
|