alchemy_cms 6.0.12 → 6.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/brakeman-analysis.yml +26 -26
  3. data/.github/workflows/ci.yml +1 -1
  4. data/.github/workflows/stale.yml +2 -0
  5. data/CHANGELOG.md +45 -0
  6. data/Gemfile +2 -2
  7. data/alchemy_cms.gemspec +1 -1
  8. data/app/assets/javascripts/alchemy/alchemy.link_dialog.js.coffee +13 -11
  9. data/app/assets/stylesheets/alchemy/_variables.scss +9 -4
  10. data/app/assets/stylesheets/alchemy/elements.scss +96 -4
  11. data/app/assets/stylesheets/alchemy/forms.scss +59 -17
  12. data/app/assets/stylesheets/tinymce/skins/alchemy/content.min.css.scss +3 -3
  13. data/app/controllers/alchemy/admin/ingredients_controller.rb +1 -1
  14. data/app/controllers/alchemy/admin/pages_controller.rb +3 -3
  15. data/app/controllers/alchemy/api/ingredients_controller.rb +22 -0
  16. data/app/controllers/alchemy/messages_controller.rb +1 -1
  17. data/app/decorators/alchemy/ingredient_editor.rb +4 -0
  18. data/app/helpers/alchemy/url_helper.rb +0 -8
  19. data/app/models/alchemy/element/definitions.rb +16 -2
  20. data/app/models/alchemy/element/dom_id.rb +30 -0
  21. data/app/models/alchemy/element/element_contents.rb +39 -0
  22. data/app/models/alchemy/element/element_essences.rb +9 -1
  23. data/app/models/alchemy/element/element_ingredients.rb +7 -0
  24. data/app/models/alchemy/element/presenters.rb +1 -1
  25. data/app/models/alchemy/element.rb +14 -0
  26. data/app/models/alchemy/ingredients/headline.rb +4 -1
  27. data/app/models/alchemy/ingredients/text.rb +3 -0
  28. data/app/models/alchemy/page/page_layouts.rb +128 -0
  29. data/app/models/alchemy/page.rb +5 -2
  30. data/app/models/alchemy/picture_thumb/create.rb +15 -3
  31. data/app/models/concerns/alchemy/dom_ids.rb +32 -0
  32. data/app/serializers/alchemy/ingredient_serializer.rb +11 -0
  33. data/app/views/alchemy/admin/elements/update.js.erb +3 -0
  34. data/app/views/alchemy/admin/ingredients/_dom_id_fields.html.erb +4 -0
  35. data/app/views/alchemy/admin/ingredients/_headline_fields.html.erb +3 -0
  36. data/app/views/alchemy/admin/ingredients/_text_fields.html.erb +3 -0
  37. data/app/views/alchemy/admin/ingredients/update.js.erb +7 -0
  38. data/app/views/alchemy/admin/languages/_form.html.erb +1 -1
  39. data/app/views/alchemy/admin/languages/_language.html.erb +1 -1
  40. data/app/views/alchemy/admin/pages/_form.html.erb +9 -0
  41. data/app/views/alchemy/admin/pages/_page_layout_filter.html.erb +1 -1
  42. data/app/views/alchemy/admin/partials/_routes.html.erb +2 -1
  43. data/app/views/alchemy/ingredients/_headline_editor.html.erb +22 -20
  44. data/app/views/alchemy/ingredients/_headline_view.html.erb +1 -0
  45. data/app/views/alchemy/ingredients/_text_editor.html.erb +3 -0
  46. data/app/views/alchemy/ingredients/_text_view.html.erb +7 -3
  47. data/app/views/alchemy/ingredients/shared/_anchor.html.erb +9 -0
  48. data/app/views/alchemy/messages_mailer/contact_form_mail.de.text.erb +2 -0
  49. data/app/views/alchemy/messages_mailer/contact_form_mail.en.text.erb +2 -0
  50. data/app/views/alchemy/messages_mailer/contact_form_mail.es.text.erb +2 -0
  51. data/config/locales/alchemy.en.yml +7 -2
  52. data/config/routes.rb +1 -0
  53. data/db/migrate/20230123112425_add_searchable_to_alchemy_pages.rb +9 -0
  54. data/lib/alchemy/deprecation.rb +1 -1
  55. data/lib/alchemy/error_tracking/error_logger.rb +13 -0
  56. data/lib/alchemy/error_tracking.rb +3 -1
  57. data/lib/alchemy/page_layout.rb +0 -113
  58. data/lib/alchemy/test_support/shared_dom_ids_examples.rb +119 -0
  59. data/lib/alchemy/upgrader/tasks/ingredients_migrator.rb +7 -5
  60. data/lib/alchemy/version.rb +1 -1
  61. data/lib/alchemy.rb +17 -0
  62. data/package/admin.js +2 -0
  63. data/package/src/ingredient_anchor_link.js +17 -0
  64. data/package.json +2 -2
  65. data/vendor/assets/javascripts/tinymce/tinymce.min.js +2 -2
  66. metadata +19 -5
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.12
4
+ version: 6.1.1
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: 2022-11-19 00:00:00.000000000 Z
16
+ date: 2023-01-23 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: actionmailer
@@ -591,14 +591,14 @@ dependencies:
591
591
  requirements:
