alchemy_cms 3.5.0 → 3.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +82 -26
- data/.travis.yml +1 -1
- data/CHANGELOG.md +23 -1
- data/README.md +14 -5
- data/Rakefile +0 -1
- data/alchemy_cms.gemspec +2 -5
- data/app/assets/images/alchemy/alchemy-logo.png +0 -0
- data/app/assets/javascripts/alchemy/admin.js +1 -1
- data/app/assets/javascripts/alchemy/alchemy.base.js.coffee +4 -8
- data/app/assets/javascripts/alchemy/alchemy.buttons.js.coffee +2 -2
- data/app/assets/javascripts/alchemy/alchemy.datepicker.js.coffee +18 -27
- data/app/assets/javascripts/alchemy/alchemy.dialog.js.coffee +1 -1
- data/app/assets/javascripts/alchemy/alchemy.element_editors.js.coffee +3 -8
- data/app/assets/javascripts/alchemy/alchemy.elements_window.js.coffee +1 -1
- data/app/assets/javascripts/alchemy/alchemy.gui.js.coffee +0 -1
- data/app/assets/javascripts/alchemy/alchemy.page_sorter.js +22 -46
- data/app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee +1 -1
- data/app/assets/javascripts/alchemy/alchemy.sitemap.js.coffee +2 -2
- data/app/assets/javascripts/alchemy/alchemy.spinner.js +32 -0
- data/app/assets/javascripts/alchemy/alchemy.tinymce.js.coffee +1 -1
- data/app/assets/javascripts/alchemy/templates/index.js +1 -0
- data/app/assets/javascripts/alchemy/templates/spinner.hbs +7 -0
- data/app/assets/stylesheets/alchemy/_extends.scss +1 -0
- data/app/assets/stylesheets/alchemy/admin.scss +1 -0
- data/app/assets/stylesheets/alchemy/base.scss +1 -7
- data/app/assets/stylesheets/alchemy/buttons.scss +1 -5
- data/app/assets/stylesheets/alchemy/dialogs.scss +0 -4
- data/app/assets/stylesheets/alchemy/elements.scss +2 -6
- data/app/assets/stylesheets/alchemy/frame.scss +0 -5
- data/app/assets/stylesheets/alchemy/image_library.scss +0 -13
- data/app/assets/stylesheets/alchemy/sitemap.scss +5 -34
- data/app/assets/stylesheets/alchemy/spinner.scss +52 -0
- data/app/controllers/alchemy/admin/attachments_controller.rb +12 -11
- data/app/controllers/alchemy/admin/base_controller.rb +3 -7
- data/app/controllers/alchemy/admin/essence_pictures_controller.rb +2 -1
- data/app/controllers/alchemy/admin/languages_controller.rb +3 -8
- data/app/controllers/alchemy/admin/pictures_controller.rb +11 -7
- data/app/controllers/alchemy/admin/resources_controller.rb +1 -1
- data/app/controllers/alchemy/attachments_controller.rb +2 -0
- data/app/controllers/alchemy/base_controller.rb +4 -5
- data/app/controllers/concerns/alchemy/admin/uploader_responses.rb +1 -1
- data/app/helpers/alchemy/admin/base_helper.rb +17 -8
- data/app/helpers/alchemy/admin/tags_helper.rb +31 -18
- data/app/helpers/alchemy/base_helper.rb +1 -1
- data/app/helpers/alchemy/pages_helper.rb +4 -7
- data/app/models/alchemy/attachment.rb +4 -0
- data/app/models/alchemy/cell.rb +1 -1
- data/app/models/alchemy/element.rb +6 -12
- data/app/models/alchemy/element/definitions.rb +2 -2
- data/app/models/alchemy/element/element_contents.rb +1 -1
- data/app/models/alchemy/essence_picture_view.rb +14 -2
- data/app/models/alchemy/language.rb +4 -4
- data/app/models/alchemy/page.rb +25 -28
- data/app/models/alchemy/page/page_elements.rb +1 -1
- data/app/models/alchemy/page/page_natures.rb +1 -1
- data/app/models/alchemy/picture.rb +5 -1
- data/app/models/alchemy/site.rb +27 -12
- data/app/views/alchemy/admin/attachments/_tag_list.html.erb +14 -13
- data/app/views/alchemy/admin/dashboard/info.html.erb +1 -1
- data/app/views/alchemy/admin/layoutpages/edit.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_create_language_form.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_form.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_new_page_form.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_page.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_sitemap.html.erb +2 -2
- data/app/views/alchemy/admin/pages/configure_external.html.erb +1 -1
- data/app/views/alchemy/admin/pages/index.html.erb +5 -7
- data/app/views/alchemy/admin/pages/sort.html.erb +19 -0
- data/app/views/alchemy/admin/pages/update.js.erb +1 -1
- data/app/views/alchemy/admin/pictures/_archive.html.erb +19 -19
- data/app/views/alchemy/admin/pictures/_tag_list.html.erb +3 -4
- data/app/views/alchemy/admin/resources/_tag_list.html.erb +3 -4
- data/app/views/alchemy/admin/resources/edit.html.erb +1 -1
- data/app/views/alchemy/admin/resources/new.html.erb +1 -1
- data/app/views/alchemy/pages/_meta_data.html.erb +1 -1
- data/app/views/alchemy/pages/show.rss.builder +0 -2
- data/app/views/alchemy/welcome.html.erb +1 -1
- data/app/views/layouts/alchemy/admin.html.erb +1 -1
- data/config/locales/alchemy.de.yml +4 -4
- data/config/locales/alchemy.en.yml +4 -4
- data/config/locales/alchemy.es.yml +3 -3
- data/config/locales/alchemy.fr.yml +4 -4
- data/config/locales/alchemy.it.yml +3 -3
- data/config/locales/alchemy.nl.yml +4 -4
- data/config/locales/alchemy.ru.yml +3 -3
- data/lib/alchemy/auth_accessors.rb +6 -6
- data/lib/alchemy/cache_digests/template_tracker.rb +5 -5
- data/lib/alchemy/controller_actions.rb +1 -6
- data/lib/alchemy/engine.rb +0 -53
- data/lib/alchemy/errors.rb +12 -3
- data/lib/alchemy/i18n.rb +1 -1
- data/lib/alchemy/logger.rb +1 -1
- data/lib/alchemy/page_layout.rb +5 -5
- data/lib/alchemy/seeder.rb +16 -49
- data/lib/alchemy/tasks/helpers.rb +1 -1
- data/lib/alchemy/test_support/config_stubbing.rb +28 -0
- data/lib/alchemy/test_support/essence_shared_examples.rb +6 -6
- data/lib/alchemy/test_support/factories/language_factory.rb +1 -1
- data/lib/alchemy/test_support/factories/page_factory.rb +7 -0
- data/lib/alchemy/test_support/factories/site_factory.rb +6 -0
- data/lib/alchemy/test_support/shared_contexts.rb +14 -0
- data/lib/alchemy/test_support/shared_uploader_examples.rb +10 -0
- data/lib/alchemy/touching.rb +1 -1
- data/lib/alchemy/version.rb +1 -1
- data/lib/alchemy_cms.rb +56 -1
- data/lib/{alchemy/kaminari → kaminari}/scoped_pagination_url_helper.rb +0 -0
- data/lib/rails/generators/alchemy/base.rb +1 -1
- data/lib/rails/generators/alchemy/elements/elements_generator.rb +2 -1
- data/lib/rails/generators/alchemy/page_layouts/page_layouts_generator.rb +2 -1
- data/lib/rails/generators/alchemy/site_layouts/site_layouts_generator.rb +2 -1
- data/lib/tasks/alchemy/tidy.rake +91 -89
- data/lib/tasks/alchemy/upgrade.rake +15 -15
- metadata +29 -14
- data/app/assets/javascripts/alchemy/alchemy.spinner.js.coffee +0 -49
- data/app/views/alchemy/admin/pages/sort.js.erb +0 -4
- data/vendor/assets/javascripts/handlebars.js +0 -4608
- data/vendor/assets/javascripts/spin.min.js +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fbb80467f9060754456aff5d7ee3f93c825af361
|
4
|
+
data.tar.gz: c29648c89aa451268018de87774965f4892f6fdc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a3c7a2a710d4936710e554cb28ee68d2c14bed27b2b2e7a17bce0eacdd259a83e752dd4307a8b3517efdaadcdd6b0038e37fc48676093ef771ab6b830f7d9405
|
7
|
+
data.tar.gz: 3a45456f460a78af4d2eba395b9f88ca5a1029b0bc6a8b4068e83fb336d9c68a4319f01a8365a0dd8a06969eaf99a77e0cc6ac015e810ca820b4a4a87dd7fd54
|
data/.rubocop.yml
CHANGED
@@ -5,13 +5,22 @@ AllCops:
|
|
5
5
|
- 'bin/rspec'
|
6
6
|
- 'vendor/**/*'
|
7
7
|
- 'spec/dummy/**/*'
|
8
|
+
- 'alchemy_cms.gemspec'
|
9
|
+
|
8
10
|
TargetRubyVersion: 2.1
|
9
11
|
|
12
|
+
# Really, rubocop?
|
13
|
+
Bundler/OrderedGems:
|
14
|
+
Enabled: false
|
15
|
+
|
10
16
|
# Sometimes I believe this reads better
|
11
17
|
# This also causes spacing issues on multi-line fixes
|
12
18
|
Style/BracesAroundHashParameters:
|
13
19
|
Enabled: false
|
14
20
|
|
21
|
+
Style/EmptyLiteral:
|
22
|
+
Enabled: false
|
23
|
+
|
15
24
|
# We use class vars and will have to continue doing so for compatability
|
16
25
|
Style/ClassVars:
|
17
26
|
Enabled: false
|
@@ -30,6 +39,10 @@ Style/ClassAndModuleChildren:
|
|
30
39
|
Style/GuardClause:
|
31
40
|
Enabled: false
|
32
41
|
|
42
|
+
# We support older versions of Ruby (2.1) that do not have the %i syntax
|
43
|
+
Style/SymbolArray:
|
44
|
+
Enabled: false
|
45
|
+
|
33
46
|
Style/WordArray:
|
34
47
|
Enabled: false
|
35
48
|
|
@@ -39,34 +52,69 @@ Style/ConditionalAssignment:
|
|
39
52
|
Performance/Count:
|
40
53
|
Enabled: false
|
41
54
|
|
42
|
-
|
55
|
+
Layout/AlignHash:
|
43
56
|
Enabled: false
|
44
57
|
|
45
|
-
|
58
|
+
Layout/AlignParameters:
|
46
59
|
Enabled: false
|
47
60
|
|
48
|
-
|
61
|
+
Layout/ClosingParenthesisIndentation:
|
49
62
|
Enabled: false
|
50
63
|
|
51
|
-
|
64
|
+
Layout/DotPosition:
|
52
65
|
Enabled: false
|
66
|
+
StyleGuide: http://relaxed.ruby.style/#styledotposition
|
53
67
|
|
54
|
-
|
68
|
+
Layout/ElseAlignment:
|
55
69
|
Enabled: false
|
56
70
|
|
57
|
-
|
71
|
+
Layout/EmptyLineAfterMagicComment:
|
58
72
|
Enabled: false
|
59
73
|
|
60
|
-
|
74
|
+
Layout/IndentArray:
|
61
75
|
Enabled: false
|
62
76
|
|
63
|
-
|
77
|
+
Layout/IndentHash:
|
64
78
|
Enabled: false
|
65
79
|
|
66
|
-
|
80
|
+
Layout/IndentHeredoc:
|
81
|
+
EnforcedStyle: active_support
|
82
|
+
|
83
|
+
Layout/IndentationWidth:
|
84
|
+
Enabled: false
|
85
|
+
|
86
|
+
Layout/MultilineHashBraceLayout:
|
87
|
+
Enabled: false
|
88
|
+
|
89
|
+
Layout/MultilineMethodCallBraceLayout:
|
90
|
+
Enabled: false
|
91
|
+
|
92
|
+
Layout/MultilineMethodCallIndentation:
|
93
|
+
Enabled: false
|
94
|
+
|
95
|
+
Layout/SpaceBeforeBlockBraces:
|
96
|
+
Enabled: false
|
97
|
+
StyleGuide: http://relaxed.ruby.style/#stylespacebeforeblockbraces
|
98
|
+
|
99
|
+
Layout/SpaceInsideHashLiteralBraces:
|
100
|
+
Enabled: false
|
101
|
+
|
102
|
+
Layout/SpaceInsideParens:
|
103
|
+
Enabled: false
|
104
|
+
StyleGuide: http://relaxed.ruby.style/#stylespaceinsideparens
|
105
|
+
|
106
|
+
Lint/EndAlignment:
|
67
107
|
Enabled: false
|
68
108
|
|
69
|
-
|
109
|
+
Lint/HandleExceptions:
|
110
|
+
Exclude:
|
111
|
+
- 'config/initializers/mini_profiler.rb'
|
112
|
+
|
113
|
+
Lint/ShadowedException:
|
114
|
+
Exclude:
|
115
|
+
- 'lib/alchemy/sass_support.rb'
|
116
|
+
|
117
|
+
Style/CollectionMethods:
|
70
118
|
Enabled: false
|
71
119
|
|
72
120
|
Style/AccessorMethodName:
|
@@ -88,14 +136,13 @@ Style/Documentation:
|
|
88
136
|
Enabled: false
|
89
137
|
StyleGuide: http://relaxed.ruby.style/#styledocumentation
|
90
138
|
|
91
|
-
Style/DotPosition:
|
92
|
-
Enabled: false
|
93
|
-
StyleGuide: http://relaxed.ruby.style/#styledotposition
|
94
|
-
|
95
139
|
Style/DoubleNegation:
|
96
140
|
Enabled: false
|
97
141
|
StyleGuide: http://relaxed.ruby.style/#styledoublenegation
|
98
142
|
|
143
|
+
Style/EmptyMethod:
|
144
|
+
Enabled: false
|
145
|
+
|
99
146
|
Style/EndBlock:
|
100
147
|
Enabled: false
|
101
148
|
StyleGuide: http://relaxed.ruby.style/#styleendblock
|
@@ -128,6 +175,9 @@ Style/NegatedWhile:
|
|
128
175
|
Enabled: false
|
129
176
|
StyleGuide: http://relaxed.ruby.style/#stylenegatedwhile
|
130
177
|
|
178
|
+
Style/NumericLiteralPrefix:
|
179
|
+
Enabled: false
|
180
|
+
|
131
181
|
Style/ParallelAssignment:
|
132
182
|
Enabled: false
|
133
183
|
StyleGuide: http://relaxed.ruby.style/#styleparallelassignment
|
@@ -159,17 +209,6 @@ Style/SingleLineMethods:
|
|
159
209
|
Enabled: false
|
160
210
|
StyleGuide: http://relaxed.ruby.style/#stylesinglelinemethods
|
161
211
|
|
162
|
-
Style/SpaceBeforeBlockBraces:
|
163
|
-
Enabled: false
|
164
|
-
StyleGuide: http://relaxed.ruby.style/#stylespacebeforeblockbraces
|
165
|
-
|
166
|
-
Style/SpaceInsideHashLiteralBraces:
|
167
|
-
Enabled: false
|
168
|
-
|
169
|
-
Style/SpaceInsideParens:
|
170
|
-
Enabled: false
|
171
|
-
StyleGuide: http://relaxed.ruby.style/#stylespaceinsideparens
|
172
|
-
|
173
212
|
Style/SpecialGlobalVars:
|
174
213
|
Enabled: false
|
175
214
|
StyleGuide: http://relaxed.ruby.style/#stylespecialglobalvars
|
@@ -178,10 +217,24 @@ Style/StringLiterals:
|
|
178
217
|
Enabled: false
|
179
218
|
StyleGuide: http://relaxed.ruby.style/#stylestringliterals
|
180
219
|
|
220
|
+
Style/VariableNumber:
|
221
|
+
Enabled: false
|
222
|
+
|
181
223
|
Style/WhileUntilModifier:
|
182
224
|
Enabled: false
|
183
225
|
StyleGuide: http://relaxed.ruby.style/#stylewhileuntilmodifier
|
184
226
|
|
227
|
+
# We use a lot of
|
228
|
+
#
|
229
|
+
# expect {
|
230
|
+
# something
|
231
|
+
# }.to { happen }
|
232
|
+
#
|
233
|
+
# syntax in the specs files.
|
234
|
+
Lint/AmbiguousBlockAssociation:
|
235
|
+
Exclude:
|
236
|
+
- 'spec/**/*'
|
237
|
+
|
185
238
|
Lint/AmbiguousRegexpLiteral:
|
186
239
|
Enabled: false
|
187
240
|
StyleGuide: http://relaxed.ruby.style/#lintambiguousregexpliteral
|
@@ -193,7 +246,7 @@ Lint/AssignmentInCondition:
|
|
193
246
|
# We use eval to get the correct url proxy object of engines in:
|
194
247
|
# - app/helpers/alchemy/admin/navigation_helper.rb:139
|
195
248
|
# - lib/alchemy/resources_helper.rb:24
|
196
|
-
|
249
|
+
Security/Eval:
|
197
250
|
Exclude:
|
198
251
|
- app/helpers/alchemy/admin/navigation_helper.rb
|
199
252
|
- lib/alchemy/resources_helper.rb
|
@@ -201,6 +254,9 @@ Lint/Eval:
|
|
201
254
|
Metrics/AbcSize:
|
202
255
|
Enabled: false
|
203
256
|
|
257
|
+
Metrics/BlockLength:
|
258
|
+
Enabled: false
|
259
|
+
|
204
260
|
Metrics/BlockNesting:
|
205
261
|
Enabled: false
|
206
262
|
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,28 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## 3.6.0 (2017-06-20)
|
4
|
+
|
5
|
+
__Notable Changes__
|
6
|
+
|
7
|
+
* The seeder does not generate default site and root page anymore (#1239) by tvdeyen
|
8
|
+
Alchemy handles this auto-magically now. No need to run `Alchemy::Seeder.seed!` any more |o/
|
9
|
+
* Security: Sanitize ActiveRecord queries in `Alchemy::Element`, `Alchemy::Page` and
|
10
|
+
`Alchemy::PagesHelper` (#1257) by jessedoyle
|
11
|
+
* Remove post install message reference to the `alchemy` standalone installer (#1256) by jessedoyle
|
12
|
+
* Fixes tag filtering for pictures and attachments in overlay (#1266) by robinboening
|
13
|
+
* Fix js error on page#update with single quote in page name (#1263) by robinboening
|
14
|
+
* Change meta charset from 'utf8' to 'utf-8' (#1253) by rbjoern84
|
15
|
+
* Render "text" as type for datepicker input fields (#1246) by robinboening
|
16
|
+
* Remove unused Page attr_accessors (#1240) by tvdeyen
|
17
|
+
* Permit search params while redirecting in library (#1236) by tvdeyen
|
18
|
+
* Only allow floats and ints as fixed ratio for crop (#1234) by tvdeyen
|
19
|
+
* Use at least dragonfly 1.0.7 (#1225) by tvdeyen
|
20
|
+
* Add handlebars-assets gem (#1203) by tvdeyen
|
21
|
+
* Add a new spinner animation (#1202) by tvdeyen
|
22
|
+
* Re-color the Turbolinks progressbar (#1199) by tvdeyen
|
23
|
+
* Use normal view for pages sort action (#1197) by tvdeyen
|
24
|
+
* Add srcset and sizes support for EssencePicture (#1193) by tvdeyen
|
25
|
+
|
3
26
|
## 3.5.0 (2016-12-22)
|
4
27
|
|
5
28
|
__New Features__
|
@@ -53,7 +76,6 @@ __Notable Changes__
|
|
53
76
|
__Fixed Bugs__
|
54
77
|
|
55
78
|
* The `language_links` helper now only renders languages from the current site
|
56
|
-
* Fixes alchemy module generator (#1159)
|
57
79
|
|
58
80
|
## 3.4.1 (2016-08-31)
|
59
81
|
|
data/README.md
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
[![Gem Version](https://badge.fury.io/rb/alchemy_cms.svg)](http://badge.fury.io/rb/alchemy_cms)
|
2
|
-
[![Build Status](https://travis-ci.org/AlchemyCMS/alchemy_cms.svg?branch=
|
2
|
+
[![Build Status](https://travis-ci.org/AlchemyCMS/alchemy_cms.svg?branch=master)](https://travis-ci.org/AlchemyCMS/alchemy_cms)
|
3
3
|
[![Code Climate](https://codeclimate.com/github/AlchemyCMS/alchemy_cms.svg)](https://codeclimate.com/github/AlchemyCMS/alchemy_cms)
|
4
4
|
[![Test Coverage](https://codeclimate.com/github/AlchemyCMS/alchemy_cms/badges/coverage.svg)](https://codeclimate.com/github/AlchemyCMS/alchemy_cms)
|
5
5
|
[![Slack Status](http://slack.alchemy-cms.com/badge.svg)](http://slack.alchemy-cms.com)
|
6
6
|
|
7
|
+
**CAUTION: This master branch is a development branch that *can* contain bugs. For productive environments you should use the [current Ruby gem version](https://rubygems.org/gems/alchemy_cms), or the [latest stable branch (3.6-stable)](https://github.com/AlchemyCMS/alchemy_cms/tree/3.6-stable).**
|
8
|
+
|
9
|
+
|
7
10
|
## About
|
8
11
|
|
9
|
-
![Alchemy CMS](app/assets/images/alchemy/alchemy-logo.
|
12
|
+
![Alchemy CMS](app/assets/images/alchemy/alchemy-logo.png)
|
10
13
|
|
11
14
|
Alchemy is a powerful, flexible and user centric Rails CMS.
|
12
15
|
|
@@ -42,7 +45,9 @@ Read more about Alchemy on the [website](https://alchemy-cms.com) and in the [gu
|
|
42
45
|
|
43
46
|
## Ruby Version
|
44
47
|
|
45
|
-
Alchemy runs with Ruby >= 2.
|
48
|
+
Alchemy runs with Ruby >= 2.1.0.
|
49
|
+
|
50
|
+
For a Ruby 2.0.0 compatible version use the [`3.2-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/3.2-stable).
|
46
51
|
|
47
52
|
For a Ruby 1.9.3 compatible version use the [`3.1-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/3.1-stable).
|
48
53
|
|
@@ -56,9 +61,11 @@ For a Ruby 1.8.7 compatible version use the [`2.3-stable` branch](https://github
|
|
56
61
|
Put this into your `Gemfile`:
|
57
62
|
|
58
63
|
```ruby
|
59
|
-
gem 'alchemy_cms', github: 'AlchemyCMS/alchemy_cms', branch: '
|
64
|
+
gem 'alchemy_cms', github: 'AlchemyCMS/alchemy_cms', branch: 'master'
|
60
65
|
```
|
61
66
|
|
67
|
+
**NOTE:** You normally want to use a stable branch, like `3.6-stable`.
|
68
|
+
|
62
69
|
If you want to use Russian translation and have better i18n support, you should put:
|
63
70
|
|
64
71
|
```ruby
|
@@ -83,9 +90,11 @@ the Devise based user model that Alchemy provides and was extracted [into its ow
|
|
83
90
|
If you don't have your own user class, you can use the Alchemy user model. Just add the following gem into your `Gemfile`:
|
84
91
|
|
85
92
|
```ruby
|
86
|
-
gem 'alchemy-devise', github: 'AlchemyCMS/alchemy-devise', branch: '
|
93
|
+
gem 'alchemy-devise', github: 'AlchemyCMS/alchemy-devise', branch: 'master'
|
87
94
|
```
|
88
95
|
|
96
|
+
**NOTE:** You normally want to use a stable branch, like `3.6-stable`.
|
97
|
+
|
89
98
|
Then run:
|
90
99
|
|
91
100
|
```shell
|
data/Rakefile
CHANGED
data/alchemy_cms.gemspec
CHANGED
@@ -25,8 +25,9 @@ Gem::Specification.new do |gem|
|
|
25
25
|
gem.add_runtime_dependency 'bourbon', ['~> 4.2']
|
26
26
|
gem.add_runtime_dependency 'cancancan', ['~> 1.9']
|
27
27
|
gem.add_runtime_dependency 'coffee-rails', ['~> 4.0']
|
28
|
-
gem.add_runtime_dependency 'dragonfly', ['~> 1.0.
|
28
|
+
gem.add_runtime_dependency 'dragonfly', ['~> 1.0.7']
|
29
29
|
gem.add_runtime_dependency 'dragonfly_svg', ['~> 0.0.4']
|
30
|
+
gem.add_runtime_dependency 'handlebars_assets', ['~> 0.23']
|
30
31
|
gem.add_runtime_dependency 'jquery-rails', ['~> 4.0']
|
31
32
|
gem.add_runtime_dependency 'jquery-ui-rails', ['~> 5.0.0']
|
32
33
|
gem.add_runtime_dependency 'kaminari', ['~> 0.15']
|
@@ -45,10 +46,6 @@ Gem::Specification.new do |gem|
|
|
45
46
|
Thank you for installing Alchemy CMS
|
46
47
|
-------------------------------------------------------------
|
47
48
|
|
48
|
-
- Create a new standalone Alchemy project:
|
49
|
-
|
50
|
-
$ alchemy new my_project_name
|
51
|
-
|
52
49
|
- Complete the installation in an existing Rails application:
|
53
50
|
|
54
51
|
$ bin/rake alchemy:install
|
Binary file
|
@@ -11,7 +11,6 @@
|
|
11
11
|
//= require tinymce/tinymce.min
|
12
12
|
//= require_tree ../../../../vendor/assets/javascripts/jquery_plugins/
|
13
13
|
//= require clipboard.min
|
14
|
-
//= require spin.min
|
15
14
|
//= require keymaster
|
16
15
|
//= require requestAnimationFrame
|
17
16
|
//= require select2
|
@@ -22,6 +21,7 @@
|
|
22
21
|
//= require select2_locale_ru
|
23
22
|
//= require select2_locale_it
|
24
23
|
//= require handlebars
|
24
|
+
//= require alchemy/templates
|
25
25
|
//= require alchemy/alchemy.base
|
26
26
|
//= require alchemy/alchemy.autocomplete
|
27
27
|
//= require alchemy/alchemy.browser
|
@@ -34,8 +34,8 @@ $.extend Alchemy,
|
|
34
34
|
pleaseWaitOverlay: (show = true) ->
|
35
35
|
$overlay = $('#overlay')
|
36
36
|
if show
|
37
|
-
spinner = Alchemy.Spinner
|
38
|
-
|
37
|
+
spinner = new Alchemy.Spinner('medium')
|
38
|
+
spinner.spin $overlay
|
39
39
|
$overlay.show()
|
40
40
|
else
|
41
41
|
$overlay.find('.spinner').remove()
|
@@ -44,12 +44,12 @@ $.extend Alchemy,
|
|
44
44
|
|
45
45
|
# Shows spinner while loading images and
|
46
46
|
# fades the image after its been loaded
|
47
|
-
ImageLoader: (scope = document, options = {
|
47
|
+
ImageLoader: (scope = document, options = {fill: '#fff'}) ->
|
48
48
|
$('img', scope).each ->
|
49
49
|
if !this.complete
|
50
50
|
image = $(this).hide()
|
51
51
|
$parent = image.parent()
|
52
|
-
spinner = Alchemy.Spinner
|
52
|
+
spinner = new Alchemy.Spinner('small', options)
|
53
53
|
spinner.spin $parent[0]
|
54
54
|
image.on 'load', ->
|
55
55
|
spinner.stop()
|
@@ -77,10 +77,6 @@ $.extend Alchemy,
|
|
77
77
|
dropdownAutoWidth: true
|
78
78
|
return
|
79
79
|
|
80
|
-
Buttons: (options) ->
|
81
|
-
$("button, input:submit, a.button").button options
|
82
|
-
return
|
83
|
-
|
84
80
|
# Selects cell tab for given name.
|
85
81
|
# Creates it if it's not present yet.
|
86
82
|
selectOrCreateCellTab: (cell_name, label) ->
|
@@ -20,14 +20,14 @@ Alchemy.Buttons =
|
|
20
20
|
|
21
21
|
disable: (button) ->
|
22
22
|
$button = $(button)
|
23
|
-
spinner = Alchemy.Spinner
|
23
|
+
spinner = new Alchemy.Spinner('small')
|
24
24
|
$button.data('content', $button.html())
|
25
25
|
$button.attr('disabled', true)
|
26
26
|
$button.addClass('disabled')
|
27
27
|
$button.css
|
28
28
|
width: $button.outerWidth()
|
29
29
|
$button.empty()
|
30
|
-
spinner.spin($button
|
30
|
+
spinner.spin($button)
|
31
31
|
return true
|
32
32
|
|
33
33
|
enable: (scope) ->
|
@@ -3,33 +3,24 @@ window.Alchemy = {} if typeof(window.Alchemy) is 'undefined'
|
|
3
3
|
$.extend Alchemy,
|
4
4
|
|
5
5
|
Datepicker: (scope) ->
|
6
|
-
options =
|
7
|
-
format: Alchemy.t('formats.datetime')
|
8
|
-
formatDate: Alchemy.t('formats.date')
|
9
|
-
formatTime: Alchemy.t('formats.time')
|
10
|
-
dayOfWeekStart: Alchemy.t('formats.start_of_week')
|
11
|
-
onSelectDate: ->
|
12
|
-
Alchemy.setElementDirty $(this).closest(".element-editor")
|
13
|
-
|
14
|
-
datepicker_options = $.extend {}, options,
|
15
|
-
format: options.formatDate
|
16
|
-
timepicker: false
|
17
|
-
|
18
|
-
timepicker_options = $.extend {}, options,
|
19
|
-
format: options.formatTime
|
20
|
-
datepicker: false
|
21
|
-
|
22
6
|
$.datetimepicker.setLocale(Alchemy.locale);
|
23
|
-
|
24
|
-
|
25
|
-
#
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
7
|
+
$datepicker_inputs = $('input[data-datepicker-type]', scope)
|
8
|
+
|
9
|
+
# Initializes the datepickers on the text inputs and sets the proper type
|
10
|
+
# to enable browsers default datepicker if the current OS is iOS.
|
11
|
+
if Alchemy.isiOS
|
12
|
+
$datepicker_inputs.prop "type", ->
|
13
|
+
return $(this).data('datepicker-type')
|
14
|
+
else
|
15
|
+
$datepicker_inputs.each ->
|
16
|
+
type = $(this).data('datepicker-type')
|
17
|
+
options =
|
18
|
+
format: Alchemy.t("formats.#{type}")
|
19
|
+
timepicker: /time/.test(type)
|
20
|
+
datepicker: /date/.test(type)
|
21
|
+
dayOfWeekStart: Alchemy.t('formats.start_of_week')
|
22
|
+
onSelectDate: ->
|
23
|
+
Alchemy.setElementDirty $(this).closest(".element-editor")
|
24
|
+
$(this).datetimepicker(options)
|
34
25
|
|
35
26
|
return
|