camaleon_image_optimizer 0.1.0 → 0.2.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/README.md +1 -1
- data/app/controllers/plugins/camaleon_image_optimizer/admin_controller.rb +0 -1
- data/app/helpers/plugins/camaleon_image_optimizer/main_helper.rb +24 -15
- data/app/views/plugins/camaleon_image_optimizer/admin/settings.html.erb +16 -20
- data/config/camaleon_plugin.json +1 -1
- data/config/locales/en.yml +6 -0
- data/config/routes.rb +0 -14
- data/lib/camaleon_image_optimizer/version.rb +1 -1
- metadata +8 -29
- data/app/assets/config/camaleon_image_optimizer_manifest.js +0 -0
- data/app/controllers/plugins/camaleon_image_optimizer/front_controller.rb +0 -8
- data/app/models/plugins/camaleon_image_optimizer/camaleon_image_optimizer.rb +0 -6
- data/app/views/plugins/camaleon_image_optimizer/admin/index.html.erb +0 -9
- data/app/views/plugins/camaleon_image_optimizer/front/index.html.erb +0 -2
- data/app/views/plugins/camaleon_image_optimizer/layouts/readme.txt +0 -2
- data/config/initializers/custom_models.rb +0 -5
- data/lib/tasks/camaleon_image_optimizer_tasks.rake +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 558b329de97ae0c60960f04bfaa2a00985aeaa517e4658318615885934c23197
|
4
|
+
data.tar.gz: b2133d331c8c4a7529bca995111985106bf8675381626cdbe6fd85036e4f4d0b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6bf54d5f1ba4e21c8abe0578fe72e5fb27cc49a48ed5b5b49b8a533e6823c681689945cf1d1821173fb3152c48a7cf265b662df05393439775744090d7c698ed
|
7
|
+
data.tar.gz: 3d14156b6f0e1646f46da31a752a667cfe32e9b344eb7012c571391544a99e9797374e1fc53a9dbaec995acce3f48e9a10d1a649bd434652d2e22713cdd3f725
|
data/README.md
CHANGED
@@ -5,7 +5,7 @@ This is a convenient image optimizer plugin for Camaleon CMS. Compressing images
|
|
5
5
|
Add this line to your application's Gemfile:
|
6
6
|
|
7
7
|
```ruby
|
8
|
-
gem 'camaleon_image_optimizer'
|
8
|
+
gem 'camaleon_image_optimizer'
|
9
9
|
```
|
10
10
|
|
11
11
|
And then execute:
|
@@ -14,5 +14,4 @@ class Plugins::CamaleonImageOptimizer::AdminController < CamaleonCms::Apps::Plug
|
|
14
14
|
@plugin.set_field_values(params[:field_options]) if params[:field_options].present? # save custom field values
|
15
15
|
redirect_to url_for(action: :settings), notice: 'Settings Saved Successfully'
|
16
16
|
end
|
17
|
-
# add custom methods below ....
|
18
17
|
end
|
@@ -5,37 +5,46 @@ module Plugins::CamaleonImageOptimizer::MainHelper
|
|
5
5
|
# klass.helper_method [:my_helper_method] rescue "" # here your methods accessible from views
|
6
6
|
end
|
7
7
|
|
8
|
-
# here all actions on going to active
|
9
|
-
# you can run sql commands like this:
|
10
|
-
# results = ActiveRecord::Base.connection.execute(query);
|
11
|
-
# plugin: plugin model
|
12
8
|
def camaleon_image_optimizer_on_active(plugin)
|
9
|
+
camaleon_image_optimizer_options plugin
|
13
10
|
end
|
14
11
|
|
15
|
-
# here all actions on going to inactive
|
16
|
-
# plugin: plugin model
|
17
12
|
def camaleon_image_optimizer_on_inactive(plugin)
|
18
13
|
end
|
19
14
|
|
20
|
-
# here all actions to upgrade for a new version
|
21
|
-
# plugin: plugin model
|
22
15
|
def camaleon_image_optimizer_on_upgrade(plugin)
|
16
|
+
camaleon_image_optimizer_options plugin
|
23
17
|
end
|
24
18
|
|
25
|
-
# hook listener to add settings link below the title of current plugin (if it is installed)
|
26
|
-
# args: {plugin (Hash), links (Array)}
|
27
|
-
# permit to add unlimmited of links...
|
28
19
|
def camaleon_image_optimizer_on_plugin_options(args)
|
29
20
|
args[:links] << link_to('Settings', admin_plugins_camaleon_image_optimizer_settings_path)
|
30
21
|
end
|
31
22
|
|
32
23
|
def cama_optimize_image(settings)
|
33
|
-
|
34
|
-
spec = Gem::Specification.find_by_name("camaleon_image_optimizer")
|
35
|
-
gem_root = Pathname.new spec.gem_dir
|
36
|
-
image_optim = ImageOptim.new YAML.load_file(gem_root.join('config', 'image_optim.yml'))
|
24
|
+
image_optim = ImageOptim.new camaleon_image_optimizer_settings
|
37
25
|
image_optim.optimize_image! settings[:uploaded_io].path
|
38
26
|
settings[:uploaded_io] = File.open settings[:uploaded_io].path
|
39
27
|
end
|
40
28
|
|
29
|
+
private
|
30
|
+
|
31
|
+
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?
|
33
|
+
end
|
34
|
+
|
35
|
+
def camaleon_image_optimizer_settings
|
36
|
+
@camaleon_image_optimizer_settings ||= camaleon_image_optimizer_default_settings.tap do |cios|
|
37
|
+
cios['jpegoptim']['max_quality'] = current_plugin.get_option('quality') unless current_plugin.get_option('quality').blank?
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def camaleon_image_optimizer_default_settings
|
42
|
+
@camaleon_image_optimizer_default_settings ||= begin
|
43
|
+
# default settings in config/image_optim.yml
|
44
|
+
spec = Gem::Specification.find_by_name 'camaleon_image_optimizer'
|
45
|
+
gem_root = Pathname.new spec.gem_dir
|
46
|
+
YAML.load_file gem_root.join('config', 'image_optim.yml')
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
41
50
|
end
|
@@ -1,21 +1,17 @@
|
|
1
1
|
<div class="panel panel-default">
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
</div>
|
19
|
-
<% end %>
|
20
|
-
</div>
|
21
|
-
</div>
|
2
|
+
<div class="panel-heading">
|
3
|
+
<h4><%= cama_t 'image_optimizer_settings' %></h4>
|
4
|
+
</div>
|
5
|
+
<div class="panel-body">
|
6
|
+
<%= form_tag(url_for(action: :save_settings), class: 'validate') do %>
|
7
|
+
<div class="form-group">
|
8
|
+
<label><%= cama_t 'max_quality' %>: 1 (<%= cama_t 'most_compressed' %>) – 100 (<%= cama_t 'highest_quality' %>), <%= cama_t 'default_is' %> 70.</label>
|
9
|
+
<%= number_field_tag 'options[quality]', @plugin.get_option('quality'), class: 'form-control required', min: 1, max: 100, step: 1, value: @plugin.get_option('quality') %>
|
10
|
+
</div>
|
11
|
+
<%= render partial: "camaleon_cms/admin/settings/custom_fields/render", locals: { record: @plugin, field_groups: @plugin.get_field_groups } %>
|
12
|
+
<div class="form-group text-right">
|
13
|
+
<%= submit_tag 'Save Settings', class: 'btn btn-primary' %>
|
14
|
+
</div>
|
15
|
+
<% end %>
|
16
|
+
</div>
|
17
|
+
</div>
|
data/config/camaleon_plugin.json
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
"hooks": {
|
9
9
|
"on_active": ["camaleon_image_optimizer_on_active"],
|
10
10
|
"on_inactive": ["camaleon_image_optimizer_on_inactive"],
|
11
|
-
|
11
|
+
"plugin_options": ["camaleon_image_optimizer_on_plugin_options"],
|
12
12
|
"before_upload": ["cama_optimize_image"]
|
13
13
|
}
|
14
14
|
}
|
data/config/routes.rb
CHANGED
@@ -1,15 +1,6 @@
|
|
1
1
|
Rails.application.routes.draw do
|
2
2
|
|
3
3
|
scope PluginRoutes.system_info["relative_url_root"] do
|
4
|
-
scope '(:locale)', locale: /#{PluginRoutes.all_locales}/, :defaults => { } do
|
5
|
-
# frontend
|
6
|
-
namespace :plugins do
|
7
|
-
namespace 'camaleon_image_optimizer' do
|
8
|
-
get 'index' => 'front#index'
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
4
|
#Admin Panel
|
14
5
|
scope :admin, as: 'admin', path: PluginRoutes.system_info['admin_path_name'] do
|
15
6
|
namespace 'plugins' do
|
@@ -22,10 +13,5 @@ Rails.application.routes.draw do
|
|
22
13
|
end
|
23
14
|
end
|
24
15
|
end
|
25
|
-
|
26
|
-
# main routes
|
27
|
-
#scope 'camaleon_image_optimizer', module: 'plugins/camaleon_image_optimizer/', as: 'camaleon_image_optimizer' do
|
28
|
-
# Here my routes for main routes
|
29
|
-
#end
|
30
16
|
end
|
31
17
|
end
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: camaleon_image_optimizer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Kephart
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03-
|
11
|
+
date: 2018-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: rails
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '4.2'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '4.2'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: camaleon_cms
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -39,33 +25,33 @@ dependencies:
|
|
39
25
|
- !ruby/object:Gem::Version
|
40
26
|
version: '2.0'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
28
|
+
name: image_optim
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
44
30
|
requirements:
|
45
31
|
- - "~>"
|
46
32
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
33
|
+
version: '0.26'
|
48
34
|
type: :runtime
|
49
35
|
prerelease: false
|
50
36
|
version_requirements: !ruby/object:Gem::Requirement
|
51
37
|
requirements:
|
52
38
|
- - "~>"
|
53
39
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.
|
40
|
+
version: '0.26'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: image_optim_pack
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
58
44
|
requirements:
|
59
45
|
- - "~>"
|
60
46
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.5
|
47
|
+
version: '0.5'
|
62
48
|
type: :runtime
|
63
49
|
prerelease: false
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
65
51
|
requirements:
|
66
52
|
- - "~>"
|
67
53
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.5
|
54
|
+
version: '0.5'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: sqlite3
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -90,23 +76,16 @@ files:
|
|
90
76
|
- MIT-LICENSE
|
91
77
|
- README.md
|
92
78
|
- Rakefile
|
93
|
-
- app/assets/config/camaleon_image_optimizer_manifest.js
|
94
79
|
- app/controllers/plugins/camaleon_image_optimizer/admin_controller.rb
|
95
|
-
- app/controllers/plugins/camaleon_image_optimizer/front_controller.rb
|
96
80
|
- app/helpers/plugins/camaleon_image_optimizer/main_helper.rb
|
97
|
-
- app/models/plugins/camaleon_image_optimizer/camaleon_image_optimizer.rb
|
98
|
-
- app/views/plugins/camaleon_image_optimizer/admin/index.html.erb
|
99
81
|
- app/views/plugins/camaleon_image_optimizer/admin/settings.html.erb
|
100
|
-
- app/views/plugins/camaleon_image_optimizer/front/index.html.erb
|
101
|
-
- app/views/plugins/camaleon_image_optimizer/layouts/readme.txt
|
102
82
|
- config/camaleon_plugin.json
|
103
83
|
- config/image_optim.yml
|
104
|
-
- config/
|
84
|
+
- config/locales/en.yml
|
105
85
|
- config/routes.rb
|
106
86
|
- lib/camaleon_image_optimizer.rb
|
107
87
|
- lib/camaleon_image_optimizer/engine.rb
|
108
88
|
- lib/camaleon_image_optimizer/version.rb
|
109
|
-
- lib/tasks/camaleon_image_optimizer_tasks.rake
|
110
89
|
homepage: ''
|
111
90
|
licenses:
|
112
91
|
- MIT
|
File without changes
|
@@ -1,6 +0,0 @@
|
|
1
|
-
# class Plugins::CamaleonImageOptimizer::CamaleonImageOptimizer < ActiveRecord::Base
|
2
|
-
# belongs_to :site, class_name: "CamleonCms::Site"
|
3
|
-
|
4
|
-
# here create your models normally
|
5
|
-
# notice: your tables in database will be plugins_camaleon_image_optimizer in plural (check rails documentation)
|
6
|
-
# end
|