592
592
  - - "~>"
593
593
  - !ruby/object:Gem::Version
594
- version: '5.0'
594
+ version: '6.0'
595
595
  type: :development
596
596
  prerelease: false
597
597
  version_requirements: !ruby/object:Gem::Requirement
598
598
  requirements:
599
599
  - - "~>"
600
600
  - !ruby/object:Gem::Version
601
- version: '5.0'
601
+ version: '6.0'
602
602
  - !ruby/object:Gem::Dependency
603
603
  name: rails-controller-testing
604
604
  requirement: !ruby/object:Gem::Requirement
@@ -875,6 +875,7 @@ files:
875
875
  - app/controllers/alchemy/api/base_controller.rb
876
876
  - app/controllers/alchemy/api/contents_controller.rb
877
877
  - app/controllers/alchemy/api/elements_controller.rb
878
+ - app/controllers/alchemy/api/ingredients_controller.rb
878
879
  - app/controllers/alchemy/api/nodes_controller.rb
879
880
  - app/controllers/alchemy/api/pages_controller.rb
880
881
  - app/controllers/alchemy/attachments_controller.rb
@@ -919,6 +920,7 @@ files:
919
920
  - app/models/alchemy/eager_loading.rb
920
921
  - app/models/alchemy/element.rb
921
922
  - app/models/alchemy/element/definitions.rb
923
+ - app/models/alchemy/element/dom_id.rb
922
924
  - app/models/alchemy/element/element_contents.rb
923
925
  - app/models/alchemy/element/element_essences.rb
924
926
  - app/models/alchemy/element/element_ingredients.rb
@@ -966,6 +968,7 @@ files:
966
968
  - app/models/alchemy/page.rb
967
969
  - app/models/alchemy/page/fixed_attributes.rb
968
970
  - app/models/alchemy/page/page_elements.rb
971
+ - app/models/alchemy/page/page_layouts.rb
969
972
  - app/models/alchemy/page/page_naming.rb
970
973
  - app/models/alchemy/page/page_natures.rb
971
974
  - app/models/alchemy/page/page_scopes.rb
@@ -986,6 +989,7 @@ files:
986
989
  - app/models/alchemy/site/layout.rb
987
990
  - app/models/alchemy/tag.rb
988
991
  - app/models/alchemy/tree_node.rb
992
+ - app/models/concerns/alchemy/dom_ids.rb
989
993
  - app/models/concerns/alchemy/picture_thumbnails.rb
990
994
  - app/models/concerns/alchemy/touch_elements.rb
991
995
  - app/presenters/alchemy/picture_view.rb
@@ -1002,6 +1006,7 @@ files:
1002
1006
  - app/serializers/alchemy/essence_richtext_serializer.rb
1003
1007
  - app/serializers/alchemy/essence_select_serializer.rb
1004
1008
  - app/serializers/alchemy/essence_text_serializer.rb
1009
+ - app/serializers/alchemy/ingredient_serializer.rb
1005
1010
  - app/serializers/alchemy/node_serializer.rb
1006
1011
  - app/serializers/alchemy/page_serializer.rb
1007
1012
  - app/serializers/alchemy/page_tree_serializer.rb
@@ -1060,10 +1065,14 @@ files:
1060
1065
  - app/views/alchemy/admin/essence_pictures/update.js.erb
