alchemy_cms 6.0.14 → 6.1.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.
Potentially problematic release.
This version of alchemy_cms might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +0 -3
- data/.github/workflows/stale.yml +2 -0
- data/CHANGELOG.md +34 -5
- data/Gemfile +2 -2
- data/alchemy_cms.gemspec +2 -1
- data/app/assets/javascripts/alchemy/alchemy.link_dialog.js.coffee +13 -11
- data/app/assets/stylesheets/alchemy/_variables.scss +9 -4
- data/app/assets/stylesheets/alchemy/elements.scss +96 -4
- data/app/assets/stylesheets/alchemy/forms.scss +59 -17
- data/app/assets/stylesheets/tinymce/skins/alchemy/content.min.css.scss +3 -3
- data/app/controllers/alchemy/admin/ingredients_controller.rb +1 -1
- data/app/controllers/alchemy/admin/pages_controller.rb +3 -3
- data/app/controllers/alchemy/api/ingredients_controller.rb +22 -0
- data/app/controllers/alchemy/messages_controller.rb +1 -1
- data/app/controllers/alchemy/pages_controller.rb +19 -5
- data/app/decorators/alchemy/ingredient_editor.rb +4 -0
- data/app/helpers/alchemy/elements_helper.rb +0 -8
- data/app/helpers/alchemy/url_helper.rb +0 -8
- data/app/models/alchemy/element/definitions.rb +16 -2
- data/app/models/alchemy/element/dom_id.rb +30 -0
- data/app/models/alchemy/element/presenters.rb +1 -1
- data/app/models/alchemy/element.rb +12 -3
- data/app/models/alchemy/ingredients/headline.rb +4 -1
- data/app/models/alchemy/ingredients/text.rb +3 -0
- data/app/models/alchemy/page/page_layouts.rb +128 -0
- data/app/models/alchemy/page.rb +4 -2
- data/app/models/alchemy/picture_thumb/create.rb +1 -1
- data/app/models/concerns/alchemy/dom_ids.rb +32 -0
- data/app/serializers/alchemy/ingredient_serializer.rb +11 -0
- data/app/views/alchemy/admin/elements/update.js.erb +3 -0
- data/app/views/alchemy/admin/ingredients/_dom_id_fields.html.erb +4 -0
- data/app/views/alchemy/admin/ingredients/_headline_fields.html.erb +3 -0
- data/app/views/alchemy/admin/ingredients/_text_fields.html.erb +3 -0
- data/app/views/alchemy/admin/ingredients/update.js.erb +7 -0
- data/app/views/alchemy/admin/languages/_form.html.erb +1 -1
- data/app/views/alchemy/admin/languages/_language.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_page_layout_filter.html.erb +1 -1
- data/app/views/alchemy/admin/partials/_routes.html.erb +2 -1
- data/app/views/alchemy/ingredients/_headline_editor.html.erb +22 -20
- data/app/views/alchemy/ingredients/_headline_view.html.erb +1 -0
- data/app/views/alchemy/ingredients/_text_editor.html.erb +3 -0
- data/app/views/alchemy/ingredients/_text_view.html.erb +7 -3
- data/app/views/alchemy/ingredients/shared/_anchor.html.erb +9 -0
- data/app/views/alchemy/messages_mailer/contact_form_mail.de.text.erb +2 -0
- data/app/views/alchemy/messages_mailer/contact_form_mail.en.text.erb +2 -0
- data/app/views/alchemy/messages_mailer/contact_form_mail.es.text.erb +2 -0
- data/config/locales/alchemy.en.yml +5 -2
- data/config/routes.rb +1 -0
- data/lib/alchemy/error_tracking/error_logger.rb +13 -0
- data/lib/alchemy/error_tracking.rb +3 -1
- data/lib/alchemy/install/tasks.rb +1 -7
- data/lib/alchemy/page_layout.rb +0 -113
- data/lib/alchemy/test_support/shared_dom_ids_examples.rb +119 -0
- data/lib/alchemy/upgrader/tasks/add_page_versions.rb +2 -2
- data/lib/alchemy/upgrader/tasks/ingredients_migrator.rb +7 -5
- data/lib/alchemy/version.rb +1 -1
- data/lib/alchemy.rb +4 -0
- data/lib/alchemy_cms.rb +1 -1
- data/lib/generators/alchemy/elements/templates/view.html.erb +1 -1
- data/lib/generators/alchemy/elements/templates/view.html.haml +1 -1
- data/lib/generators/alchemy/elements/templates/view.html.slim +1 -1
- data/lib/tasks/alchemy/thumbnails.rake +1 -1
- data/package/admin.js +2 -0
- data/package/src/ingredient_anchor_link.js +17 -0
- data/package.json +2 -2
- data/vendor/assets/javascripts/tinymce/tinymce.min.js +2 -2
- metadata +32 -6
- data/lib/non_stupid_digest_assets.rb +0 -55
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: 6.0
|
4
|
+
version: 6.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas von Deyen
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2023-
|
16
|
+
date: 2023-01-19 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: actionmailer
|
@@ -387,6 +387,20 @@ dependencies:
|
|
387
387
|
- - "~>"
|
388
388
|
- !ruby/object:Gem::Version
|
389
389
|
version: '3.1'
|
390
|
+
- !ruby/object:Gem::Dependency
|
391
|
+
name: non-stupid-digest-assets
|
392
|
+
requirement: !ruby/object:Gem::Requirement
|
393
|
+
requirements:
|
394
|
+
- - "~>"
|
395
|
+
- !ruby/object:Gem::Version
|
396
|
+
version: 1.0.8
|
397
|
+
type: :runtime
|
398
|
+
prerelease: false
|
399
|
+
version_requirements: !ruby/object:Gem::Requirement
|
400
|
+
requirements:
|
401
|
+
- - "~>"
|
402
|
+
- !ruby/object:Gem::Version
|
403
|
+
version: 1.0.8
|
390
404
|
- !ruby/object:Gem::Dependency
|
391
405
|
name: ransack
|
392
406
|
requirement: !ruby/object:Gem::Requirement
|
@@ -577,14 +591,14 @@ dependencies:
|
|
577
591
|
requirements:
|
578
592
|
- - "~>"
|
579
593
|
- !ruby/object:Gem::Version
|
580
|
-
version: '
|
594
|
+
version: '6.0'
|
581
595
|
type: :development
|
582
596
|
prerelease: false
|
583
597
|
version_requirements: !ruby/object:Gem::Requirement
|
584
598
|
requirements:
|
585
599
|
- - "~>"
|
586
600
|
- !ruby/object:Gem::Version
|
587
|
-
version: '
|
601
|
+
version: '6.0'
|
588
602
|
- !ruby/object:Gem::Dependency
|
589
603
|
name: rails-controller-testing
|
590
604
|
requirement: !ruby/object:Gem::Requirement
|
@@ -861,6 +875,7 @@ files:
|
|
861
875
|
- app/controllers/alchemy/api/base_controller.rb
|
862
876
|
- app/controllers/alchemy/api/contents_controller.rb
|
863
877
|
- app/controllers/alchemy/api/elements_controller.rb
|
878
|
+
- app/controllers/alchemy/api/ingredients_controller.rb
|
864
879
|
- app/controllers/alchemy/api/nodes_controller.rb
|
865
880
|
- app/controllers/alchemy/api/pages_controller.rb
|
866
881
|
- app/controllers/alchemy/attachments_controller.rb
|
@@ -905,6 +920,7 @@ files:
|
|
905
920
|
- app/models/alchemy/eager_loading.rb
|
906
921
|
- app/models/alchemy/element.rb
|
907
922
|
- app/models/alchemy/element/definitions.rb
|
923
|
+
- app/models/alchemy/element/dom_id.rb
|
908
924
|
- app/models/alchemy/element/element_contents.rb
|
909
925
|
- app/models/alchemy/element/element_essences.rb
|
910
926
|
- app/models/alchemy/element/element_ingredients.rb
|
@@ -952,6 +968,7 @@ files:
|
|
952
968
|
- app/models/alchemy/page.rb
|
953
969
|
- app/models/alchemy/page/fixed_attributes.rb
|
954
970
|
- app/models/alchemy/page/page_elements.rb
|
971
|
+
- app/models/alchemy/page/page_layouts.rb
|
955
972
|
- app/models/alchemy/page/page_naming.rb
|
956
973
|
- app/models/alchemy/page/page_natures.rb
|
957
974
|
- app/models/alchemy/page/page_scopes.rb
|
@@ -972,6 +989,7 @@ files:
|
|
972
989
|
- app/models/alchemy/site/layout.rb
|
973
990
|
- app/models/alchemy/tag.rb
|
974
991
|
- app/models/alchemy/tree_node.rb
|
992
|
+
- app/models/concerns/alchemy/dom_ids.rb
|
975
993
|
- app/models/concerns/alchemy/picture_thumbnails.rb
|
976
994
|
- app/models/concerns/alchemy/touch_elements.rb
|
977
995
|
- app/presenters/alchemy/picture_view.rb
|
@@ -988,6 +1006,7 @@ files:
|
|
988
1006
|
- app/serializers/alchemy/essence_richtext_serializer.rb
|
989
1007
|
- app/serializers/alchemy/essence_select_serializer.rb
|
990
1008
|
- app/serializers/alchemy/essence_text_serializer.rb
|
1009
|
+
- app/serializers/alchemy/ingredient_serializer.rb
|
991
1010
|
- app/serializers/alchemy/node_serializer.rb
|
992
1011
|
- app/serializers/alchemy/page_serializer.rb
|
993
1012
|
- app/serializers/alchemy/page_tree_serializer.rb
|
@@ -1046,10 +1065,14 @@ files:
|
|
1046
1065
|
- app/views/alchemy/admin/essence_pictures/update.js.erb
|
1047
1066
|
- app/views/alchemy/admin/essence_videos/edit.html.erb
|
1048
1067
|
- app/views/alchemy/admin/ingredients/_audio_fields.html.erb
|
1068
|
+
- app/views/alchemy/admin/ingredients/_dom_id_fields.html.erb
|
1049
1069
|
- app/views/alchemy/admin/ingredients/_file_fields.html.erb
|
1070
|
+
- app/views/alchemy/admin/ingredients/_headline_fields.html.erb
|
1050
1071
|
- app/views/alchemy/admin/ingredients/_picture_fields.html.erb
|
1072
|
+
- app/views/alchemy/admin/ingredients/_text_fields.html.erb
|
1051
1073
|
- app/views/alchemy/admin/ingredients/_video_fields.html.erb
|
1052
1074
|
- app/views/alchemy/admin/ingredients/edit.html.erb
|
1075
|
+
- app/views/alchemy/admin/ingredients/update.js.erb
|
1053
1076
|
- app/views/alchemy/admin/languages/_form.html.erb
|
1054
1077
|
- app/views/alchemy/admin/languages/_language.html.erb
|
1055
1078
|
- app/views/alchemy/admin/languages/_table.html.erb
|
@@ -1226,6 +1249,7 @@ files:
|
|
1226
1249
|
- app/views/alchemy/ingredients/_text_view.html.erb
|
1227
1250
|
- app/views/alchemy/ingredients/_video_editor.html.erb
|
1228
1251
|
- app/views/alchemy/ingredients/_video_view.html.erb
|
1252
|
+
- app/views/alchemy/ingredients/shared/_anchor.html.erb
|
1229
1253
|
- app/views/alchemy/ingredients/shared/_link_tools.html.erb
|
1230
1254
|
- app/views/alchemy/ingredients/shared/_picture_tools.html.erb
|
1231
1255
|
- app/views/alchemy/language_links/_language.html.erb
|
@@ -1298,6 +1322,7 @@ files:
|
|
1298
1322
|
- lib/alchemy/elements_finder.rb
|
1299
1323
|
- lib/alchemy/engine.rb
|
1300
1324
|
- lib/alchemy/error_tracking.rb
|
1325
|
+
- lib/alchemy/error_tracking/error_logger.rb
|
1301
1326
|
- lib/alchemy/errors.rb
|
1302
1327
|
- lib/alchemy/essence.rb
|
1303
1328
|
- lib/alchemy/filetypes.rb
|
@@ -1347,6 +1372,7 @@ files:
|
|
1347
1372
|
- lib/alchemy/test_support/having_picture_thumbnails_examples.rb
|
1348
1373
|
- lib/alchemy/test_support/integration_helpers.rb
|
1349
1374
|
- lib/alchemy/test_support/shared_contexts.rb
|
1375
|
+
- lib/alchemy/test_support/shared_dom_ids_examples.rb
|
1350
1376
|
- lib/alchemy/test_support/shared_ingredient_editor_examples.rb
|
1351
1377
|
- lib/alchemy/test_support/shared_ingredient_examples.rb
|
1352
1378
|
- lib/alchemy/test_support/shared_uploader_examples.rb
|
@@ -1405,7 +1431,6 @@ files:
|
|
1405
1431
|
- lib/generators/alchemy/site_layouts/templates/layout.html.haml
|
1406
1432
|
- lib/generators/alchemy/site_layouts/templates/layout.html.slim
|
1407
1433
|
- lib/generators/alchemy/views/views_generator.rb
|
1408
|
-
- lib/non_stupid_digest_assets.rb
|
1409
1434
|
- lib/tasks/alchemy/db.rake
|
1410
1435
|
- lib/tasks/alchemy/install.rake
|
1411
1436
|
- lib/tasks/alchemy/thumbnails.rake
|
@@ -1419,6 +1444,7 @@ files:
|
|
1419
1444
|
- package/src/i18n.js
|
1420
1445
|
- package/src/image_cropper.js
|
1421
1446
|
- package/src/image_loader.js
|
1447
|
+
- package/src/ingredient_anchor_link.js
|
1422
1448
|
- package/src/node_tree.js
|
1423
1449
|
- package/src/page_publication_fields.js
|
1424
1450
|
- package/src/page_sorter.js
|
@@ -1511,7 +1537,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1511
1537
|
version: '0'
|
1512
1538
|
requirements:
|
1513
1539
|
- ImageMagick (libmagick), v6.6 or greater.
|
1514
|
-
rubygems_version: 3.
|
1540
|
+
rubygems_version: 3.3.26
|
1515
1541
|
signing_key:
|
1516
1542
|
specification_version: 4
|
1517
1543
|
summary: A powerful, userfriendly and flexible CMS for Rails
|
@@ -1,55 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "sprockets/manifest"
|
4
|
-
require "active_support/core_ext/module/attribute_accessors"
|
5
|
-
|
6
|
-
module NonStupidDigestAssets
|
7
|
-
mattr_accessor :whitelist
|
8
|
-
@@whitelist = []
|
9
|
-
|
10
|
-
class << self
|
11
|
-
def assets(assets)
|
12
|
-
return assets if whitelist.empty?
|
13
|
-
|
14
|
-
whitelisted_assets(assets)
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
def whitelisted_assets(assets)
|
20
|
-
assets.select do |logical_path, _digest_path|
|
21
|
-
whitelist.any? do |item|
|
22
|
-
item =~ logical_path
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
module CompileWithNonDigest
|
29
|
-
def compile(*args)
|
30
|
-
paths = super
|
31
|
-
NonStupidDigestAssets.assets(assets).each do |(logical_path, digest_path)|
|
32
|
-
full_digest_path = File.join dir, digest_path
|
33
|
-
full_digest_gz_path = "#{full_digest_path}.gz"
|
34
|
-
full_non_digest_path = File.join dir, logical_path
|
35
|
-
full_non_digest_gz_path = "#{full_non_digest_path}.gz"
|
36
|
-
|
37
|
-
if File.exist? full_digest_path
|
38
|
-
logger.debug "Writing #{full_non_digest_path}"
|
39
|
-
FileUtils.copy_file full_digest_path, full_non_digest_path, :preserve_attributes
|
40
|
-
else
|
41
|
-
logger.debug "Could not find: #{full_digest_path}"
|
42
|
-
end
|
43
|
-
if File.exist? full_digest_gz_path
|
44
|
-
logger.debug "Writing #{full_non_digest_gz_path}"
|
45
|
-
FileUtils.copy_file full_digest_gz_path, full_non_digest_gz_path, :preserve_attributes
|
46
|
-
else
|
47
|
-
logger.debug "Could not find: #{full_digest_gz_path}"
|
48
|
-
end
|
49
|
-
end
|
50
|
-
paths
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
Sprockets::Manifest.prepend NonStupidDigestAssets::CompileWithNonDigest
|