alchemy_cms 5.1.3 → 5.1.7
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.
Potentially problematic release.
This version of alchemy_cms might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +19 -0
- data/Gemfile +5 -0
- data/alchemy_cms.gemspec +1 -1
- data/app/helpers/alchemy/pages_helper.rb +1 -1
- data/app/models/alchemy/picture.rb +1 -1
- data/app/views/alchemy/essences/_essence_picture_view.html.erb +3 -3
- data/lib/alchemy/upgrader/five_point_zero.rb +32 -0
- data/lib/alchemy/version.rb +1 -1
- data/lib/generators/alchemy/install/install_generator.rb +2 -1
- data/lib/tasks/alchemy/thumbnails.rake +4 -2
- data/lib/tasks/alchemy/upgrade.rake +20 -0
- data/package/admin.js +2 -0
- data/package/src/__tests__/i18n.spec.js +23 -0
- data/package/src/i18n.js +1 -3
- data/package.json +1 -1
- metadata +12 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6ea6dd239350801fa37b9fc87002bd98338b0cd6e38444de0a56b1c6f0c86f2f
|
4
|
+
data.tar.gz: 7dfba85cd6ee44d94a6472524f9986dbf75c536238a248e29d38ba9e7e5a9744
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ccf77d0e90db9547dace08e7350d91d28e05aab723dfffeaac8a3035c17c00b911b357b1cb684e02a88a4914a613b23c81726996989d8a7a2a83883193712bfe
|
7
|
+
data.tar.gz: b62c2cded7a485fc2e3fc643e7d77fc5c0b75fecc3586b22ee0771d5d174312179c8b7f2dc8c9225ab601e6e5697408401782573fa3831905e4ca055ceeedca5
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,22 @@
|
|
1
|
+
## 5.1.7 (2021-10-26)
|
2
|
+
|
3
|
+
- Make sure to install correct npm package ([tvdeyen](https://github.com/tvdeyen))
|
4
|
+
|
5
|
+
## 5.1.6 (2021-09-17)
|
6
|
+
|
7
|
+
- Use self_and_ancestors in page_active? helper [#2194](https://github.com/AlchemyCMS/alchemy_cms/pull/2194) ([mamhoff](https://github.com/mamhoff))
|
8
|
+
|
9
|
+
## 5.1.5 (2021-09-15)
|
10
|
+
|
11
|
+
- generate picture thumbnails only for pictures with convertible format [#2131](https://github.com/AlchemyCMS/alchemy_cms/pull/2131) ([afdev82](https://github.com/afdev82))
|
12
|
+
- Backport #2115 to v5.1 [#2125](https://github.com/AlchemyCMS/alchemy_cms/pull/2125) ([dbwinger](https://github.com/dbwinger))
|
13
|
+
- Backport #2114 to v5.1 [#2117](https://github.com/AlchemyCMS/alchemy_cms/pull/2117) ([afdev82](https://github.com/afdev82))
|
14
|
+
|
15
|
+
## 5.1.4 (2021-05-13)
|
16
|
+
|
17
|
+
- Fix alchemy:generate:thumbnails task [#2092](https://github.com/AlchemyCMS/alchemy_cms/pull/2092) ([afdev82](https://github.com/afdev82))
|
18
|
+
- Do not attempt to generate thumbs for svg files. [#2090](https://github.com/AlchemyCMS/alchemy_cms/pull/2090) ([oneiros](https://github.com/oneiros))
|
19
|
+
|
1
20
|
## 5.1.3 (2021-05-06)
|
2
21
|
|
3
22
|
- Use symbols in polymorphic routes for resources [#2087](https://github.com/AlchemyCMS/alchemy_cms/pull/2087) ([tvdeyen](https://github.com/tvdeyen))
|
data/Gemfile
CHANGED
@@ -13,6 +13,11 @@ gem "mysql2", "~> 0.5.1" if ENV["DB"] == "mysql"
|
|
13
13
|
gem "pg", "~> 1.0" if ENV["DB"] == "postgresql"
|
14
14
|
|
15
15
|
group :development, :test do
|
16
|
+
# execjs 2.8 removes deprecation warnings but also breaks a number of dependent projects.
|
17
|
+
# in our case the culprit is `handlebars-assets`. The changes between 2.7.0 and 2.8.0 are
|
18
|
+
# minimal, but breaking.
|
19
|
+
gem "execjs", "= 2.7.0"
|
20
|
+
|
16
21
|
if ENV["GITHUB_ACTIONS"]
|
17
22
|
gem "sassc", "~> 2.4.0" # https://github.com/sass/sassc-ruby/issues/146
|
18
23
|
else
|
data/alchemy_cms.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |gem|
|
|
23
23
|
gem.add_runtime_dependency 'awesome_nested_set', ['~> 3.1']
|
24
24
|
gem.add_runtime_dependency 'cancancan', ['>= 2.1', '< 4.0']
|
25
25
|
gem.add_runtime_dependency 'coffee-rails', ['>= 4.0', '< 6.0']
|
26
|
-
gem.add_runtime_dependency 'dragonfly', ['~> 1.0', '>= 1.0.7']
|
26
|
+
gem.add_runtime_dependency 'dragonfly', ['~> 1.0', '>= 1.0.7', '< 1.4.0']
|
27
27
|
gem.add_runtime_dependency 'dragonfly_svg', ['~> 0.0.4']
|
28
28
|
gem.add_runtime_dependency 'gutentag', ['~> 2.2', '>= 2.2.1']
|
29
29
|
gem.add_runtime_dependency 'handlebars_assets', ['~> 0.23']
|
@@ -100,7 +100,7 @@ module Alchemy
|
|
100
100
|
|
101
101
|
# Returns true if page is in the active branch
|
102
102
|
def page_active?(page)
|
103
|
-
@_page_ancestors ||=
|
103
|
+
@_page_ancestors ||= @page.self_and_ancestors.contentpages
|
104
104
|
@_page_ancestors.include?(page)
|
105
105
|
end
|
106
106
|
|
@@ -91,7 +91,7 @@ module Alchemy
|
|
91
91
|
end
|
92
92
|
|
93
93
|
# Create important thumbnails upfront
|
94
|
-
after_create -> { PictureThumb.generate_thumbs!(self) }
|
94
|
+
after_create -> { PictureThumb.generate_thumbs!(self) if has_convertible_format? }
|
95
95
|
|
96
96
|
# We need to define this method here to have it available in the validations below.
|
97
97
|
class << self
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<% content = local_assigns[:content] || local_assigns[:essence_picture_view] %>
|
2
2
|
<%= Alchemy::EssencePictureView.new(
|
3
3
|
content,
|
4
|
-
local_assigns[:options],
|
5
|
-
local_assigns[:html_options]
|
6
|
-
).render %>
|
4
|
+
local_assigns[:options] || {},
|
5
|
+
local_assigns[:html_options] || {}
|
6
|
+
).render %>
|
@@ -1,9 +1,19 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative "tasks/harden_gutentag_migrations"
|
4
|
+
require "rails/generators"
|
5
|
+
require "thor"
|
6
|
+
require "alchemy/install/tasks"
|
7
|
+
require "alchemy/version"
|
4
8
|
|
5
9
|
module Alchemy
|
6
10
|
class Upgrader::FivePointZero < Upgrader
|
11
|
+
include Rails::Generators::Actions
|
12
|
+
include Thor::Base
|
13
|
+
include Thor::Actions
|
14
|
+
|
15
|
+
source_root File.expand_path("../../generators/alchemy/install/files", __dir__)
|
16
|
+
|
7
17
|
class << self
|
8
18
|
def install_gutentag_migrations
|
9
19
|
desc "Install Gutentag migrations"
|
@@ -36,6 +46,28 @@ module Alchemy
|
|
36
46
|
log "Root page not found.", :skip
|
37
47
|
end
|
38
48
|
end
|
49
|
+
|
50
|
+
def run_webpacker_installer
|
51
|
+
# Webpacker does not create a package.json, but we need one
|
52
|
+
unless File.exist? app_root.join("package.json")
|
53
|
+
in_root { run "echo '{}' > package.json" }
|
54
|
+
end
|
55
|
+
new.rake("webpacker:install", abort_on_failure: true)
|
56
|
+
end
|
57
|
+
|
58
|
+
def add_npm_package
|
59
|
+
new.run "yarn add @alchemy_cms/admin@~#{Alchemy.version}"
|
60
|
+
end
|
61
|
+
|
62
|
+
def copy_alchemy_entry_point
|
63
|
+
webpack_config = YAML.load_file(app_root.join("config", "webpacker.yml"))[Rails.env]
|
64
|
+
new.copy_file "alchemy_admin.js",
|
65
|
+
app_root.join(webpack_config["source_path"], webpack_config["source_entry_path"], "alchemy/admin.js")
|
66
|
+
end
|
67
|
+
|
68
|
+
def app_root
|
69
|
+
@_app_root ||= Rails.root
|
70
|
+
end
|
39
71
|
end
|
40
72
|
end
|
41
73
|
end
|
data/lib/alchemy/version.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require "rails/generators"
|
3
3
|
require "alchemy/install/tasks"
|
4
|
+
require "alchemy/version"
|
4
5
|
|
5
6
|
module Alchemy
|
6
7
|
module Generators
|
@@ -88,7 +89,7 @@ module Alchemy
|
|
88
89
|
end
|
89
90
|
|
90
91
|
def add_npm_package
|
91
|
-
run "yarn add @alchemy_cms/admin"
|
92
|
+
run "yarn add @alchemy_cms/admin@~#{Alchemy.version}"
|
92
93
|
end
|
93
94
|
|
94
95
|
def copy_alchemy_entry_point
|
@@ -4,8 +4,8 @@ namespace :alchemy do
|
|
4
4
|
namespace :generate do
|
5
5
|
desc "Generates all thumbnails for Alchemy Pictures and EssencePictures."
|
6
6
|
task thumbnails: [
|
7
|
-
"
|
8
|
-
"
|
7
|
+
"alchemy:generate:picture_thumbnails",
|
8
|
+
"alchemy:generate:essence_picture_thumbnails",
|
9
9
|
]
|
10
10
|
|
11
11
|
desc "Generates thumbnails for Alchemy Pictures."
|
@@ -14,6 +14,8 @@ namespace :alchemy do
|
|
14
14
|
puts "Please wait..."
|
15
15
|
|
16
16
|
Alchemy::Picture.find_each do |picture|
|
17
|
+
next unless picture.has_convertible_format?
|
18
|
+
|
17
19
|
puts Alchemy::PictureThumb.generate_thumbs!(picture)
|
18
20
|
end
|
19
21
|
|
@@ -42,6 +42,9 @@ namespace :alchemy do
|
|
42
42
|
"alchemy:upgrade:5.0:install_gutentag_migrations",
|
43
43
|
"alchemy:upgrade:5.0:remove_layout_roots",
|
44
44
|
"alchemy:upgrade:5.0:remove_root_page",
|
45
|
+
"alchemy:upgrade:5.0:run_webpacker_installer",
|
46
|
+
"alchemy:upgrade:5.0:add_npm_package",
|
47
|
+
"alchemy:upgrade:5.0:copy_alchemy_entry_point",
|
45
48
|
]
|
46
49
|
|
47
50
|
desc "Install Gutentag migrations"
|
@@ -58,6 +61,23 @@ namespace :alchemy do
|
|
58
61
|
task remove_root_page: [:environment] do
|
59
62
|
Alchemy::Upgrader::FivePointZero.remove_root_page
|
60
63
|
end
|
64
|
+
|
65
|
+
desc "Run webpacker installer"
|
66
|
+
task run_webpacker_installer: [:environment] do
|
67
|
+
Alchemy::Upgrader::FivePointZero.run_webpacker_installer
|
68
|
+
end
|
69
|
+
|
70
|
+
desc "Add NPM package"
|
71
|
+
task add_npm_package: [:environment] do
|
72
|
+
puts "adding npm_package..."
|
73
|
+
Alchemy::Upgrader::FivePointZero.add_npm_package
|
74
|
+
end
|
75
|
+
|
76
|
+
desc "Copy alchemy entry point"
|
77
|
+
task copy_alchemy_entry_point: [:environment] do
|
78
|
+
puts "copying alchemy entry point"
|
79
|
+
Alchemy::Upgrader::FivePointZero.copy_alchemy_entry_point
|
80
|
+
end
|
61
81
|
end
|
62
82
|
end
|
63
83
|
end
|
data/package/admin.js
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
import translate from "./src/i18n"
|
2
|
+
import translationData from "./src/translations"
|
2
3
|
import NodeTree from "./src/node_tree"
|
3
4
|
|
4
5
|
// Global Alchemy object
|
@@ -10,5 +11,6 @@ if (typeof window.Alchemy === "undefined") {
|
|
10
11
|
Object.assign(Alchemy, {
|
11
12
|
// Global utility method for translating a given string
|
12
13
|
t: translate,
|
14
|
+
translations: Object.assign(Alchemy.translations || {}, translationData),
|
13
15
|
NodeTree
|
14
16
|
})
|
@@ -15,12 +15,20 @@ describe("translate", () => {
|
|
15
15
|
})
|
16
16
|
|
17
17
|
describe("if translation is present", () => {
|
18
|
+
beforeEach(() => {
|
19
|
+
Alchemy.translations = { en: { help: "Help" } }
|
20
|
+
})
|
21
|
+
|
18
22
|
it("Returns translated string", () => {
|
19
23
|
expect(translate("help")).toEqual("Help")
|
20
24
|
})
|
21
25
|
|
22
26
|
describe("if key includes a period", () => {
|
23
27
|
describe("that is translated", () => {
|
28
|
+
beforeEach(() => {
|
29
|
+
Alchemy.translations = { en: { formats: { date: "Y-m-d" } } }
|
30
|
+
})
|
31
|
+
|
24
32
|
it("splits into group", () => {
|
25
33
|
expect(translate("formats.date")).toEqual("Y-m-d")
|
26
34
|
})
|
@@ -40,6 +48,10 @@ describe("translate", () => {
|
|
40
48
|
})
|
41
49
|
|
42
50
|
describe("if replacement is given", () => {
|
51
|
+
beforeEach(() => {
|
52
|
+
Alchemy.translations = { en: { allowed_chars: "of %{number} chars" } }
|
53
|
+
})
|
54
|
+
|
43
55
|
it("replaces it", () => {
|
44
56
|
expect(translate("allowed_chars", 5)).toEqual("of 5 chars")
|
45
57
|
})
|
@@ -67,4 +79,15 @@ describe("translate", () => {
|
|
67
79
|
spy.mockRestore()
|
68
80
|
})
|
69
81
|
})
|
82
|
+
|
83
|
+
describe("if Alchemy.translations is not set", () => {
|
84
|
+
it("Returns passed string and logs a warning", () => {
|
85
|
+
const spy = jest.spyOn(console, "warn").mockImplementation(() => {})
|
86
|
+
expect(translate("help")).toEqual("help")
|
87
|
+
expect(spy.mock.calls).toEqual([
|
88
|
+
["Translations for locale kl not found!"]
|
89
|
+
])
|
90
|
+
spy.mockRestore()
|
91
|
+
})
|
92
|
+
})
|
70
93
|
})
|
data/package/src/i18n.js
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
import translationData from "./translations"
|
2
|
-
|
3
1
|
const KEY_SEPARATOR = /\./
|
4
2
|
|
5
3
|
function currentLocale() {
|
@@ -11,7 +9,7 @@ function currentLocale() {
|
|
11
9
|
|
12
10
|
function getTranslations() {
|
13
11
|
const locale = currentLocale()
|
14
|
-
const translations =
|
12
|
+
const translations = Alchemy.translations && Alchemy.translations[locale]
|
15
13
|
|
16
14
|
if (translations) {
|
17
15
|
return translations
|
data/package.json
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alchemy_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.1.
|
4
|
+
version: 5.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas von Deyen
|
@@ -10,10 +10,10 @@ authors:
|
|
10
10
|
- Hendrik Mans
|
11
11
|
- Carsten Fregin
|
12
12
|
- Martin Meyerhoff
|
13
|
-
autorequire:
|
13
|
+
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2021-
|
16
|
+
date: 2021-10-26 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: active_model_serializers
|
@@ -113,6 +113,9 @@ dependencies:
|
|
113
113
|
- - ">="
|
114
114
|
- !ruby/object:Gem::Version
|
115
115
|
version: 1.0.7
|
116
|
+
- - "<"
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: 1.4.0
|
116
119
|
type: :runtime
|
117
120
|
prerelease: false
|
118
121
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -123,6 +126,9 @@ dependencies:
|
|
123
126
|
- - ">="
|
124
127
|
- !ruby/object:Gem::Version
|
125
128
|
version: 1.0.7
|
129
|
+
- - "<"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 1.4.0
|
126
132
|
- !ruby/object:Gem::Dependency
|
127
133
|
name: dragonfly_svg
|
128
134
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1278,8 +1284,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1278
1284
|
version: '0'
|
1279
1285
|
requirements:
|
1280
1286
|
- ImageMagick (libmagick), v6.6 or greater.
|
1281
|
-
rubygems_version: 3.
|
1282
|
-
signing_key:
|
1287
|
+
rubygems_version: 3.2.28
|
1288
|
+
signing_key:
|
1283
1289
|
specification_version: 4
|
1284
1290
|
summary: A powerful, userfriendly and flexible CMS for Rails
|
1285
1291
|
test_files: []
|
1292
|
+
...
|