1061
1066
  - app/views/alchemy/admin/essence_videos/edit.html.erb
1062
1067
  - app/views/alchemy/admin/ingredients/_audio_fields.html.erb
1068
+ - app/views/alchemy/admin/ingredients/_dom_id_fields.html.erb
1063
1069
  - app/views/alchemy/admin/ingredients/_file_fields.html.erb
1070
+ - app/views/alchemy/admin/ingredients/_headline_fields.html.erb
1064
1071
  - app/views/alchemy/admin/ingredients/_picture_fields.html.erb
1072
+ - app/views/alchemy/admin/ingredients/_text_fields.html.erb
1065
1073
  - app/views/alchemy/admin/ingredients/_video_fields.html.erb
1066
1074
  - app/views/alchemy/admin/ingredients/edit.html.erb
1075
+ - app/views/alchemy/admin/ingredients/update.js.erb
1067
1076
  - app/views/alchemy/admin/languages/_form.html.erb
1068
1077
  - app/views/alchemy/admin/languages/_language.html.erb
1069
1078
  - app/views/alchemy/admin/languages/_table.html.erb
@@ -1240,6 +1249,7 @@ files:
1240
1249
  - app/views/alchemy/ingredients/_text_view.html.erb
1241
1250
  - app/views/alchemy/ingredients/_video_editor.html.erb
1242
1251
  - app/views/alchemy/ingredients/_video_view.html.erb
1252
+ - app/views/alchemy/ingredients/shared/_anchor.html.erb
1243
1253
  - app/views/alchemy/ingredients/shared/_link_tools.html.erb
1244
1254
  - app/views/alchemy/ingredients/shared/_picture_tools.html.erb
1245
1255
  - app/views/alchemy/language_links/_language.html.erb
@@ -1295,6 +1305,7 @@ files:
1295
1305
  - db/migrate/20210508091432_create_alchemy_ingredients.rb
1296
1306
  - db/migrate/20220514072456_restrict_on_delete_page_id_foreign_key_from_alchemy_nodes.rb
1297
1307
  - db/migrate/20220622130905_add_playsinline_to_alchemy_essence_videos.rb
1308
+ - db/migrate/20230123112425_add_searchable_to_alchemy_pages.rb
1298
1309
  - lib/alchemy.rb
1299
1310
  - lib/alchemy/ability_helper.rb
1300
1311
  - lib/alchemy/admin/locale.rb
@@ -1312,6 +1323,7 @@ files:
1312
1323
  - lib/alchemy/elements_finder.rb
1313
1324
  - lib/alchemy/engine.rb
1314
1325
  - lib/alchemy/error_tracking.rb
1326
+ - lib/alchemy/error_tracking/error_logger.rb
1315
1327
  - lib/alchemy/errors.rb
1316
1328
  - lib/alchemy/essence.rb
1317
1329
  - lib/alchemy/filetypes.rb
@@ -1361,6 +1373,7 @@ files:
1361
1373
  - lib/alchemy/test_support/having_picture_thumbnails_examples.rb
1362
1374
  - lib/alchemy/test_support/integration_helpers.rb
1363
1375
  - lib/alchemy/test_support/shared_contexts.rb
1376
+ - lib/alchemy/test_support/shared_dom_ids_examples.rb
1364
1377
  - lib/alchemy/test_support/shared_ingredient_editor_examples.rb
1365
1378
  - lib/alchemy/test_support/shared_ingredient_examples.rb
1366
1379
  - lib/alchemy/test_support/shared_uploader_examples.rb
@@ -1432,6 +1445,7 @@ files:
1432
1445
  - package/src/i18n.js
1433
1446
  - package/src/image_cropper.js
1434
1447
  - package/src/image_loader.js
1448
+ - package/src/ingredient_anchor_link.js
1435
1449
  - package/src/node_tree.js
1436
1450
  - package/src/page_publication_fields.js
1437
1451
  - package/src/page_sorter.js
@@ -1524,7 +1538,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1524
1538
  version: '0'
1525
1539
  requirements:
1526
1540
  - ImageMagick (libmagick), v6.6 or greater.
1527
- rubygems_version: 3.3.7
1541
+ rubygems_version: 3.3.26
1528
1542
  signing_key:
1529
1543
  specification_version: 4
1530
1544
  summary: A powerful, userfriendly and flexible CMS for Rails