alchemy_cms 5.3.3 → 6.0.0.b1
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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +6 -14
- data/.gitignore +1 -1
- data/.hound.yml +1 -1
- data/.rubocop.yml +46 -4
- data/CHANGELOG.md +80 -64
- data/Gemfile +4 -2
- data/README.md +5 -2
- data/Rakefile +0 -18
- data/alchemy_cms.gemspec +78 -65
- data/app/assets/javascripts/alchemy/admin.js +2 -2
- data/app/assets/javascripts/alchemy/alchemy.base.js.coffee +0 -30
- data/app/assets/javascripts/alchemy/alchemy.confirm_dialog.js.coffee +2 -1
- data/app/assets/javascripts/alchemy/alchemy.dialog.js.coffee +2 -7
- data/app/assets/javascripts/alchemy/alchemy.dragndrop.js.coffee +0 -25
- data/app/assets/javascripts/alchemy/alchemy.element_editors.js.coffee +1 -1
- data/app/assets/javascripts/alchemy/alchemy.elements_window.js.coffee +2 -0
- data/app/assets/javascripts/alchemy/alchemy.fixed_elements.js +1 -1
- data/app/assets/javascripts/alchemy/alchemy.gui.js.coffee +3 -1
- data/app/assets/javascripts/alchemy/alchemy.image_overlay.coffee +1 -1
- data/app/assets/javascripts/alchemy/alchemy.link_dialog.js.coffee +40 -27
- data/app/assets/javascripts/alchemy/alchemy.page_sorter.js +24 -0
- data/app/assets/javascripts/alchemy/alchemy.sitemap.js.coffee +119 -0
- data/app/assets/javascripts/alchemy/page_select.js +8 -13
- data/app/assets/javascripts/alchemy/templates/index.js +0 -1
- data/app/assets/javascripts/alchemy/templates/node_folder.hbs +1 -1
- data/app/assets/javascripts/alchemy/templates/page.hbs +7 -17
- data/app/assets/stylesheets/alchemy/admin.scss +1 -1
- data/app/assets/stylesheets/alchemy/archive.scss +4 -8
- data/app/assets/stylesheets/alchemy/buttons.scss +0 -4
- data/app/assets/stylesheets/alchemy/elements.scss +73 -61
- data/app/assets/stylesheets/alchemy/images.scss +8 -0
- data/app/assets/stylesheets/alchemy/node-select.scss +4 -3
- data/app/assets/stylesheets/alchemy/page-select.scss +5 -29
- data/app/assets/stylesheets/alchemy/sitemap.scss +7 -9
- data/app/assets/stylesheets/tinymce/skins/alchemy/content.min.css.scss +3 -3
- data/app/assets/stylesheets/tinymce/skins/alchemy/skin.min.css.scss +7 -7
- data/app/controllers/alchemy/admin/attachments_controller.rb +6 -2
- data/app/controllers/alchemy/admin/base_controller.rb +8 -16
- data/app/controllers/alchemy/admin/elements_controller.rb +58 -34
- data/app/controllers/alchemy/admin/essence_audios_controller.rb +30 -0
- data/app/controllers/alchemy/admin/essence_files_controller.rb +0 -14
- data/app/controllers/alchemy/admin/essence_pictures_controller.rb +8 -79
- data/app/controllers/alchemy/admin/essence_videos_controller.rb +33 -0
- data/app/controllers/alchemy/admin/ingredients_controller.rb +30 -0
- data/app/controllers/alchemy/admin/layoutpages_controller.rb +0 -1
- data/app/controllers/alchemy/admin/pages_controller.rb +19 -23
- data/app/controllers/alchemy/admin/pictures_controller.rb +35 -9
- data/app/controllers/alchemy/api/elements_controller.rb +10 -5
- data/app/controllers/alchemy/api/pages_controller.rb +3 -15
- data/app/controllers/concerns/alchemy/admin/archive_overlay.rb +13 -3
- data/app/controllers/concerns/alchemy/admin/crop_action.rb +26 -0
- data/app/decorators/alchemy/element_editor.rb +23 -1
- data/app/decorators/alchemy/ingredient_editor.rb +154 -0
- data/app/helpers/alchemy/admin/elements_helper.rb +1 -0
- data/app/helpers/alchemy/admin/essences_helper.rb +1 -1
- data/app/helpers/alchemy/admin/ingredients_helper.rb +42 -0
- data/app/helpers/alchemy/elements_block_helper.rb +22 -7
- data/app/helpers/alchemy/elements_helper.rb +12 -5
- data/app/helpers/alchemy/pages_helper.rb +3 -11
- data/app/jobs/alchemy/base_job.rb +11 -0
- data/app/jobs/alchemy/publish_page_job.rb +11 -0
- data/app/models/alchemy/attachment.rb +1 -1
- data/app/models/alchemy/content/factory.rb +23 -27
- data/app/models/alchemy/content.rb +1 -6
- data/app/models/alchemy/element/definitions.rb +29 -27
- data/app/models/alchemy/element/element_contents.rb +131 -122
- data/app/models/alchemy/element/element_essences.rb +100 -98
- data/app/models/alchemy/element/element_ingredients.rb +176 -0
- data/app/models/alchemy/element/presenters.rb +89 -87
- data/app/models/alchemy/element.rb +40 -73
- data/app/models/alchemy/elements_repository.rb +126 -0
- data/app/models/alchemy/essence_audio.rb +12 -0
- data/app/models/alchemy/essence_headline.rb +40 -0
- data/app/models/alchemy/essence_picture.rb +4 -116
- data/app/models/alchemy/essence_richtext.rb +12 -0
- data/app/models/alchemy/essence_video.rb +12 -0
- data/app/models/alchemy/image_cropper_settings.rb +87 -0
- data/app/models/alchemy/ingredient.rb +219 -0
- data/app/models/alchemy/ingredient_validator.rb +97 -0
- data/app/models/alchemy/ingredients/audio.rb +29 -0
- data/app/models/alchemy/ingredients/boolean.rb +21 -0
- data/app/models/alchemy/ingredients/datetime.rb +20 -0
- data/app/models/alchemy/ingredients/file.rb +30 -0
- data/app/models/alchemy/ingredients/headline.rb +42 -0
- data/app/models/alchemy/ingredients/html.rb +19 -0
- data/app/models/alchemy/ingredients/link.rb +16 -0
- data/app/models/alchemy/ingredients/node.rb +23 -0
- data/app/models/alchemy/ingredients/page.rb +23 -0
- data/app/models/alchemy/ingredients/picture.rb +41 -0
- data/app/models/alchemy/ingredients/richtext.rb +57 -0
- data/app/models/alchemy/ingredients/select.rb +10 -0
- data/app/models/alchemy/ingredients/text.rb +17 -0
- data/app/models/alchemy/ingredients/video.rb +33 -0
- data/app/models/alchemy/language.rb +0 -11
- data/app/models/alchemy/node.rb +1 -1
- data/app/models/alchemy/page/fixed_attributes.rb +53 -51
- data/app/models/alchemy/page/page_elements.rb +186 -205
- data/app/models/alchemy/page/page_naming.rb +66 -64
- data/app/models/alchemy/page/page_natures.rb +139 -142
- data/app/models/alchemy/page/page_scopes.rb +113 -102
- data/app/models/alchemy/page/publisher.rb +50 -0
- data/app/models/alchemy/page/url_path.rb +1 -1
- data/app/models/alchemy/page.rb +69 -36
- data/app/models/alchemy/page_version.rb +58 -0
- data/app/models/alchemy/picture/calculations.rb +2 -8
- data/app/models/alchemy/picture/preprocessor.rb +2 -0
- data/app/models/alchemy/picture/transformations.rb +21 -93
- data/app/models/alchemy/picture.rb +4 -2
- data/app/models/concerns/alchemy/picture_thumbnails.rb +181 -0
- data/app/models/concerns/alchemy/touch_elements.rb +2 -2
- data/app/presenters/alchemy/picture_view.rb +88 -0
- data/app/serializers/alchemy/element_serializer.rb +5 -0
- data/app/serializers/alchemy/page_serializer.rb +1 -7
- data/app/serializers/alchemy/page_tree_serializer.rb +6 -5
- data/app/services/alchemy/delete_elements.rb +44 -0
- data/app/services/alchemy/duplicate_element.rb +56 -0
- data/app/views/alchemy/admin/attachments/_archive_overlay.html.erb +1 -2
- data/app/views/alchemy/admin/attachments/_file_to_assign.html.erb +3 -3
- data/app/views/alchemy/admin/attachments/assign.js.erb +11 -0
- data/app/views/alchemy/admin/crop.html.erb +36 -0
- data/app/views/alchemy/admin/elements/_element.html.erb +14 -10
- data/app/views/alchemy/admin/elements/{_element_footer.html.erb → _footer.html.erb} +0 -0
- data/app/views/alchemy/admin/elements/{_new_element_form.html.erb → _form.html.erb} +1 -1
- data/app/views/alchemy/admin/elements/{_element_header.html.erb → _header.html.erb} +1 -1
- data/app/views/alchemy/admin/elements/{_element_toolbar.html.erb → _toolbar.html.erb} +5 -6
- data/app/views/alchemy/admin/elements/{trash.js.erb → destroy.js.erb} +1 -3
- data/app/views/alchemy/admin/elements/new.html.erb +3 -3
- data/app/views/alchemy/admin/elements/order.js.erb +0 -17
- data/app/views/alchemy/admin/elements/update.js.erb +3 -2
- data/app/views/alchemy/admin/essence_audios/edit.html.erb +7 -0
- data/app/views/alchemy/admin/essence_pictures/update.js.erb +0 -1
- data/app/views/alchemy/admin/essence_videos/edit.html.erb +11 -0
- data/app/views/alchemy/admin/ingredients/_audio_fields.html.erb +4 -0
- data/app/views/alchemy/admin/ingredients/_file_fields.html.erb +18 -0
- data/app/views/alchemy/admin/ingredients/_picture_fields.html.erb +25 -0
- data/app/views/alchemy/admin/ingredients/_video_fields.html.erb +8 -0
- data/app/views/alchemy/admin/ingredients/edit.html.erb +4 -0
- data/app/views/alchemy/admin/layoutpages/edit.html.erb +0 -5
- data/app/views/alchemy/admin/nodes/_node.html.erb +2 -2
- data/app/views/alchemy/admin/pages/_anchor_link.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_external_link.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_file_link.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_form.html.erb +0 -25
- data/app/views/alchemy/admin/pages/_internal_link.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_new_page_form.html.erb +5 -16
- data/app/views/alchemy/admin/pages/_page.html.erb +133 -111
- data/app/views/alchemy/admin/pages/_sitemap.html.erb +16 -10
- data/app/views/alchemy/admin/pages/_tinymce_custom_config.html.erb +5 -2
- data/app/views/alchemy/admin/pages/_toolbar.html.erb +12 -0
- data/app/views/alchemy/admin/pages/edit.html.erb +37 -25
- data/app/views/alchemy/admin/pages/fold.js.erb +2 -0
- data/app/views/alchemy/admin/pages/index.html.erb +1 -1
- data/app/views/alchemy/admin/pages/sort.html.erb +19 -0
- data/app/views/alchemy/admin/pages/update.js.erb +0 -7
- data/app/views/alchemy/admin/partials/_remote_search_form.html.erb +2 -4
- data/app/views/alchemy/admin/partials/_routes.html.erb +8 -19
- data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +4 -8
- data/app/views/alchemy/admin/pictures/_infos.html.erb +0 -1
- data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +4 -4
- data/app/views/alchemy/admin/pictures/assign.js.erb +10 -0
- data/app/views/alchemy/admin/resources/_form.html.erb +1 -0
- data/app/views/alchemy/essences/_essence_audio_editor.html.erb +4 -0
- data/app/views/alchemy/essences/_essence_audio_view.html.erb +15 -0
- data/app/views/alchemy/essences/_essence_file_editor.html.erb +15 -6
- data/app/views/alchemy/essences/_essence_headline_editor.html.erb +36 -0
- data/app/views/alchemy/essences/_essence_headline_view.html.erb +10 -0
- data/app/views/alchemy/essences/_essence_link_editor.html.erb +8 -4
- data/app/views/alchemy/essences/_essence_page_editor.html.erb +1 -1
- data/app/views/alchemy/essences/_essence_picture_editor.html.erb +27 -12
- data/app/views/alchemy/essences/_essence_text_editor.html.erb +12 -4
- data/app/views/alchemy/essences/_essence_video_editor.html.erb +4 -0
- data/app/views/alchemy/essences/_essence_video_view.html.erb +18 -0
- data/app/views/alchemy/essences/shared/_essence_picture_tools.html.erb +21 -16
- data/app/views/alchemy/essences/shared/_linkable_essence_tools.html.erb +2 -2
- data/app/views/alchemy/ingredients/_audio_editor.html.erb +5 -0
- data/app/views/alchemy/ingredients/_audio_view.html.erb +14 -0
- data/app/views/alchemy/ingredients/_boolean_editor.html.erb +11 -0
- data/app/views/alchemy/ingredients/_boolean_view.html.erb +1 -0
- data/app/views/alchemy/ingredients/_datetime_editor.html.erb +17 -0
- data/app/views/alchemy/ingredients/_datetime_view.html.erb +9 -0
- data/app/views/alchemy/ingredients/_file_editor.html.erb +50 -0
- data/app/views/alchemy/ingredients/_file_view.html.erb +17 -0
- data/app/views/alchemy/ingredients/_headline_editor.html.erb +30 -0
- data/app/views/alchemy/ingredients/_headline_view.html.erb +9 -0
- data/app/views/alchemy/ingredients/_html_editor.html.erb +8 -0
- data/app/views/alchemy/ingredients/_html_view.html.erb +1 -0
- data/app/views/alchemy/ingredients/_link_editor.html.erb +24 -0
- data/app/views/alchemy/ingredients/_link_view.html.erb +9 -0
- data/app/views/alchemy/ingredients/_node_editor.html.erb +25 -0
- data/app/views/alchemy/ingredients/_node_view.html.erb +1 -0
- data/app/views/alchemy/ingredients/_page_editor.html.erb +24 -0
- data/app/views/alchemy/ingredients/_page_view.html.erb +4 -0
- data/app/views/alchemy/ingredients/_picture_editor.html.erb +59 -0
- data/app/views/alchemy/ingredients/_picture_view.html.erb +5 -0
- data/app/views/alchemy/ingredients/_richtext_editor.html.erb +12 -0
- data/app/views/alchemy/ingredients/_richtext_view.html.erb +3 -0
- data/app/views/alchemy/ingredients/_select_editor.html.erb +29 -0
- data/app/views/alchemy/ingredients/_select_view.html.erb +1 -0
- data/app/views/alchemy/ingredients/_text_editor.html.erb +19 -0
- data/app/views/alchemy/ingredients/_text_view.html.erb +16 -0
- data/app/views/alchemy/ingredients/_video_editor.html.erb +5 -0
- data/app/views/alchemy/ingredients/_video_view.html.erb +17 -0
- data/app/views/alchemy/ingredients/shared/_link_tools.html.erb +20 -0
- data/app/views/alchemy/ingredients/shared/_picture_tools.html.erb +57 -0
- data/config/brakeman.ignore +66 -159
- data/config/initializers/dragonfly.rb +2 -0
- data/config/locales/alchemy.en.yml +26 -15
- data/config/routes.rb +19 -26
- data/db/migrate/20201207131309_create_page_versions.rb +19 -0
- data/db/migrate/20201207135820_add_page_version_id_to_alchemy_elements.rb +76 -0
- data/db/migrate/20210205143548_rename_public_on_and_public_until_on_alchemy_pages.rb +10 -0
- data/db/migrate/20210326105046_add_sanitized_body_to_alchemy_essence_richtexts.rb +7 -0
- data/db/migrate/20210406093436_add_alchemy_essence_headlines.rb +12 -0
- data/db/migrate/20210506135919_create_essence_audios.rb +19 -0
- data/db/migrate/20210506140258_create_essence_videos.rb +23 -0
- data/db/migrate/20210508091432_create_alchemy_ingredients.rb +22 -0
- data/lib/alchemy/admin/preview_url.rb +2 -0
- data/lib/alchemy/deprecation.rb +1 -1
- data/lib/alchemy/dragonfly/processors/auto_orient.rb +18 -0
- data/lib/alchemy/elements_finder.rb +14 -60
- data/lib/alchemy/engine.rb +1 -8
- data/lib/alchemy/essence.rb +1 -2
- data/lib/alchemy/hints.rb +8 -4
- data/lib/alchemy/page_layout.rb +0 -13
- data/lib/alchemy/permissions.rb +31 -29
- data/lib/alchemy/resource.rb +13 -3
- data/lib/alchemy/tasks/tidy.rb +29 -0
- data/lib/alchemy/test_support/essence_shared_examples.rb +0 -1
- data/lib/alchemy/test_support/factories/element_factory.rb +8 -8
- data/lib/alchemy/test_support/factories/essence_audio_factory.rb +7 -0
- data/lib/alchemy/test_support/factories/essence_video_factory.rb +7 -0
- data/lib/alchemy/test_support/factories/ingredient_factory.rb +25 -0
- data/lib/alchemy/test_support/factories/page_factory.rb +20 -1
- data/lib/alchemy/test_support/factories/page_version_factory.rb +23 -0
- data/lib/alchemy/test_support/having_crop_action_examples.rb +170 -0
- data/lib/alchemy/test_support/having_picture_thumbnails_examples.rb +646 -0
- data/lib/alchemy/test_support/shared_ingredient_editor_examples.rb +21 -0
- data/lib/alchemy/test_support/shared_ingredient_examples.rb +57 -0
- data/lib/alchemy/test_support.rb +2 -11
- data/lib/alchemy/tinymce.rb +17 -0
- data/lib/alchemy/upgrader/five_point_zero.rb +0 -32
- data/lib/alchemy/upgrader/six_point_zero.rb +21 -0
- data/lib/alchemy/upgrader/tasks/add_page_versions.rb +33 -0
- data/lib/alchemy/upgrader/tasks/ingredients_migrator.rb +51 -0
- data/lib/alchemy/version.rb +1 -1
- data/lib/alchemy_cms.rb +0 -1
- data/lib/generators/alchemy/elements/elements_generator.rb +1 -0
- data/lib/generators/alchemy/elements/templates/view.html.erb +9 -0
- data/lib/generators/alchemy/elements/templates/view.html.haml +9 -0
- data/lib/generators/alchemy/elements/templates/view.html.slim +9 -0
- data/lib/generators/alchemy/ingredient/ingredient_generator.rb +38 -0
- data/lib/generators/alchemy/ingredient/templates/editor.html.erb +14 -0
- data/lib/generators/alchemy/ingredient/templates/model.rb.tt +13 -0
- data/lib/generators/alchemy/ingredient/templates/view.html.erb +1 -0
- data/lib/generators/alchemy/install/install_generator.rb +1 -2
- data/lib/generators/alchemy/install/templates/dragonfly.rb.tt +1 -1
- data/lib/generators/alchemy/menus/templates/node.html.erb +1 -1
- data/lib/generators/alchemy/menus/templates/node.html.haml +1 -1
- data/lib/generators/alchemy/menus/templates/node.html.slim +1 -1
- data/lib/generators/alchemy/menus/templates/wrapper.html.erb +1 -1
- data/lib/generators/alchemy/menus/templates/wrapper.html.haml +1 -1
- data/lib/generators/alchemy/menus/templates/wrapper.html.slim +1 -1
- data/lib/tasks/alchemy/tidy.rake +12 -0
- data/lib/tasks/alchemy/upgrade.rake +21 -15
- data/package/admin.js +8 -4
- data/package/src/file_editors.js +28 -0
- data/package/src/image_cropper.js +103 -0
- data/package/src/image_loader.js +58 -0
- data/package/src/node_tree.js +8 -8
- data/package/src/picture_editors.js +169 -0
- data/package/src/utils/__tests__/ajax.spec.js +16 -52
- data/package/src/utils/ajax.js +0 -12
- data/package.json +3 -2
- data/vendor/assets/javascripts/jquery_plugins/jquery.Jcrop.min.js +3 -18
- data/vendor/assets/javascripts/jquery_plugins/jquery.ui.nestedSortable.js +434 -0
- data/vendor/assets/stylesheets/jquery.Jcrop.min.scss +2 -28
- metadata +291 -53
- data/.rspec +0 -1
- data/app/assets/javascripts/alchemy/alchemy.image_cropper.js.coffee +0 -44
- data/app/assets/javascripts/alchemy/alchemy.trash_window.js.coffee +0 -30
- data/app/assets/javascripts/alchemy/templates/page_folder.hbs +0 -3
- data/app/assets/stylesheets/alchemy/trash.scss +0 -8
- data/app/controllers/alchemy/admin/trash_controller.rb +0 -44
- data/app/views/alchemy/admin/essence_files/assign.js.erb +0 -3
- data/app/views/alchemy/admin/essence_pictures/assign.js.erb +0 -4
- data/app/views/alchemy/admin/essence_pictures/crop.html.erb +0 -48
- data/app/views/alchemy/admin/trash/clear.js.erb +0 -4
- data/app/views/alchemy/admin/trash/index.html.erb +0 -31
- data/lib/alchemy/error_tracking/airbrake_handler.rb +0 -13
- data/lib/alchemy/error_tracking.rb +0 -14
- data/lib/alchemy/test_support/factories.rb +0 -20
- data/package/src/page_publication_fields.js +0 -27
- data/package/src/page_sorter.js +0 -62
- data/package/src/sitemap.js +0 -148
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0f491f19d3f42a56aa03e0a82724e1473413c926f9bb9a823f909726415bb844
|
|
4
|
+
data.tar.gz: 42c4841d037f5d351305b4e2c97fdc9298a4b886d51b666436c712f1c9c7ce80
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fbb3af41e4d5a9715507f87d38d87f0dea4ceb9c62750721587ce14a7e7aa32f89b7e044fac5b14ab68781539f80b16297cce668b0bef76eb96b099c157b751c
|
|
7
|
+
data.tar.gz: fdd0443e75620528d6434eeb13fb675db04f3a91911b92f66122df83c963a737509a99d968ddd48189195340ea00e06310919d3ba201906291088c66ee5ec455
|
data/.github/workflows/ci.yml
CHANGED
|
@@ -9,12 +9,11 @@ jobs:
|
|
|
9
9
|
fail-fast: false
|
|
10
10
|
matrix:
|
|
11
11
|
rails:
|
|
12
|
-
- '5.2'
|
|
13
12
|
- '6.0'
|
|
14
13
|
ruby:
|
|
15
|
-
- '2.
|
|
16
|
-
- '2.
|
|
17
|
-
- '
|
|
14
|
+
- '2.6.6'
|
|
15
|
+
- '2.7.2'
|
|
16
|
+
- '3.0.0'
|
|
18
17
|
database:
|
|
19
18
|
- mysql
|
|
20
19
|
- postgresql
|
|
@@ -46,9 +45,10 @@ jobs:
|
|
|
46
45
|
steps:
|
|
47
46
|
- uses: actions/checkout@v2.3.4
|
|
48
47
|
- name: Set up Ruby
|
|
49
|
-
uses:
|
|
48
|
+
uses: ruby/setup-ruby@v1
|
|
50
49
|
with:
|
|
51
50
|
ruby-version: ${{ matrix.ruby }}
|
|
51
|
+
bundler-cache: true
|
|
52
52
|
- name: Restore apt cache
|
|
53
53
|
id: apt-cache
|
|
54
54
|
uses: actions/cache@v2.1.3
|
|
@@ -74,18 +74,10 @@ jobs:
|
|
|
74
74
|
- name: Install bundler
|
|
75
75
|
run: |
|
|
76
76
|
gem install bundler
|
|
77
|
-
- name: Restore Ruby Gems cache
|
|
78
|
-
id: cache
|
|
79
|
-
uses: actions/cache@v2.1.3
|
|
80
|
-
with:
|
|
81
|
-
path: vendor/bundle
|
|
82
|
-
key: ${{ runner.os }}-bundle-${{ matrix.ruby }}-${{ matrix.rails }}-${{ matrix.database }}-${{ hashFiles('**/Gemfile') }}
|
|
83
|
-
restore-keys: |
|
|
84
|
-
${{ runner.os }}-bundle-
|
|
85
77
|
- name: Install bundle
|
|
86
78
|
timeout-minutes: 10
|
|
87
79
|
run: |
|
|
88
|
-
bundle install --jobs 4 --retry 3
|
|
80
|
+
bundle install --jobs 4 --retry 3
|
|
89
81
|
- name: Restore node modules cache
|
|
90
82
|
id: yarn-cache
|
|
91
83
|
uses: actions/cache@v2.1.3
|
data/.gitignore
CHANGED
|
@@ -10,7 +10,6 @@ tmp
|
|
|
10
10
|
log
|
|
11
11
|
.sass-cache
|
|
12
12
|
spec/dummy/.browserslistrc
|
|
13
|
-
spec/dummy/app/assets/stylesheets/alchemy/
|
|
14
13
|
spec/dummy/app/javascript/
|
|
15
14
|
spec/dummy/babel.config.js
|
|
16
15
|
spec/dummy/bin/webpack
|
|
@@ -34,6 +33,7 @@ spec/dummy/uploads/
|
|
|
34
33
|
.ruby-gemset
|
|
35
34
|
.ruby-version
|
|
36
35
|
.env
|
|
36
|
+
.rspec
|
|
37
37
|
node_modules
|
|
38
38
|
yarn-error.log
|
|
39
39
|
yarn-debug.log*
|
data/.hound.yml
CHANGED
data/.rubocop.yml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Relaxed.Ruby.Style
|
|
2
2
|
|
|
3
3
|
AllCops:
|
|
4
|
-
TargetRubyVersion: 2.
|
|
4
|
+
TargetRubyVersion: 2.5
|
|
5
5
|
Exclude:
|
|
6
6
|
- 'bin/rspec'
|
|
7
7
|
- 'vendor/**/*'
|
|
@@ -100,9 +100,6 @@ Layout/MultilineMethodCallBraceLayout:
|
|
|
100
100
|
Layout/MultilineMethodCallIndentation:
|
|
101
101
|
Enabled: false
|
|
102
102
|
|
|
103
|
-
Layout/MultilineOperationIndentation:
|
|
104
|
-
EnforcedStyle: indented
|
|
105
|
-
|
|
106
103
|
Layout/SpaceBeforeBlockBraces:
|
|
107
104
|
Enabled: false
|
|
108
105
|
StyleGuide: http://relaxed.ruby.style/#stylespacebeforeblockbraces
|
|
@@ -309,3 +306,48 @@ Naming/PredicateName:
|
|
|
309
306
|
|
|
310
307
|
Naming/VariableNumber:
|
|
311
308
|
Enabled: false
|
|
309
|
+
|
|
310
|
+
Lint/DuplicateBranch: # (new in 1.3)
|
|
311
|
+
Enabled: false
|
|
312
|
+
|
|
313
|
+
Lint/DuplicateRegexpCharacterClassElement: # (new in 1.1)
|
|
314
|
+
Enabled: false
|
|
315
|
+
|
|
316
|
+
Lint/EmptyBlock: # (new in 1.1)
|
|
317
|
+
Enabled: false
|
|
318
|
+
|
|
319
|
+
Lint/EmptyClass: # (new in 1.3)
|
|
320
|
+
Enabled: false
|
|
321
|
+
|
|
322
|
+
Lint/NoReturnInBeginEndBlocks: # (new in 1.2)
|
|
323
|
+
Enabled: false
|
|
324
|
+
|
|
325
|
+
Lint/ToEnumArguments: # (new in 1.1)
|
|
326
|
+
Enabled: false
|
|
327
|
+
|
|
328
|
+
Lint/UnexpectedBlockArity: # (new in 1.5)
|
|
329
|
+
Enabled: false
|
|
330
|
+
|
|
331
|
+
Lint/UnmodifiedReduceAccumulator: # (new in 1.1)
|
|
332
|
+
Enabled: false
|
|
333
|
+
|
|
334
|
+
Style/ArgumentsForwarding: # (new in 1.1)
|
|
335
|
+
Enabled: false
|
|
336
|
+
|
|
337
|
+
Style/CollectionCompact: # (new in 1.2)
|
|
338
|
+
Enabled: false
|
|
339
|
+
|
|
340
|
+
Style/DocumentDynamicEvalDefinition: # (new in 1.1)
|
|
341
|
+
Enabled: false
|
|
342
|
+
|
|
343
|
+
Style/NegatedIfElseCondition: # (new in 1.2)
|
|
344
|
+
Enabled: false
|
|
345
|
+
|
|
346
|
+
Style/NilLambda: # (new in 1.3)
|
|
347
|
+
Enabled: false
|
|
348
|
+
|
|
349
|
+
Style/RedundantArgument: # (new in 1.4)
|
|
350
|
+
Enabled: false
|
|
351
|
+
|
|
352
|
+
Style/SwapValues: # (new in 1.1)
|
|
353
|
+
Enabled: false
|
data/CHANGELOG.md
CHANGED
|
@@ -1,74 +1,90 @@
|
|
|
1
|
-
##
|
|
1
|
+
## 6.0.0.b1 (2021-07-05)
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
- fix: Add support for ajax.get query params ([tvdeyen](https://github.com/tvdeyen))
|
|
5
|
-
- fix(Sitemap): Use response data ([tvdeyen](https://github.com/tvdeyen))
|
|
6
|
-
- Revert "Ajax: Send method override" ([tvdeyen](https://github.com/tvdeyen))
|
|
7
|
-
|
|
8
|
-
## 5.3.2 (2022-03-24)
|
|
9
|
-
|
|
10
|
-
- ImageLoader: Add error handling ([tvdeyen](https://github.com/tvdeyen))
|
|
11
|
-
- Fix new Sitemap ([tvdeyen](https://github.com/tvdeyen))
|
|
12
|
-
|
|
13
|
-
## 5.3.1 (2022-03-11)
|
|
14
|
-
|
|
15
|
-
- Allow all pages in API again ([tvdeyen](https://github.com/tvdeyen))
|
|
16
|
-
- New sortable page tree ([tvdeyen](https://github.com/tvdeyen))
|
|
17
|
-
- Send language_id to Api::PagesController#index so Pages can be restricted to the language of the page. ([dbwinger](https://github.com/dbwinger))
|
|
18
|
-
- Eager load in PageTree serializer ([tvdeyen](https://github.com/tvdeyen))
|
|
19
|
-
|
|
20
|
-
## 5.3.0 (2022-03-09)
|
|
21
|
-
|
|
22
|
-
- Allow parent page change ([tvdeyen](https://github.com/tvdeyen))
|
|
23
|
-
- Precompile packs during test setup ([tvdeyen](https://github.com/tvdeyen))
|
|
24
|
-
- Rework Sitemap JS ([tvdeyen](https://github.com/tvdeyen))
|
|
25
|
-
- Fix rendering errors in page configure overlay ([tvdeyen](https://github.com/tvdeyen))
|
|
26
|
-
|
|
27
|
-
## 5.2.7 (2022-03-01)
|
|
28
|
-
|
|
29
|
-
- Fix copying page with descendants to a different language ([dbwinger](https://github.com/dbwinger))
|
|
30
|
-
- Handle copying/pasting global pages ([dbwinger](https://github.com/dbwinger))
|
|
31
|
-
|
|
32
|
-
## 5.2.6 (2022-02-28)
|
|
33
|
-
|
|
34
|
-
- Add crop_resize Dragonfly processor ([tvdeyen](https://github.com/tvdeyen))
|
|
35
|
-
|
|
36
|
-
## 5.2.5 (2021-11-24)
|
|
37
|
-
|
|
38
|
-
- Adjust tinymce skin assets urls again ([tvdeyen](https://github.com/tvdeyen))
|
|
39
|
-
|
|
40
|
-
## 5.2.4 (2021-11-17)
|
|
41
|
-
|
|
42
|
-
- Set stampable user_class_name without root identifier ([tvdeyen](https://github.com/tvdeyen))
|
|
43
|
-
- Use relative path for tinymce font-face ([tvdeyen](https://github.com/tvdeyen))
|
|
44
|
-
|
|
45
|
-
## 5.2.3 (2021-10-26)
|
|
3
|
+
### Features
|
|
46
4
|
|
|
47
|
-
-
|
|
5
|
+
- Import essence video and audio from extension [#2089](https://github.com/AlchemyCMS/alchemy_cms/pull/2089) ([tvdeyen](https://github.com/tvdeyen))
|
|
6
|
+
- Introduce ingredients as new content structure [#2061](https://github.com/AlchemyCMS/alchemy_cms/pull/2061) ([tvdeyen](https://github.com/tvdeyen))
|
|
7
|
+
- Alchemy essence headline [#2060](https://github.com/AlchemyCMS/alchemy_cms/pull/2060) ([mamhoff](https://github.com/mamhoff))
|
|
8
|
+
- Add Page Versions [#2022](https://github.com/AlchemyCMS/alchemy_cms/pull/2022) ([tvdeyen](https://github.com/tvdeyen))
|
|
48
9
|
|
|
49
|
-
|
|
10
|
+
### Changes
|
|
50
11
|
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
- generate picture thumbnails only for pictures with convertible format [#
|
|
54
|
-
-
|
|
55
|
-
-
|
|
12
|
+
- Link dialog changes can be submitted by enter [#2144](https://github.com/AlchemyCMS/alchemy_cms/pull/2144) ([tvdeyen](https://github.com/tvdeyen))
|
|
13
|
+
- Extract Thumbnails and CropAction concerns [#2141](https://github.com/AlchemyCMS/alchemy_cms/pull/2141) ([tvdeyen](https://github.com/tvdeyen))
|
|
14
|
+
- generate picture thumbnails only for pictures with convertible format [#2129](https://github.com/AlchemyCMS/alchemy_cms/pull/2129) ([afdev82](https://github.com/afdev82))
|
|
15
|
+
- Only crop image if cropping is enabled [#2143](https://github.com/AlchemyCMS/alchemy_cms/pull/2143) ([tvdeyen](https://github.com/tvdeyen))
|
|
16
|
+
- expose translations in global Alchemy js object, #2113 [#2114](https://github.com/AlchemyCMS/alchemy_cms/pull/2114) ([afdev82](https://github.com/afdev82))
|
|
17
|
+
- Only return pages for current site in API [#2111](https://github.com/AlchemyCMS/alchemy_cms/pull/2111) ([tvdeyen](https://github.com/tvdeyen))
|
|
18
|
+
- Add crop_resize Dragonfly processor [#2109](https://github.com/AlchemyCMS/alchemy_cms/pull/2109) ([tvdeyen](https://github.com/tvdeyen))
|
|
19
|
+
- Auto-orient images based on their EXIF data [#2107](https://github.com/AlchemyCMS/alchemy_cms/pull/2107) ([tvdeyen](https://github.com/tvdeyen))
|
|
20
|
+
- Allow flatten as argument for Dragonfly encode [#2106](https://github.com/AlchemyCMS/alchemy_cms/pull/2106) ([tvdeyen](https://github.com/tvdeyen))
|
|
21
|
+
- Deprecate image format methods [#2103](https://github.com/AlchemyCMS/alchemy_cms/pull/2103) ([tvdeyen](https://github.com/tvdeyen))
|
|
22
|
+
- Do not attempt to generate thumbs for svg files (fixes upload of svg files) [#2090](https://github.com/AlchemyCMS/alchemy_cms/pull/2090) ([oneiros](https://github.com/oneiros))
|
|
23
|
+
- Trigger publish targets after page published [#2088](https://github.com/AlchemyCMS/alchemy_cms/pull/2088) ([tvdeyen](https://github.com/tvdeyen))
|
|
24
|
+
- Add collection option for resource relations [#2084](https://github.com/AlchemyCMS/alchemy_cms/pull/2084) ([robinboening](https://github.com/robinboening))
|
|
25
|
+
- Remove deprecated helper method page_active? [#2074](https://github.com/AlchemyCMS/alchemy_cms/pull/2074) ([robinboening](https://github.com/robinboening))
|
|
26
|
+
- Handle json requests in error handler [#2071](https://github.com/AlchemyCMS/alchemy_cms/pull/2071) ([tvdeyen](https://github.com/tvdeyen))
|
|
27
|
+
- Background page publishing [#2067](https://github.com/AlchemyCMS/alchemy_cms/pull/2067) ([tvdeyen](https://github.com/tvdeyen))
|
|
28
|
+
- Faster element duplication [#2066](https://github.com/AlchemyCMS/alchemy_cms/pull/2066) ([mamhoff](https://github.com/mamhoff))
|
|
29
|
+
- Parse params in ajax.get as query string [#2070](https://github.com/AlchemyCMS/alchemy_cms/pull/2070) ([tvdeyen](https://github.com/tvdeyen))
|
|
30
|
+
- Assign, crop and remove files and pictures client side [#2069](https://github.com/AlchemyCMS/alchemy_cms/pull/2069) ([tvdeyen](https://github.com/tvdeyen))
|
|
31
|
+
- Allow copying contents when they're not in the elements.yml [#2068](https://github.com/AlchemyCMS/alchemy_cms/pull/2068) ([mamhoff](https://github.com/mamhoff))
|
|
32
|
+
- Delete nested elements quickly [#2065](https://github.com/AlchemyCMS/alchemy_cms/pull/2065) ([mamhoff](https://github.com/mamhoff))
|
|
33
|
+
- Quickly delete elements when deleting a page version [#2064](https://github.com/AlchemyCMS/alchemy_cms/pull/2064) ([mamhoff](https://github.com/mamhoff))
|
|
34
|
+
- Fast element deletion [#2063](https://github.com/AlchemyCMS/alchemy_cms/pull/2063) ([mamhoff](https://github.com/mamhoff))
|
|
35
|
+
- Touch Elements only after update [#2062](https://github.com/AlchemyCMS/alchemy_cms/pull/2062) ([mamhoff](https://github.com/mamhoff))
|
|
36
|
+
- Convert "Visit page" button to "Link to new tab" [#2058](https://github.com/AlchemyCMS/alchemy_cms/pull/2058) ([mamhoff](https://github.com/mamhoff))
|
|
37
|
+
- Allow creating an EssenceRichtext without a content [#2057](https://github.com/AlchemyCMS/alchemy_cms/pull/2057) ([mamhoff](https://github.com/mamhoff))
|
|
38
|
+
- Allow instantiating a content on an unpersisted valid element [#2056](https://github.com/AlchemyCMS/alchemy_cms/pull/2056) ([mamhoff](https://github.com/mamhoff))
|
|
39
|
+
- Sanitized richtext body [#2055](https://github.com/AlchemyCMS/alchemy_cms/pull/2055) ([mamhoff](https://github.com/mamhoff))
|
|
40
|
+
- Only require the Rails gems we actually need [#2054](https://github.com/AlchemyCMS/alchemy_cms/pull/2054) ([tvdeyen](https://github.com/tvdeyen))
|
|
41
|
+
- Create new contents on demand [#2049](https://github.com/AlchemyCMS/alchemy_cms/pull/2049) ([tvdeyen](https://github.com/tvdeyen))
|
|
42
|
+
- Add Elements repository [#2039](https://github.com/AlchemyCMS/alchemy_cms/pull/2039) ([tvdeyen](https://github.com/tvdeyen))
|
|
43
|
+
- Render site layout with block [#2038](https://github.com/AlchemyCMS/alchemy_cms/pull/2038) ([henvo](https://github.com/henvo))
|
|
44
|
+
- Add namespace for Tree related routes [#2037](https://github.com/AlchemyCMS/alchemy_cms/pull/2037) ([dhiraj14](https://github.com/dhiraj14))
|
|
45
|
+
- Tidy Rake task to remove duplicate legacy URLs [#2036](https://github.com/AlchemyCMS/alchemy_cms/pull/2036) ([pelargir](https://github.com/pelargir))
|
|
46
|
+
- Change Factory loading mechanism to FactoryBots supported mechanism [#2029](https://github.com/AlchemyCMS/alchemy_cms/pull/2029) ([mamhoff](https://github.com/mamhoff))
|
|
47
|
+
- Add rake task to remove trashed elements [#2025](https://github.com/AlchemyCMS/alchemy_cms/pull/2025) ([tvdeyen](https://github.com/tvdeyen))
|
|
48
|
+
- Do not include unpublished pages in breadcrumb [#2020](https://github.com/AlchemyCMS/alchemy_cms/pull/2020) ([tvdeyen](https://github.com/tvdeyen))
|
|
49
|
+
- Respect Language public status for page public status [#2017](https://github.com/AlchemyCMS/alchemy_cms/pull/2017) ([tvdeyen](https://github.com/tvdeyen))
|
|
50
|
+
- Use at least Ruby 2.5 [#2014](https://github.com/AlchemyCMS/alchemy_cms/pull/2014) ([tvdeyen](https://github.com/tvdeyen))
|
|
51
|
+
- Drop Rails 5.2 support [#2013](https://github.com/AlchemyCMS/alchemy_cms/pull/2013) ([tvdeyen](https://github.com/tvdeyen))
|
|
52
|
+
- Remove page layout change of persisted pages [#1991](https://github.com/AlchemyCMS/alchemy_cms/pull/1991) ([tvdeyen](https://github.com/tvdeyen))
|
|
53
|
+
- Remove element trash [#1987](https://github.com/AlchemyCMS/alchemy_cms/pull/1987) ([tvdeyen](https://github.com/tvdeyen))
|
|
54
|
+
- Remove elements fallbacks [#1983](https://github.com/AlchemyCMS/alchemy_cms/pull/1983) ([tvdeyen](https://github.com/tvdeyen))
|
|
56
55
|
|
|
57
|
-
|
|
56
|
+
### Misc
|
|
58
57
|
|
|
58
|
+
- Fixes i18n Jest specs [#2120](https://github.com/AlchemyCMS/alchemy_cms/pull/2120) ([tvdeyen](https://github.com/tvdeyen))
|
|
59
|
+
- Allow to update element without tags [#2150](https://github.com/AlchemyCMS/alchemy_cms/pull/2150) ([tvdeyen](https://github.com/tvdeyen))
|
|
60
|
+
- fix: call paging on jquery tabs only after initializing them [#2146](https://github.com/AlchemyCMS/alchemy_cms/pull/2146) ([robinboening](https://github.com/robinboening))
|
|
61
|
+
- Image cropper destroy [#2139](https://github.com/AlchemyCMS/alchemy_cms/pull/2139) ([tvdeyen](https://github.com/tvdeyen))
|
|
62
|
+
- Fix URL for dragonfly configuration reference [#2128](https://github.com/AlchemyCMS/alchemy_cms/pull/2128) ([afdev82](https://github.com/afdev82))
|
|
63
|
+
- Link dialog UI fixes [#2112](https://github.com/AlchemyCMS/alchemy_cms/pull/2112) ([tvdeyen](https://github.com/tvdeyen))
|
|
64
|
+
- [js] Upgrade babel-jest to version 27.0.1 [#2110](https://github.com/AlchemyCMS/alchemy_cms/pull/2110) ([depfu](https://github.com/apps/depfu))
|
|
65
|
+
- Fix node select height [#2102](https://github.com/AlchemyCMS/alchemy_cms/pull/2102) ([tvdeyen](https://github.com/tvdeyen))
|
|
66
|
+
- [ruby - main] Upgrade execjs to version 2.8.1 [#2100](https://github.com/AlchemyCMS/alchemy_cms/pull/2100) ([depfu](https://github.com/apps/depfu))
|
|
67
|
+
- Fix Essence Picture View (#2083) [#2099](https://github.com/AlchemyCMS/alchemy_cms/pull/2099) ([afdev82](https://github.com/afdev82))
|
|
68
|
+
- Pass crop parameter in default EssencePicture#picture_url_options [#2098](https://github.com/AlchemyCMS/alchemy_cms/pull/2098) ([mamhoff](https://github.com/mamhoff))
|
|
69
|
+
- [main] Fix execjs to 2.7.0 for developers and CI [#2095](https://github.com/AlchemyCMS/alchemy_cms/pull/2095) ([mamhoff](https://github.com/mamhoff))
|
|
59
70
|
- Fix alchemy:generate:thumbnails task [#2092](https://github.com/AlchemyCMS/alchemy_cms/pull/2092) ([afdev82](https://github.com/afdev82))
|
|
60
|
-
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
-
|
|
71
|
+
- Use symbols in polymorphic routes for resources [#2087](https://github.com/AlchemyCMS/alchemy_cms/pull/2087) ([tvdeyen](https://github.com/tvdeyen))
|
|
72
|
+
- Fix the height of node select [#2081](https://github.com/AlchemyCMS/alchemy_cms/pull/2081) ([tvdeyen](https://github.com/tvdeyen))
|
|
73
|
+
- Preview url fixes [#2079](https://github.com/AlchemyCMS/alchemy_cms/pull/2079) ([tvdeyen](https://github.com/tvdeyen))
|
|
74
|
+
- Use count over select.count in UrlPath class [#2078](https://github.com/AlchemyCMS/alchemy_cms/pull/2078) ([tvdeyen](https://github.com/tvdeyen))
|
|
75
|
+
- Use the fast DuplicateElement service in Page.copy [#2077](https://github.com/AlchemyCMS/alchemy_cms/pull/2077) ([tvdeyen](https://github.com/tvdeyen))
|
|
76
|
+
- Fix page versioning issues [#2076](https://github.com/AlchemyCMS/alchemy_cms/pull/2076) ([tvdeyen](https://github.com/tvdeyen))
|
|
77
|
+
- Fix add nested element with multiple nestable elements [#2052](https://github.com/AlchemyCMS/alchemy_cms/pull/2052) ([tvdeyen](https://github.com/tvdeyen))
|
|
78
|
+
- Destroy public version if public checkbox is unset [#2050](https://github.com/AlchemyCMS/alchemy_cms/pull/2050) ([tvdeyen](https://github.com/tvdeyen))
|
|
79
|
+
- Fixes paste element and create element with autogenerated nested elements [#2046](https://github.com/AlchemyCMS/alchemy_cms/pull/2046) ([tvdeyen](https://github.com/tvdeyen))
|
|
80
|
+
- Fix page re-publishing for page with nested elements [#2043](https://github.com/AlchemyCMS/alchemy_cms/pull/2043) ([tvdeyen](https://github.com/tvdeyen))
|
|
81
|
+
- Update rubocop config and stick version [#2042](https://github.com/AlchemyCMS/alchemy_cms/pull/2042) ([tvdeyen](https://github.com/tvdeyen))
|
|
82
|
+
- Fix factory loading [#2041](https://github.com/AlchemyCMS/alchemy_cms/pull/2041) ([tvdeyen](https://github.com/tvdeyen))
|
|
83
|
+
- Fix element re-ordering [#2028](https://github.com/AlchemyCMS/alchemy_cms/pull/2028) ([tvdeyen](https://github.com/tvdeyen))
|
|
84
|
+
- Fix typo in element destroy confirm notice [#2026](https://github.com/AlchemyCMS/alchemy_cms/pull/2026) ([tvdeyen](https://github.com/tvdeyen))
|
|
85
|
+
- Fix constants reloading in page and element concerns [#2024](https://github.com/AlchemyCMS/alchemy_cms/pull/2024) ([tvdeyen](https://github.com/tvdeyen))
|
|
86
|
+
- Fix delete element confirm dialog [#2023](https://github.com/AlchemyCMS/alchemy_cms/pull/2023) ([tvdeyen](https://github.com/tvdeyen))
|
|
87
|
+
- Build for Ruby 3 [#1990](https://github.com/AlchemyCMS/alchemy_cms/pull/1990) ([tvdeyen](https://github.com/tvdeyen))
|
|
72
88
|
|
|
73
89
|
## 5.2.0.b1 (2021-02-11)
|
|
74
90
|
|
data/Gemfile
CHANGED
|
@@ -16,9 +16,11 @@ group :development, :test do
|
|
|
16
16
|
# execjs 2.8 removes deprecation warnings but also breaks a number of dependent projects.
|
|
17
17
|
# in our case the culprit is `handlebars-assets`. The changes between 2.7.0 and 2.8.0 are
|
|
18
18
|
# minimal, but breaking.
|
|
19
|
-
gem "execjs", "= 2.
|
|
19
|
+
gem "execjs", "= 2.8.1"
|
|
20
20
|
|
|
21
21
|
if ENV["GITHUB_ACTIONS"]
|
|
22
|
+
# Necessary because GH Actions gem cache does not have this "Bundled with Ruby" gem installed
|
|
23
|
+
gem "rexml", "~> 3.2.4"
|
|
22
24
|
gem "sassc", "~> 2.4.0" # https://github.com/sass/sassc-ruby/issues/146
|
|
23
25
|
else
|
|
24
26
|
gem "launchy"
|
|
@@ -27,7 +29,7 @@ group :development, :test do
|
|
|
27
29
|
gem "yard"
|
|
28
30
|
gem "redcarpet"
|
|
29
31
|
gem "pry-byebug"
|
|
30
|
-
gem "rubocop", "
|
|
32
|
+
gem "rubocop", "1.5.2", require: false
|
|
31
33
|
gem "listen"
|
|
32
34
|
gem "localeapp", "~> 3.0", require: false
|
|
33
35
|
gem "dotenv", "~> 2.2"
|
data/README.md
CHANGED
|
@@ -51,8 +51,9 @@ or visit the existing demo at https://alchemy-demo.herokuapp.com
|
|
|
51
51
|
|
|
52
52
|
## 🚂 Rails Version
|
|
53
53
|
|
|
54
|
-
**This version of AlchemyCMS runs with Rails
|
|
54
|
+
**This version of AlchemyCMS runs with Rails 6.0**
|
|
55
55
|
|
|
56
|
+
* For a Rails 5.2 compatible version use the [`5.2-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/5.2-stable).
|
|
56
57
|
* For a Rails 5.0 or 5.1 compatible version use the [`4.5-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/4.5-stable).
|
|
57
58
|
* For a Rails 4.2 compatible version use the [`3.6-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/3.6-stable).
|
|
58
59
|
* For a Rails 4.0/4.1 compatible version use the [`3.1-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/3.1-stable).
|
|
@@ -64,7 +65,9 @@ or visit the existing demo at https://alchemy-demo.herokuapp.com
|
|
|
64
65
|
|
|
65
66
|
## 💎 Ruby Version
|
|
66
67
|
|
|
67
|
-
Alchemy runs with Ruby >= 2.
|
|
68
|
+
Alchemy runs with Ruby >= 2.5.0.
|
|
69
|
+
|
|
70
|
+
For a Ruby 2.4 compatible version use the [`5.2-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/5.2-stable).
|
|
68
71
|
|
|
69
72
|
For a Ruby 2.2 compatible version use the [`4.1-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/4.1-stable).
|
|
70
73
|
|
data/Rakefile
CHANGED
|
@@ -41,16 +41,12 @@ namespace :alchemy do
|
|
|
41
41
|
task :prepare do
|
|
42
42
|
system(
|
|
43
43
|
<<~BASH
|
|
44
|
-
yarn install && \
|
|
45
|
-
yarn link && \
|
|
46
44
|
cd spec/dummy && \
|
|
47
45
|
export RAILS_ENV=test && \
|
|
48
46
|
bin/rake db:create && \
|
|
49
47
|
bin/rake db:environment:set && \
|
|
50
48
|
bin/rake db:migrate:reset && \
|
|
51
49
|
bin/rails g alchemy:install --skip --skip-demo-files --auto-accept && \
|
|
52
|
-
yarn link @alchemy_cms/admin && \
|
|
53
|
-
RAILS_ENV=test bin/webpack && \
|
|
54
50
|
cd -
|
|
55
51
|
BASH
|
|
56
52
|
) || fail
|
|
@@ -76,18 +72,4 @@ namespace :alchemy do
|
|
|
76
72
|
File.delete(backup)
|
|
77
73
|
end
|
|
78
74
|
end
|
|
79
|
-
|
|
80
|
-
desc "Release a new Ruby gem and npm package in one command"
|
|
81
|
-
task :release do
|
|
82
|
-
require "json"
|
|
83
|
-
require_relative "lib/alchemy/version"
|
|
84
|
-
package = File.read("package.json")
|
|
85
|
-
unless JSON.parse(package)["version"] == Alchemy.version
|
|
86
|
-
abort "Ruby gem and npm package versions are out of sync! Please fix."
|
|
87
|
-
end
|
|
88
|
-
# Release the Ruby gem with bundler
|
|
89
|
-
Rake::Task["release"].invoke
|
|
90
|
-
# Publish npm package via CLI
|
|
91
|
-
system "npm publish"
|
|
92
|
-
end
|
|
93
75
|
end
|
data/alchemy_cms.gemspec
CHANGED
|
@@ -1,80 +1,93 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
lib = File.expand_path("lib", __dir__)
|
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
-
require
|
|
5
|
+
require "alchemy/version"
|
|
5
6
|
|
|
6
7
|
Gem::Specification.new do |gem|
|
|
7
|
-
gem.name
|
|
8
|
-
gem.version
|
|
9
|
-
gem.platform
|
|
10
|
-
gem.authors
|
|
11
|
-
gem.email
|
|
12
|
-
gem.homepage
|
|
13
|
-
gem.summary
|
|
14
|
-
gem.description
|
|
15
|
-
gem.requirements <<
|
|
16
|
-
gem.required_ruby_version =
|
|
17
|
-
gem.license
|
|
18
|
-
gem.files
|
|
19
|
-
gem.require_paths
|
|
8
|
+
gem.name = "alchemy_cms"
|
|
9
|
+
gem.version = Alchemy::VERSION
|
|
10
|
+
gem.platform = Gem::Platform::RUBY
|
|
11
|
+
gem.authors = ["Thomas von Deyen", "Robin Boening", "Marc Schettke", "Hendrik Mans", "Carsten Fregin", "Martin Meyerhoff"]
|
|
12
|
+
gem.email = ["hello@alchemy-cms.com"]
|
|
13
|
+
gem.homepage = "https://alchemy-cms.com"
|
|
14
|
+
gem.summary = "A powerful, userfriendly and flexible CMS for Rails"
|
|
15
|
+
gem.description = "Alchemy is a powerful, userfriendly and flexible Rails CMS."
|
|
16
|
+
gem.requirements << "ImageMagick (libmagick), v6.6 or greater."
|
|
17
|
+
gem.required_ruby_version = ">= 2.5.0"
|
|
18
|
+
gem.license = "BSD New"
|
|
19
|
+
gem.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^spec/}) }
|
|
20
|
+
gem.require_paths = ["lib"]
|
|
21
|
+
|
|
22
|
+
%w[
|
|
23
|
+
actionmailer
|
|
24
|
+
actionpack
|
|
25
|
+
actionview
|
|
26
|
+
activejob
|
|
27
|
+
activemodel
|
|
28
|
+
activerecord
|
|
29
|
+
activesupport
|
|
30
|
+
railties
|
|
31
|
+
].each do |rails_gem|
|
|
32
|
+
gem.add_runtime_dependency rails_gem, [">= 6.0", "< 6.1"]
|
|
33
|
+
end
|
|
20
34
|
|
|
21
|
-
gem.add_runtime_dependency
|
|
22
|
-
gem.add_runtime_dependency
|
|
23
|
-
gem.add_runtime_dependency
|
|
24
|
-
gem.add_runtime_dependency
|
|
25
|
-
gem.add_runtime_dependency
|
|
26
|
-
gem.add_runtime_dependency
|
|
27
|
-
gem.add_runtime_dependency
|
|
28
|
-
gem.add_runtime_dependency
|
|
29
|
-
gem.add_runtime_dependency
|
|
30
|
-
gem.add_runtime_dependency
|
|
31
|
-
gem.add_runtime_dependency
|
|
32
|
-
gem.add_runtime_dependency
|
|
33
|
-
gem.add_runtime_dependency
|
|
34
|
-
gem.add_runtime_dependency
|
|
35
|
-
gem.add_runtime_dependency
|
|
36
|
-
gem.add_runtime_dependency
|
|
37
|
-
gem.add_runtime_dependency
|
|
38
|
-
gem.add_runtime_dependency
|
|
39
|
-
gem.add_runtime_dependency
|
|
40
|
-
gem.add_runtime_dependency
|
|
41
|
-
gem.add_runtime_dependency
|
|
42
|
-
gem.add_runtime_dependency
|
|
43
|
-
gem.add_runtime_dependency 'webpacker', ['>= 4.0', '< 6']
|
|
35
|
+
gem.add_runtime_dependency "active_model_serializers", ["~> 0.10.0"]
|
|
36
|
+
gem.add_runtime_dependency "acts_as_list", [">= 0.3", "< 2"]
|
|
37
|
+
gem.add_runtime_dependency "awesome_nested_set", ["~> 3.1"]
|
|
38
|
+
gem.add_runtime_dependency "cancancan", [">= 2.1", "< 4.0"]
|
|
39
|
+
gem.add_runtime_dependency "coffee-rails", [">= 4.0", "< 6.0"]
|
|
40
|
+
gem.add_runtime_dependency "dragonfly", ["~> 1.4"]
|
|
41
|
+
gem.add_runtime_dependency "dragonfly_svg", ["~> 0.0.4"]
|
|
42
|
+
gem.add_runtime_dependency "gutentag", ["~> 2.2", ">= 2.2.1"]
|
|
43
|
+
gem.add_runtime_dependency "handlebars_assets", ["~> 0.23"]
|
|
44
|
+
gem.add_runtime_dependency "jquery-rails", ["~> 4.0", ">= 4.0.4"]
|
|
45
|
+
gem.add_runtime_dependency "jquery-ui-rails", ["~> 6.0"]
|
|
46
|
+
gem.add_runtime_dependency "kaminari", ["~> 1.1"]
|
|
47
|
+
gem.add_runtime_dependency "originator", ["~> 3.1"]
|
|
48
|
+
gem.add_runtime_dependency "non-stupid-digest-assets", ["~> 1.0.8"]
|
|
49
|
+
gem.add_runtime_dependency "ransack", [">= 1.8", "< 2.4.2"] # 2.4.2 dropped Ruby 2.5 support in a patch level release
|
|
50
|
+
gem.add_runtime_dependency "request_store", ["~> 1.2"]
|
|
51
|
+
gem.add_runtime_dependency "responders", [">= 2.0", "< 4.0"]
|
|
52
|
+
gem.add_runtime_dependency "sassc-rails", ["~> 2.1"]
|
|
53
|
+
gem.add_runtime_dependency "simple_form", [">= 4.0", "< 6"]
|
|
54
|
+
gem.add_runtime_dependency "sprockets", [">= 3.0", "< 5"]
|
|
55
|
+
gem.add_runtime_dependency "turbolinks", [">= 2.5"]
|
|
56
|
+
gem.add_runtime_dependency "webpacker", [">= 4.0", "< 6"]
|
|
44
57
|
|
|
45
|
-
gem.add_development_dependency
|
|
46
|
-
gem.add_development_dependency
|
|
47
|
-
gem.add_development_dependency
|
|
48
|
-
gem.add_development_dependency
|
|
49
|
-
gem.add_development_dependency
|
|
50
|
-
gem.add_development_dependency
|
|
51
|
-
gem.add_development_dependency
|
|
52
|
-
gem.add_development_dependency
|
|
53
|
-
gem.add_development_dependency
|
|
54
|
-
gem.add_development_dependency
|
|
55
|
-
gem.add_development_dependency
|
|
56
|
-
gem.add_development_dependency
|
|
58
|
+
gem.add_development_dependency "capybara", ["~> 3.0"]
|
|
59
|
+
gem.add_development_dependency "capybara-screenshot", ["~> 1.0"]
|
|
60
|
+
gem.add_development_dependency "factory_bot_rails", ["~> 6.0"]
|
|
61
|
+
gem.add_development_dependency "puma", ["~> 5.0"]
|
|
62
|
+
gem.add_development_dependency "rails-controller-testing", ["~> 1.0"]
|
|
63
|
+
gem.add_development_dependency "rspec-activemodel-mocks", ["~> 1.0"]
|
|
64
|
+
gem.add_development_dependency "rspec-rails", [">= 4.0.0.beta2"]
|
|
65
|
+
gem.add_development_dependency "simplecov", ["~> 0.20"]
|
|
66
|
+
gem.add_development_dependency "webdrivers", ["~> 4.0"]
|
|
67
|
+
gem.add_development_dependency "webmock", ["~> 3.3"]
|
|
68
|
+
gem.add_development_dependency "shoulda-matchers", ["~> 4.0"]
|
|
69
|
+
gem.add_development_dependency "timecop", ["~> 0.9"]
|
|
57
70
|
|
|
58
|
-
gem.post_install_message =
|
|
59
|
-
-------------------------------------------------------------
|
|
60
|
-
|
|
61
|
-
-------------------------------------------------------------
|
|
71
|
+
gem.post_install_message = <<~MSG
|
|
72
|
+
-------------------------------------------------------------
|
|
73
|
+
Thank you for installing Alchemy CMS
|
|
74
|
+
-------------------------------------------------------------
|
|
62
75
|
|
|
63
|
-
- Complete the installation in an existing Rails application:
|
|
76
|
+
- Complete the installation in an existing Rails application:
|
|
64
77
|
|
|
65
|
-
|
|
78
|
+
$ bin/rake alchemy:install
|
|
66
79
|
|
|
67
|
-
- Complete the upgrade of an existing Alchemy installation:
|
|
80
|
+
- Complete the upgrade of an existing Alchemy installation:
|
|
68
81
|
|
|
69
|
-
|
|
82
|
+
$ bin/rake alchemy:upgrade
|
|
70
83
|
|
|
71
|
-
and follow the onscreen instructions.
|
|
84
|
+
and follow the onscreen instructions.
|
|
72
85
|
|
|
73
|
-
Need help? Try:
|
|
86
|
+
Need help? Try:
|
|
74
87
|
|
|
75
|
-
* https://stackoverflow.com/questions/tagged/alchemy-cms
|
|
76
|
-
* https://slackin.alchemy-cms.com
|
|
77
|
-
-------------------------------------------------------------
|
|
88
|
+
* https://stackoverflow.com/questions/tagged/alchemy-cms
|
|
89
|
+
* https://slackin.alchemy-cms.com
|
|
90
|
+
-------------------------------------------------------------
|
|
78
91
|
|
|
79
|
-
MSG
|
|
92
|
+
MSG
|
|
80
93
|
end
|
|
@@ -31,17 +31,17 @@
|
|
|
31
31
|
//= require alchemy/alchemy.growler
|
|
32
32
|
//= require alchemy/alchemy.gui
|
|
33
33
|
//= require alchemy/alchemy.hotkeys
|
|
34
|
-
//= require alchemy/alchemy.image_cropper
|
|
35
34
|
//= require alchemy/alchemy.image_overlay
|
|
36
35
|
//= require alchemy/alchemy.string_extension
|
|
37
36
|
//= require alchemy/alchemy.link_dialog
|
|
38
37
|
//= require alchemy/alchemy.list_filter
|
|
39
38
|
//= require alchemy/alchemy.initializer
|
|
39
|
+
//= require alchemy/alchemy.page_sorter
|
|
40
40
|
//= require alchemy/alchemy.uploader
|
|
41
41
|
//= require alchemy/alchemy.preview_window
|
|
42
|
+
//= require alchemy/alchemy.sitemap
|
|
42
43
|
//= require alchemy/alchemy.spinner
|
|
43
44
|
//= require alchemy/alchemy.tinymce
|
|
44
45
|
//= require alchemy/alchemy.tooltips
|
|
45
|
-
//= require alchemy/alchemy.trash_window
|
|
46
46
|
//= require alchemy/page_select
|
|
47
47
|
//= require alchemy/node_select
|
|
@@ -42,36 +42,6 @@ $.extend Alchemy,
|
|
|
42
42
|
$overlay.hide()
|
|
43
43
|
return
|
|
44
44
|
|
|
45
|
-
# Shows spinner while loading images and
|
|
46
|
-
# fades the image after its been loaded
|
|
47
|
-
ImageLoader: (scope = document, options = {fill: '#fff'}) ->
|
|
48
|
-
$('img', scope).each ->
|
|
49
|
-
if !this.complete
|
|
50
|
-
image = $(this).hide()
|
|
51
|
-
$parent = image.parent()
|
|
52
|
-
spinner = new Alchemy.Spinner('small', options)
|
|
53
|
-
spinner.spin $parent[0]
|
|
54
|
-
image.on 'load', ->
|
|
55
|
-
spinner.stop()
|
|
56
|
-
image.fadeIn 400
|
|
57
|
-
image.on 'error', (evt) ->
|
|
58
|
-
message = "Could not load #{this.src}"
|
|
59
|
-
spinner.stop()
|
|
60
|
-
console.error(message, evt)
|
|
61
|
-
$parent.html('<span class="icon fas fa-exclamation-triangle" title="' + message + '" />')
|
|
62
|
-
return
|
|
63
|
-
|
|
64
|
-
# Removes the picture from essence picture thumbnail
|
|
65
|
-
removePicture: (selector) ->
|
|
66
|
-
$form_field = $(selector)
|
|
67
|
-
$element = $form_field.closest(".element-editor")
|
|
68
|
-
$content = $form_field.closest(".content_editor")
|
|
69
|
-
if $form_field[0]
|
|
70
|
-
$form_field.val ""
|
|
71
|
-
$content.find(".thumbnail_background").html('<i class="icon far fa-image fa-fw"/>')
|
|
72
|
-
Alchemy.setElementDirty $element
|
|
73
|
-
false
|
|
74
|
-
|
|
75
45
|
# Initializes all select tag with .alchemy_selectbox class as select2 instance
|
|
76
46
|
# Pass a jQuery scope to only init a subset of selectboxes.
|
|
77
47
|
SelectBox: (scope) ->
|