alchemy_cms 6.0.14 → 6.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|