camaleon_image_optimizer 0.3.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2e60040d7a6d80e6c40da8401f4df1d5c28f6b7c1509bbec1fcd4c037353e909
4
- data.tar.gz: 91d60e7de6e09305f4dfb05a8a4b51014d284cbbb2ab0214819211c964338926
3
+ metadata.gz: ea86f69f0f3ed35a2200b76b67fc4138f8e5970d932ea52cc870a9c45d71a8b0
4
+ data.tar.gz: 33af3d85ac320d0c92208f64e069cf7b28a47e872de05847e21ce7d4ed0b4628
5
5
  SHA512:
6
- metadata.gz: e9d717a08310badad8ef8956a3af0722f14feb3cc7e9f19d134202341caf148e97cca4656ad240db59cc526c5d3a68a324f030a6b2224f73d3c4d3a916e7a0e5
7
- data.tar.gz: d74f2e68ed11bef999b721438aaa5fab5416e10cc2292be7719229a5e3fbf452f92880a405d0bcb93dc21a07d4d71761c16e5b88f5deb972b123d4c5bf1c33d3
6
+ metadata.gz: ee5d5987c3290a815ecffcd1c5028a9cda2666a0064ce81ee9f6378da1e73d4756e96915a5825d0e7fbe895ffd8608acb4cfe3f18dc7b38623cca9eeb09f8d6a
7
+ data.tar.gz: 985fcee951cc6c1545aca3e6bb33bcb34f650a32860090b051280a0cfb7af6a16cd272ff8d91cf795d5d672a0cbdc6647ee318f220632ae75da9e416267930d7
data/README.md CHANGED
@@ -1,3 +1,10 @@
1
+ ![](https://img.shields.io/badge/ruby-2.5%2B-red.svg)
2
+ ![Gem Version](https://img.shields.io/gem/v/camaleon_image_optimizer.svg?colorB=blue)
3
+ [![Ruby Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://github.com/testdouble/standard)
4
+ [![Build Status](https://travis-ci.org/brian-kephart/camaleon_image_optimizer.svg?branch=master)](https://travis-ci.org/brian-kephart/camaleon_image_optimizer)
5
+
6
+
7
+
1
8
  # Camaleon Image Optimizer
2
9
  This is a convenient image optimizer plugin for Camaleon CMS. Compressing images improves load times and thus SEO. It uses the [image_optim gem](https://github.com/toy/image_optim) under the hood. This gem contains multiple utilities for compressing GIF, JPEG, PNG, and SVG files. My experience has been that GIFs JPEGs are easily crushable with these tools, but using multiple PNG compressors is extremely slow. Thus, only one of the PNG compressors is enabled here.
3
10
 
@@ -25,8 +32,24 @@ If you need support for compressing SVG files, install [SVGO](https://github.com
25
32
  $ npm install -g svgo
26
33
  ```
27
34
 
35
+ If you instead install SVGO locally:
36
+ ```bash
37
+ $ npm install svgo
38
+ ```
39
+ or:
40
+ ```bash
41
+ $ yarn add svgo
42
+ ```
43
+ ...then you must add this variable to your Production environment:
44
+ ```
45
+ SVGO_BIN='node_modules/svgo/bin/svgo'
46
+ ```
47
+
28
48
  ## Usage
29
49
  Just activate the plugin in Camaleon's admin panel.
30
50
 
51
+ ## Contributing
52
+ See CONTRIBUTING.md
53
+
31
54
  ## License
32
55
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/Rakefile CHANGED
@@ -1,31 +1,33 @@
1
+ # frozen_string_literal: true
2
+
1
3
  begin
2
- require 'bundler/setup'
4
+ require "bundler/setup"
3
5
  rescue LoadError
4
- puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
6
+ puts "You must `gem install bundler` and `bundle install` to run rake tasks"
5
7
  end
6
8
 
7
- require 'rdoc/task'
9
+ require "rdoc/task"
8
10
 
9
11
  RDoc::Task.new(:rdoc) do |rdoc|
10
- rdoc.rdoc_dir = 'rdoc'
11
- rdoc.title = 'CamaleonImageOptimizer'
12
- rdoc.options << '--line-numbers'
13
- rdoc.rdoc_files.include('README.md')
14
- rdoc.rdoc_files.include('lib/**/*.rb')
12
+ rdoc.rdoc_dir = "rdoc"
13
+ rdoc.title = "CamaleonImageOptimizer"
14
+ rdoc.options << "--line-numbers"
15
+ rdoc.rdoc_files.include("README.md")
16
+ rdoc.rdoc_files.include("lib/**/*.rb")
15
17
  end
16
18
 
17
19
  APP_RAKEFILE = File.expand_path("test/dummy/Rakefile", __dir__)
18
- load 'rails/tasks/engine.rake'
20
+ load "rails/tasks/engine.rake"
19
21
 
20
- load 'rails/tasks/statistics.rake'
22
+ load "rails/tasks/statistics.rake"
21
23
 
22
- require 'bundler/gem_tasks'
24
+ require "bundler/gem_tasks"
23
25
 
24
- require 'rake/testtask'
26
+ require "rake/testtask"
25
27
 
26
28
  Rake::TestTask.new(:test) do |t|
27
- t.libs << 'test'
28
- t.pattern = 'test/**/*_test.rb'
29
+ t.libs << "test"
30
+ t.pattern = "test/**/*_test.rb"
29
31
  t.verbose = false
30
32
  end
31
33
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Plugins::CamaleonImageOptimizer::AdminController < CamaleonCms::Apps::PluginsAdminController
2
4
  include Plugins::CamaleonImageOptimizer::MainHelper
3
5
  def index
@@ -12,6 +14,6 @@ class Plugins::CamaleonImageOptimizer::AdminController < CamaleonCms::Apps::Plug
12
14
  @plugin.set_options(params[:options]) if params[:options].present? # save option values
13
15
  @plugin.set_metas(params[:metas]) if params[:metas].present? # save meta values
14
16
  @plugin.set_field_values(params[:field_options]) if params[:field_options].present? # save custom field values
15
- redirect_to url_for(action: :settings), notice: 'Settings Saved Successfully'
17
+ redirect_to url_for(action: :settings), notice: "Settings Saved Successfully"
16
18
  end
17
19
  end
@@ -1,8 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This modules public methods are called via hooks defined in config/camaleon_plugin.json
1
4
  module Plugins::CamaleonImageOptimizer::MainHelper
2
- require 'image_optim'
5
+ require "image_optim"
3
6
 
4
7
  def self.included(klass)
5
- # klass.helper_method [:my_helper_method] rescue "" # here your methods accessible from views
8
+ # klass.helper_method [:my_helper_method] rescue "" # methods accessible from views
6
9
  end
7
10
 
8
11
  def camaleon_image_optimizer_on_active(plugin)
@@ -17,7 +20,7 @@ module Plugins::CamaleonImageOptimizer::MainHelper
17
20
  end
18
21
 
19
22
  def camaleon_image_optimizer_on_plugin_options(args)
20
- args[:links] << link_to('Settings', admin_plugins_camaleon_image_optimizer_settings_path)
23
+ args[:links] << link_to("Settings", admin_plugins_camaleon_image_optimizer_settings_path)
21
24
  end
22
25
 
23
26
  def cama_optimize_image(settings)
@@ -26,28 +29,27 @@ module Plugins::CamaleonImageOptimizer::MainHelper
26
29
  settings[:uploaded_io] = File.open settings[:uploaded_io].path
27
30
  end
28
31
 
29
- private
32
+ private
30
33
 
31
34
  def camaleon_image_optimizer_options(plugin)
32
- plugin.set_option('quality', camaleon_image_optimizer_default_settings['jpegoptim']['max_quality']) unless plugin.get_option('quality').present?
35
+ plugin.set_option("quality", camaleon_image_optimizer_default_settings["jpegoptim"]["max_quality"]) unless plugin.get_option("quality").present?
33
36
  end
34
37
 
35
38
  def camaleon_image_optimizer_settings
36
39
  @camaleon_image_optimizer_settings ||= camaleon_image_optimizer_default_settings.tap do |cios|
37
- unless current_plugin.get_option('quality').blank?
38
- cios['jpegoptim']['max_quality'] = current_plugin.get_option 'quality'
39
- cios['pngquant']['quality'] = (0..current_plugin.get_option('quality'))
40
+ unless current_plugin.get_option("quality").blank?
41
+ cios["jpegoptim"]["max_quality"] = current_plugin.get_option "quality"
42
+ cios["pngquant"]["quality"] = (0..current_plugin.get_option("quality"))
40
43
  end
41
44
  end
42
45
  end
43
46
 
47
+ # default settings in config/image_optim.yml
44
48
  def camaleon_image_optimizer_default_settings
45
49
  @camaleon_image_optimizer_default_settings ||= begin
46
- # default settings in config/image_optim.yml
47
- spec = Gem::Specification.find_by_name 'camaleon_image_optimizer'
50
+ spec = Gem::Specification.find_by_name "camaleon_image_optimizer"
48
51
  gem_root = Pathname.new spec.gem_dir
49
- YAML.load_file gem_root.join('config', 'image_optim.yml')
52
+ YAML.safe_load File.open(gem_root.join("config", "image_optim.yml")), [Range]
50
53
  end
51
54
  end
52
-
53
55
  end
@@ -8,6 +8,7 @@
8
8
  "hooks": {
9
9
  "on_active": ["camaleon_image_optimizer_on_active"],
10
10
  "on_inactive": ["camaleon_image_optimizer_on_inactive"],
11
+ "on_upgrade": ["camaleon_image_optimizer_on_upgrade"],
11
12
  "plugin_options": ["camaleon_image_optimizer_on_plugin_options"],
12
13
  "before_upload": ["cama_optimize_image"]
13
14
  }
data/config/routes.rb CHANGED
@@ -1,17 +1,21 @@
1
- Rails.application.routes.draw do
1
+ # frozen_string_literal: true
2
+
3
+ require "plugin_routes"
4
+ require "camaleon_cms/engine"
2
5
 
3
- scope PluginRoutes.system_info["relative_url_root"] do
4
- #Admin Panel
5
- scope :admin, as: 'admin', path: PluginRoutes.system_info['admin_path_name'] do
6
- namespace 'plugins' do
7
- namespace 'camaleon_image_optimizer' do
8
- controller :admin do
9
- get :index
10
- get :settings
11
- post :save_settings
12
- end
6
+ Rails.application.routes.draw do
7
+ scope PluginRoutes.system_info["relative_url_root"] do
8
+ # Admin Panel
9
+ scope :admin, as: "admin", path: PluginRoutes.system_info["admin_path_name"] do
10
+ namespace "plugins" do
11
+ namespace "camaleon_image_optimizer" do
12
+ controller :admin do
13
+ get :index
14
+ get :settings
15
+ post :save_settings
13
16
  end
14
17
  end
15
18
  end
16
19
  end
17
20
  end
21
+ end
@@ -1,5 +1,6 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "camaleon_image_optimizer/engine"
2
4
 
3
5
  module CamaleonImageOptimizer
4
- # Your code goes here...
5
6
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module CamaleonImageOptimizer
2
4
  class Engine < ::Rails::Engine
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module CamaleonImageOptimizer
2
- VERSION = '0.3.0'
4
+ VERSION = "1.0.1"
3
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: camaleon_image_optimizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Kephart
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-26 00:00:00.000000000 Z
11
+ date: 2021-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: camaleon_cms
@@ -56,16 +56,16 @@ dependencies:
56
56
  name: sqlite3
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '1.4'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '1.4'
69
69
  description: Compress uploaded images for faster page loads and better SEO.
70
70
  email:
71
71
  - briantkephart@gmail.com
@@ -86,11 +86,14 @@ files:
86
86
  - lib/camaleon_image_optimizer.rb
87
87
  - lib/camaleon_image_optimizer/engine.rb
88
88
  - lib/camaleon_image_optimizer/version.rb
89
- homepage: ''
89
+ homepage: https://www.github.com/brian-kephart/camaleon_image_optimizer
90
90
  licenses:
91
91
  - MIT
92
- metadata: {}
93
- post_install_message:
92
+ metadata:
93
+ homepage_uri: https://www.github.com/brian-kephart/camaleon_image_optimizer
94
+ changelog_uri: https://www.github.com/brian-kephart/camaleon_image_optimizer/blob/master/CHANGELOG.md
95
+ source_code_uri: https://www.github.com/brian-kephart/camaleon_image_optimizer
96
+ post_install_message:
94
97
  rdoc_options: []
95
98
  require_paths:
96
99
  - lib
@@ -98,16 +101,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
98
101
  requirements:
99
102
  - - ">="
100
103
  - !ruby/object:Gem::Version
101
- version: '0'
104
+ version: '2.5'
102
105
  required_rubygems_version: !ruby/object:Gem::Requirement
103
106
  requirements:
104
107
  - - ">="
105
108
  - !ruby/object:Gem::Version
106
109
  version: '0'
107
110
  requirements: []
108
- rubyforge_project:
109
- rubygems_version: 2.7.5
110
- signing_key:
111
+ rubygems_version: 3.2.3
112
+ signing_key:
111
113
  specification_version: 4
112
114
  summary: Compress uploaded images for faster page loads and better SEO.
113
115
  test_files: []