alchemy_cms 5.2.1 β 6.0.0.pre.b4
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 +6 -14
- data/.gitignore +0 -1
- data/.hound.yml +1 -1
- data/.rubocop.yml +46 -4
- data/CHANGELOG.md +121 -8
- data/Gemfile +4 -2
- data/README.md +19 -4
- data/Rakefile +37 -23
- data/alchemy_cms.gemspec +78 -65
- data/app/assets/javascripts/alchemy/admin.js +0 -2
- data/app/assets/javascripts/alchemy/alchemy.base.js.coffee +0 -27
- data/app/assets/javascripts/alchemy/alchemy.confirm_dialog.js.coffee +2 -1
- data/app/assets/javascripts/alchemy/alchemy.dialog.js.coffee +1 -1
- 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/templates/node_folder.hbs +1 -1
- data/app/assets/stylesheets/alchemy/_extends.scss +15 -2
- data/app/assets/stylesheets/alchemy/admin.scss +1 -1
- data/app/assets/stylesheets/alchemy/archive.scss +20 -5
- data/app/assets/stylesheets/alchemy/buttons.scss +0 -4
- data/app/assets/stylesheets/alchemy/elements.scss +73 -61
- data/app/assets/stylesheets/alchemy/fonts.scss +0 -0
- 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 +1 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.svg +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.ttf +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.woff +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.svg +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.ttf +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.woff +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/img/anchor.gif +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/img/loader.gif +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/img/object.gif +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/img/trans.gif +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/skin.min.css.scss +0 -0
- data/app/controllers/alchemy/admin/attachments_controller.rb +8 -4
- data/app/controllers/alchemy/admin/base_controller.rb +5 -7
- data/app/controllers/alchemy/admin/elements_controller.rb +59 -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 +7 -22
- data/app/controllers/alchemy/admin/pictures_controller.rb +56 -17
- data/app/controllers/alchemy/admin/resources_controller.rb +84 -10
- data/app/controllers/alchemy/api/elements_controller.rb +13 -4
- data/app/controllers/alchemy/api/pages_controller.rb +4 -3
- 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 +26 -1
- data/app/decorators/alchemy/ingredient_editor.rb +158 -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 +29 -6
- 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 +24 -7
- 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 +111 -98
- data/app/models/alchemy/element/element_ingredients.rb +184 -0
- data/app/models/alchemy/element/presenters.rb +104 -85
- data/app/models/alchemy/element.rb +39 -86
- 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 +183 -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/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 +131 -143
- data/app/models/alchemy/page/page_scopes.rb +117 -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 +79 -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 +24 -96
- data/app/models/alchemy/picture.rb +17 -39
- 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_tree_serializer.rb +3 -2
- 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 +2 -3
- 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/attachments/index.html.erb +2 -3
- 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/create.js.erb +1 -1
- data/app/views/alchemy/admin/elements/{trash.js.erb β destroy.js.erb} +2 -6
- data/app/views/alchemy/admin/elements/fold.js.erb +2 -2
- 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 -6
- data/app/views/alchemy/admin/pages/_internal_link.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_tinymce_custom_config.html.erb +5 -2
- data/app/views/alchemy/admin/pages/_toolbar.html.erb +1 -1
- data/app/views/alchemy/admin/pages/edit.html.erb +37 -25
- data/app/views/alchemy/admin/pages/index.html.erb +2 -9
- data/app/views/alchemy/admin/partials/_remote_search_form.html.erb +2 -4
- data/app/views/alchemy/admin/partials/_routes.html.erb +7 -11
- data/app/views/alchemy/admin/partials/_search_form.html.erb +9 -0
- data/app/views/alchemy/admin/pictures/_archive.html.erb +1 -1
- data/app/views/alchemy/admin/pictures/_archive_overlay.html.erb +1 -1
- data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +5 -7
- 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/pictures/index.html.erb +8 -3
- data/app/views/alchemy/admin/resources/_filter.html.erb +12 -0
- data/app/views/alchemy/admin/resources/_filter_bar.html.erb +14 -17
- data/app/views/alchemy/admin/resources/_form.html.erb +3 -0
- data/app/views/alchemy/admin/resources/_table_header.html.erb +15 -0
- data/app/views/alchemy/admin/resources/index.html.erb +3 -11
- 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_picture_editor.html.erb +27 -12
- data/app/views/alchemy/essences/_essence_picture_view.html.erb +3 -3
- 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 +52 -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 +26 -0
- data/app/views/alchemy/ingredients/_node_view.html.erb +1 -0
- data/app/views/alchemy/ingredients/_page_editor.html.erb +25 -0
- data/app/views/alchemy/ingredients/_page_view.html.erb +4 -0
- data/app/views/alchemy/ingredients/_picture_editor.html.erb +60 -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 +30 -0
- data/app/views/alchemy/ingredients/_select_view.html.erb +1 -0
- data/app/views/alchemy/ingredients/_text_editor.html.erb +20 -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 +10 -0
- data/config/locales/alchemy.en.yml +108 -64
- data/config/routes.rb +17 -22
- 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/dragonfly/processors/crop_resize.rb +35 -0
- data/lib/alchemy/elements_finder.rb +14 -60
- data/lib/alchemy/essence.rb +1 -2
- data/lib/alchemy/forms/builder.rb +21 -1
- data/lib/alchemy/hints.rb +8 -4
- data/lib/alchemy/page_layout.rb +0 -13
- data/lib/alchemy/permissions.rb +30 -29
- data/lib/alchemy/resource.rb +13 -3
- data/lib/alchemy/resource_filter.rb +40 -0
- data/lib/alchemy/resources_helper.rb +1 -16
- 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 +75 -0
- data/lib/alchemy/test_support.rb +2 -11
- data/lib/alchemy/tinymce.rb +21 -0
- 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 +62 -0
- data/lib/alchemy/version.rb +1 -1
- data/lib/alchemy_cms.rb +1 -0
- 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/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/thumbnails.rake +2 -0
- data/lib/tasks/alchemy/tidy.rake +12 -0
- data/lib/tasks/alchemy/upgrade.rake +26 -0
- data/package/admin.js +11 -1
- data/package/src/__tests__/i18n.spec.js +23 -0
- data/package/src/file_editors.js +28 -0
- data/package/src/i18n.js +1 -3
- data/package/src/image_cropper.js +103 -0
- data/package/src/image_loader.js +58 -0
- data/package/src/node_tree.js +5 -5
- data/package/src/picture_editors.js +169 -0
- data/package/src/utils/__tests__/ajax.spec.js +20 -12
- data/package/src/utils/ajax.js +8 -3
- data/package.json +3 -2
- data/vendor/assets/javascripts/jquery_plugins/jquery.Jcrop.min.js +3 -18
- data/vendor/assets/stylesheets/jquery.Jcrop.min.scss +2 -28
- metadata +289 -53
- 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/stylesheets/alchemy/trash.scss +0 -8
- data/app/controllers/alchemy/admin/trash_controller.rb +0 -44
- data/app/views/alchemy/admin/attachments/_filter_bar.html.erb +0 -29
- 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/pictures/_filter_bar.html.erb +0 -30
- 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/test_support/factories.rb +0 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fb49f5d73d0fe450fc5b15c1a31b8ea9db3c281a0ffbc10ea41fac56617f0ba8
|
4
|
+
data.tar.gz: a0a78888094965fc097dcfe0642ef1ea22905300abff1659257d8ae2b7990670
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ce83617901077c47a15d5e3e3ec48e3f78ff1c879a18467a44aab0c20d69b59f4a7eb698b49688ca6e7d5cd45b1127196084943c4604d7474ea588eeae176e9
|
7
|
+
data.tar.gz: 6e13fe6a39778668e02f5f09c475db1029f28fb42f8f439464798f017169ee28247f45e3a444c5c82a88d2d928cbdc4492ce5ba4d21dea509e61cb8098b8102f
|
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
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,18 +1,131 @@
|
|
1
|
-
##
|
1
|
+
## 6.0.0-b4 (2021-08-27)
|
2
2
|
|
3
|
-
-
|
4
|
-
-
|
3
|
+
- Load custom Tinymce config for ingredients [#2182](https://github.com/AlchemyCMS/alchemy_cms/pull/2182) ([tvdeyen](https://github.com/tvdeyen))
|
4
|
+
- Fix ingredient editor selector in element update callback [#2181](https://github.com/AlchemyCMS/alchemy_cms/pull/2181) ([tvdeyen](https://github.com/tvdeyen))
|
5
|
+
- Ingredient by role block level helper [#2180](https://github.com/AlchemyCMS/alchemy_cms/pull/2180) ([tvdeyen](https://github.com/tvdeyen))
|
6
|
+
- Fixes caching [#2179](https://github.com/AlchemyCMS/alchemy_cms/pull/2179) ([tvdeyen](https://github.com/tvdeyen))
|
7
|
+
- make images non-executable [#2176](https://github.com/AlchemyCMS/alchemy_cms/pull/2176) ([mensfeld](https://github.com/mensfeld))
|
8
|
+
- Release task [#2173](https://github.com/AlchemyCMS/alchemy_cms/pull/2173) ([tvdeyen](https://github.com/tvdeyen))
|
9
|
+
|
10
|
+
## 6.0.0.b3 (2021-08-12)
|
11
|
+
|
12
|
+
### Fixes
|
5
13
|
|
6
|
-
|
14
|
+
- Simplify ingredient creation [#2171](https://github.com/AlchemyCMS/alchemy_cms/pull/2171) ([tvdeyen](https://github.com/tvdeyen))
|
15
|
+
- Return ingredients value if element asked for ingredient [#2170](https://github.com/AlchemyCMS/alchemy_cms/pull/2170) ([tvdeyen](https://github.com/tvdeyen))
|
16
|
+
- Fix ingredient form field DOM ids [#2167](https://github.com/AlchemyCMS/alchemy_cms/pull/2167) ([tvdeyen](https://github.com/tvdeyen))
|
17
|
+
- Ensure resource table ends before the filter/tag sidebar [#2166](https://github.com/AlchemyCMS/alchemy_cms/pull/2166) ([robinboening](https://github.com/robinboening))
|
18
|
+
- Return fully namespaced ingredient constant [#2164](https://github.com/AlchemyCMS/alchemy_cms/pull/2164) ([tvdeyen](https://github.com/tvdeyen))
|
19
|
+
- (Re)-init Tinymce for elements with ingredients [#2163](https://github.com/AlchemyCMS/alchemy_cms/pull/2163) ([tvdeyen](https://github.com/tvdeyen))
|
7
20
|
|
8
|
-
|
9
|
-
|
21
|
+
## 6.0.0.b2 (2021-08-05)
|
22
|
+
|
23
|
+
### Features
|
10
24
|
|
11
|
-
|
25
|
+
- Add datepicker simple form input [#2162](https://github.com/AlchemyCMS/alchemy_cms/pull/2162) ([tvdeyen](https://github.com/tvdeyen))
|
26
|
+
- Feature flexible resource filters [#2091](https://github.com/AlchemyCMS/alchemy_cms/pull/2091) ([robinboening](https://github.com/robinboening))
|
12
27
|
|
13
28
|
### Changes
|
14
29
|
|
15
|
-
-
|
30
|
+
- Require alchemy/version [#2159](https://github.com/AlchemyCMS/alchemy_cms/pull/2159) ([tvdeyen](https://github.com/tvdeyen))
|
31
|
+
- Make ingredient examples usable without elements.yml [#2158](https://github.com/AlchemyCMS/alchemy_cms/pull/2158) ([tvdeyen](https://github.com/tvdeyen))
|
32
|
+
- Fix ingredient migrator (again) [#2155](https://github.com/AlchemyCMS/alchemy_cms/pull/2155) ([tvdeyen](https://github.com/tvdeyen))
|
33
|
+
- Respect additional essence attributes during ingredients migration [#2154](https://github.com/AlchemyCMS/alchemy_cms/pull/2154) ([tvdeyen](https://github.com/tvdeyen))
|
34
|
+
- Improve cache key defaults for menus [#2153](https://github.com/AlchemyCMS/alchemy_cms/pull/2153) ([oneiros](https://github.com/oneiros))
|
35
|
+
- Make element preview text work with ingredients [#2152](https://github.com/AlchemyCMS/alchemy_cms/pull/2152) ([tvdeyen](https://github.com/tvdeyen))
|
36
|
+
- Do not leak all records for guest users in API controllers [#2145](https://github.com/AlchemyCMS/alchemy_cms/pull/2145) ([tvdeyen](https://github.com/tvdeyen))
|
37
|
+
|
38
|
+
### Misc
|
39
|
+
|
40
|
+
- [ruby - main] Upgrade shoulda-matchers to version 5.0.0 [#2161](https://github.com/AlchemyCMS/alchemy_cms/pull/2161) ([depfu](https://github.com/apps/depfu))
|
41
|
+
|
42
|
+
## 6.0.0.b1 (2021-07-05)
|
43
|
+
|
44
|
+
### Features
|
45
|
+
|
46
|
+
- Import essence video and audio from extension [#2089](https://github.com/AlchemyCMS/alchemy_cms/pull/2089) ([tvdeyen](https://github.com/tvdeyen))
|
47
|
+
- Introduce ingredients as new content structure [#2061](https://github.com/AlchemyCMS/alchemy_cms/pull/2061) ([tvdeyen](https://github.com/tvdeyen))
|
48
|
+
- Alchemy essence headline [#2060](https://github.com/AlchemyCMS/alchemy_cms/pull/2060) ([mamhoff](https://github.com/mamhoff))
|
49
|
+
- Add Page Versions [#2022](https://github.com/AlchemyCMS/alchemy_cms/pull/2022) ([tvdeyen](https://github.com/tvdeyen))
|
50
|
+
|
51
|
+
### Changes
|
52
|
+
|
53
|
+
- Link dialog changes can be submitted by enter [#2144](https://github.com/AlchemyCMS/alchemy_cms/pull/2144) ([tvdeyen](https://github.com/tvdeyen))
|
54
|
+
- Extract Thumbnails and CropAction concerns [#2141](https://github.com/AlchemyCMS/alchemy_cms/pull/2141) ([tvdeyen](https://github.com/tvdeyen))
|
55
|
+
- generate picture thumbnails only for pictures with convertible format [#2129](https://github.com/AlchemyCMS/alchemy_cms/pull/2129) ([afdev82](https://github.com/afdev82))
|
56
|
+
- Only crop image if cropping is enabled [#2143](https://github.com/AlchemyCMS/alchemy_cms/pull/2143) ([tvdeyen](https://github.com/tvdeyen))
|
57
|
+
- expose translations in global Alchemy js object, #2113 [#2114](https://github.com/AlchemyCMS/alchemy_cms/pull/2114) ([afdev82](https://github.com/afdev82))
|
58
|
+
- Only return pages for current site in API [#2111](https://github.com/AlchemyCMS/alchemy_cms/pull/2111) ([tvdeyen](https://github.com/tvdeyen))
|
59
|
+
- Add crop_resize Dragonfly processor [#2109](https://github.com/AlchemyCMS/alchemy_cms/pull/2109) ([tvdeyen](https://github.com/tvdeyen))
|
60
|
+
- Auto-orient images based on their EXIF data [#2107](https://github.com/AlchemyCMS/alchemy_cms/pull/2107) ([tvdeyen](https://github.com/tvdeyen))
|
61
|
+
- Allow flatten as argument for Dragonfly encode [#2106](https://github.com/AlchemyCMS/alchemy_cms/pull/2106) ([tvdeyen](https://github.com/tvdeyen))
|
62
|
+
- Deprecate image format methods [#2103](https://github.com/AlchemyCMS/alchemy_cms/pull/2103) ([tvdeyen](https://github.com/tvdeyen))
|
63
|
+
- 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))
|
64
|
+
- Trigger publish targets after page published [#2088](https://github.com/AlchemyCMS/alchemy_cms/pull/2088) ([tvdeyen](https://github.com/tvdeyen))
|
65
|
+
- Add collection option for resource relations [#2084](https://github.com/AlchemyCMS/alchemy_cms/pull/2084) ([robinboening](https://github.com/robinboening))
|
66
|
+
- Remove deprecated helper method page_active? [#2074](https://github.com/AlchemyCMS/alchemy_cms/pull/2074) ([robinboening](https://github.com/robinboening))
|
67
|
+
- Handle json requests in error handler [#2071](https://github.com/AlchemyCMS/alchemy_cms/pull/2071) ([tvdeyen](https://github.com/tvdeyen))
|
68
|
+
- Background page publishing [#2067](https://github.com/AlchemyCMS/alchemy_cms/pull/2067) ([tvdeyen](https://github.com/tvdeyen))
|
69
|
+
- Faster element duplication [#2066](https://github.com/AlchemyCMS/alchemy_cms/pull/2066) ([mamhoff](https://github.com/mamhoff))
|
70
|
+
- Parse params in ajax.get as query string [#2070](https://github.com/AlchemyCMS/alchemy_cms/pull/2070) ([tvdeyen](https://github.com/tvdeyen))
|
71
|
+
- Assign, crop and remove files and pictures client side [#2069](https://github.com/AlchemyCMS/alchemy_cms/pull/2069) ([tvdeyen](https://github.com/tvdeyen))
|
72
|
+
- 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))
|
73
|
+
- Delete nested elements quickly [#2065](https://github.com/AlchemyCMS/alchemy_cms/pull/2065) ([mamhoff](https://github.com/mamhoff))
|
74
|
+
- Quickly delete elements when deleting a page version [#2064](https://github.com/AlchemyCMS/alchemy_cms/pull/2064) ([mamhoff](https://github.com/mamhoff))
|
75
|
+
- Fast element deletion [#2063](https://github.com/AlchemyCMS/alchemy_cms/pull/2063) ([mamhoff](https://github.com/mamhoff))
|
76
|
+
- Touch Elements only after update [#2062](https://github.com/AlchemyCMS/alchemy_cms/pull/2062) ([mamhoff](https://github.com/mamhoff))
|
77
|
+
- Convert "Visit page" button to "Link to new tab" [#2058](https://github.com/AlchemyCMS/alchemy_cms/pull/2058) ([mamhoff](https://github.com/mamhoff))
|
78
|
+
- Allow creating an EssenceRichtext without a content [#2057](https://github.com/AlchemyCMS/alchemy_cms/pull/2057) ([mamhoff](https://github.com/mamhoff))
|
79
|
+
- Allow instantiating a content on an unpersisted valid element [#2056](https://github.com/AlchemyCMS/alchemy_cms/pull/2056) ([mamhoff](https://github.com/mamhoff))
|
80
|
+
- Sanitized richtext body [#2055](https://github.com/AlchemyCMS/alchemy_cms/pull/2055) ([mamhoff](https://github.com/mamhoff))
|
81
|
+
- Only require the Rails gems we actually need [#2054](https://github.com/AlchemyCMS/alchemy_cms/pull/2054) ([tvdeyen](https://github.com/tvdeyen))
|
82
|
+
- Create new contents on demand [#2049](https://github.com/AlchemyCMS/alchemy_cms/pull/2049) ([tvdeyen](https://github.com/tvdeyen))
|
83
|
+
- Add Elements repository [#2039](https://github.com/AlchemyCMS/alchemy_cms/pull/2039) ([tvdeyen](https://github.com/tvdeyen))
|
84
|
+
- Render site layout with block [#2038](https://github.com/AlchemyCMS/alchemy_cms/pull/2038) ([henvo](https://github.com/henvo))
|
85
|
+
- Add namespace for Tree related routes [#2037](https://github.com/AlchemyCMS/alchemy_cms/pull/2037) ([dhiraj14](https://github.com/dhiraj14))
|
86
|
+
- Tidy Rake task to remove duplicate legacy URLs [#2036](https://github.com/AlchemyCMS/alchemy_cms/pull/2036) ([pelargir](https://github.com/pelargir))
|
87
|
+
- Change Factory loading mechanism to FactoryBots supported mechanism [#2029](https://github.com/AlchemyCMS/alchemy_cms/pull/2029) ([mamhoff](https://github.com/mamhoff))
|
88
|
+
- Add rake task to remove trashed elements [#2025](https://github.com/AlchemyCMS/alchemy_cms/pull/2025) ([tvdeyen](https://github.com/tvdeyen))
|
89
|
+
- Do not include unpublished pages in breadcrumb [#2020](https://github.com/AlchemyCMS/alchemy_cms/pull/2020) ([tvdeyen](https://github.com/tvdeyen))
|
90
|
+
- Respect Language public status for page public status [#2017](https://github.com/AlchemyCMS/alchemy_cms/pull/2017) ([tvdeyen](https://github.com/tvdeyen))
|
91
|
+
- Use at least Ruby 2.5 [#2014](https://github.com/AlchemyCMS/alchemy_cms/pull/2014) ([tvdeyen](https://github.com/tvdeyen))
|
92
|
+
- Drop Rails 5.2 support [#2013](https://github.com/AlchemyCMS/alchemy_cms/pull/2013) ([tvdeyen](https://github.com/tvdeyen))
|
93
|
+
- Remove page layout change of persisted pages [#1991](https://github.com/AlchemyCMS/alchemy_cms/pull/1991) ([tvdeyen](https://github.com/tvdeyen))
|
94
|
+
- Remove element trash [#1987](https://github.com/AlchemyCMS/alchemy_cms/pull/1987) ([tvdeyen](https://github.com/tvdeyen))
|
95
|
+
- Remove elements fallbacks [#1983](https://github.com/AlchemyCMS/alchemy_cms/pull/1983) ([tvdeyen](https://github.com/tvdeyen))
|
96
|
+
|
97
|
+
### Misc
|
98
|
+
|
99
|
+
- Fixes i18n Jest specs [#2120](https://github.com/AlchemyCMS/alchemy_cms/pull/2120) ([tvdeyen](https://github.com/tvdeyen))
|
100
|
+
- Allow to update element without tags [#2150](https://github.com/AlchemyCMS/alchemy_cms/pull/2150) ([tvdeyen](https://github.com/tvdeyen))
|
101
|
+
- fix: call paging on jquery tabs only after initializing them [#2146](https://github.com/AlchemyCMS/alchemy_cms/pull/2146) ([robinboening](https://github.com/robinboening))
|
102
|
+
- Image cropper destroy [#2139](https://github.com/AlchemyCMS/alchemy_cms/pull/2139) ([tvdeyen](https://github.com/tvdeyen))
|
103
|
+
- Fix URL for dragonfly configuration reference [#2128](https://github.com/AlchemyCMS/alchemy_cms/pull/2128) ([afdev82](https://github.com/afdev82))
|
104
|
+
- Link dialog UI fixes [#2112](https://github.com/AlchemyCMS/alchemy_cms/pull/2112) ([tvdeyen](https://github.com/tvdeyen))
|
105
|
+
- [js] Upgrade babel-jest to version 27.0.1 [#2110](https://github.com/AlchemyCMS/alchemy_cms/pull/2110) ([depfu](https://github.com/apps/depfu))
|
106
|
+
- Fix node select height [#2102](https://github.com/AlchemyCMS/alchemy_cms/pull/2102) ([tvdeyen](https://github.com/tvdeyen))
|
107
|
+
- [ruby - main] Upgrade execjs to version 2.8.1 [#2100](https://github.com/AlchemyCMS/alchemy_cms/pull/2100) ([depfu](https://github.com/apps/depfu))
|
108
|
+
- Fix Essence Picture View (#2083) [#2099](https://github.com/AlchemyCMS/alchemy_cms/pull/2099) ([afdev82](https://github.com/afdev82))
|
109
|
+
- Pass crop parameter in default EssencePicture#picture_url_options [#2098](https://github.com/AlchemyCMS/alchemy_cms/pull/2098) ([mamhoff](https://github.com/mamhoff))
|
110
|
+
- [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))
|
111
|
+
- Fix alchemy:generate:thumbnails task [#2092](https://github.com/AlchemyCMS/alchemy_cms/pull/2092) ([afdev82](https://github.com/afdev82))
|
112
|
+
- Use symbols in polymorphic routes for resources [#2087](https://github.com/AlchemyCMS/alchemy_cms/pull/2087) ([tvdeyen](https://github.com/tvdeyen))
|
113
|
+
- Fix the height of node select [#2081](https://github.com/AlchemyCMS/alchemy_cms/pull/2081) ([tvdeyen](https://github.com/tvdeyen))
|
114
|
+
- Preview url fixes [#2079](https://github.com/AlchemyCMS/alchemy_cms/pull/2079) ([tvdeyen](https://github.com/tvdeyen))
|
115
|
+
- Use count over select.count in UrlPath class [#2078](https://github.com/AlchemyCMS/alchemy_cms/pull/2078) ([tvdeyen](https://github.com/tvdeyen))
|
116
|
+
- Use the fast DuplicateElement service in Page.copy [#2077](https://github.com/AlchemyCMS/alchemy_cms/pull/2077) ([tvdeyen](https://github.com/tvdeyen))
|
117
|
+
- Fix page versioning issues [#2076](https://github.com/AlchemyCMS/alchemy_cms/pull/2076) ([tvdeyen](https://github.com/tvdeyen))
|
118
|
+
- Fix add nested element with multiple nestable elements [#2052](https://github.com/AlchemyCMS/alchemy_cms/pull/2052) ([tvdeyen](https://github.com/tvdeyen))
|
119
|
+
- Destroy public version if public checkbox is unset [#2050](https://github.com/AlchemyCMS/alchemy_cms/pull/2050) ([tvdeyen](https://github.com/tvdeyen))
|
120
|
+
- Fixes paste element and create element with autogenerated nested elements [#2046](https://github.com/AlchemyCMS/alchemy_cms/pull/2046) ([tvdeyen](https://github.com/tvdeyen))
|
121
|
+
- Fix page re-publishing for page with nested elements [#2043](https://github.com/AlchemyCMS/alchemy_cms/pull/2043) ([tvdeyen](https://github.com/tvdeyen))
|
122
|
+
- Update rubocop config and stick version [#2042](https://github.com/AlchemyCMS/alchemy_cms/pull/2042) ([tvdeyen](https://github.com/tvdeyen))
|
123
|
+
- Fix factory loading [#2041](https://github.com/AlchemyCMS/alchemy_cms/pull/2041) ([tvdeyen](https://github.com/tvdeyen))
|
124
|
+
- Fix element re-ordering [#2028](https://github.com/AlchemyCMS/alchemy_cms/pull/2028) ([tvdeyen](https://github.com/tvdeyen))
|
125
|
+
- Fix typo in element destroy confirm notice [#2026](https://github.com/AlchemyCMS/alchemy_cms/pull/2026) ([tvdeyen](https://github.com/tvdeyen))
|
126
|
+
- Fix constants reloading in page and element concerns [#2024](https://github.com/AlchemyCMS/alchemy_cms/pull/2024) ([tvdeyen](https://github.com/tvdeyen))
|
127
|
+
- Fix delete element confirm dialog [#2023](https://github.com/AlchemyCMS/alchemy_cms/pull/2023) ([tvdeyen](https://github.com/tvdeyen))
|
128
|
+
- Build for Ruby 3 [#1990](https://github.com/AlchemyCMS/alchemy_cms/pull/1990) ([tvdeyen](https://github.com/tvdeyen))
|
16
129
|
|
17
130
|
## 5.2.0.b1 (2021-02-11)
|
18
131
|
|
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
|
|
@@ -336,6 +339,10 @@ $ bin/rails s
|
|
336
339
|
|
337
340
|
## π¦ Releasing
|
338
341
|
|
342
|
+
### Bump version
|
343
|
+
|
344
|
+
Bump the version number in both `lib/alchemy/version.rb` and `./package.json`. Make sure both are exactly the same and follow [SemVer format](https://semver.org/#semantic-versioning-specification-semver).
|
345
|
+
|
339
346
|
### Update the changelog
|
340
347
|
|
341
348
|
```bash
|
@@ -343,12 +350,20 @@ $ export GITHUB_ACCESS_TOKEN=...
|
|
343
350
|
$ PREVIOUS_VERSION=4.1.0 bundle exec rake alchemy:changelog:update
|
344
351
|
```
|
345
352
|
|
346
|
-
###
|
353
|
+
### Commit version bump
|
347
354
|
|
348
355
|
```bash
|
349
|
-
$
|
356
|
+
$ git commit -am "Bump version to vX.Y.Z"
|
350
357
|
```
|
351
358
|
|
359
|
+
### Release a new version
|
360
|
+
|
361
|
+
This task will publish both the ruby gem and the npm package.
|
362
|
+
It also tags the latest commit.
|
363
|
+
|
364
|
+
```bash
|
365
|
+
$ bundle exec rake alchemy:release
|
366
|
+
```
|
352
367
|
|
353
368
|
## βGetting Help
|
354
369
|
|
data/Rakefile
CHANGED
@@ -1,37 +1,37 @@
|
|
1
1
|
begin
|
2
|
-
require
|
2
|
+
require "bundler/setup"
|
3
3
|
rescue LoadError
|
4
|
-
puts
|
4
|
+
puts "You must `gem install bundler` and `bundle install` to run rake tasks"
|
5
5
|
end
|
6
6
|
|
7
7
|
begin
|
8
|
-
require
|
8
|
+
require "rdoc/task"
|
9
9
|
rescue LoadError
|
10
|
-
require
|
11
|
-
require
|
10
|
+
require "rdoc/rdoc"
|
11
|
+
require "rake/rdoctask"
|
12
12
|
RDoc::Task = Rake::RDocTask
|
13
13
|
end
|
14
14
|
|
15
|
-
desc
|
15
|
+
desc "Generate documentation for Alchemy CMS."
|
16
16
|
RDoc::Task.new(:rdoc) do |rdoc|
|
17
|
-
rdoc.rdoc_dir =
|
18
|
-
rdoc.title
|
19
|
-
rdoc.options <<
|
20
|
-
rdoc.rdoc_files.include(
|
21
|
-
rdoc.rdoc_files.include(
|
22
|
-
rdoc.rdoc_files.include(
|
23
|
-
rdoc.rdoc_files.include(
|
17
|
+
rdoc.rdoc_dir = "rdoc"
|
18
|
+
rdoc.title = "Alchemy CMS"
|
19
|
+
rdoc.options << "--line-numbers" << "--inline-source"
|
20
|
+
rdoc.rdoc_files.include("README.md")
|
21
|
+
rdoc.rdoc_files.include("config/alchemy/*.yml")
|
22
|
+
rdoc.rdoc_files.include("lib/**/*.rb")
|
23
|
+
rdoc.rdoc_files.include("app/**/*.rb")
|
24
24
|
end
|
25
25
|
|
26
|
-
APP_RAKEFILE = File.expand_path(
|
27
|
-
load
|
26
|
+
APP_RAKEFILE = File.expand_path("spec/dummy/Rakefile", __dir__)
|
27
|
+
load "rails/tasks/engine.rake"
|
28
28
|
|
29
|
-
require
|
30
|
-
require
|
29
|
+
require "rspec/core"
|
30
|
+
require "rspec/core/rake_task"
|
31
31
|
|
32
32
|
RSpec::Core::RakeTask.new(:spec)
|
33
33
|
|
34
|
-
task default: [
|
34
|
+
task default: ["alchemy:spec:prepare", :spec]
|
35
35
|
|
36
36
|
Bundler::GemHelper.install_tasks
|
37
37
|
|
@@ -56,11 +56,11 @@ namespace :alchemy do
|
|
56
56
|
namespace :changelog do
|
57
57
|
desc "Update CHANGELOG from GitHub (Set GITHUB_ACCESS_TOKEN and PREVIOUS_VERSION to a version you want to write changelog changes for)"
|
58
58
|
task :update do
|
59
|
-
original_file =
|
60
|
-
new_file = original_file +
|
61
|
-
backup = original_file +
|
62
|
-
changes = `git rev-list v#{ENV[
|
63
|
-
File.open(new_file,
|
59
|
+
original_file = "./CHANGELOG.md"
|
60
|
+
new_file = original_file + ".new"
|
61
|
+
backup = original_file + ".old"
|
62
|
+
changes = `git rev-list v#{ENV["PREVIOUS_VERSION"]}..HEAD | bundle exec github_fast_changelog AlchemyCMS/alchemy_cms`
|
63
|
+
File.open(new_file, "w") do |fo|
|
64
64
|
fo.puts changes
|
65
65
|
File.foreach(original_file) do |li|
|
66
66
|
fo.puts li
|
@@ -72,4 +72,18 @@ namespace :alchemy do
|
|
72
72
|
File.delete(backup)
|
73
73
|
end
|
74
74
|
end
|
75
|
+
|
76
|
+
desc "Release a new Ruby gem and npm package in one command"
|
77
|
+
task :release do
|
78
|
+
require "json"
|
79
|
+
require_relative "lib/alchemy/version"
|
80
|
+
package = File.read("package.json")
|
81
|
+
unless JSON.parse(package)["version"] == Alchemy.version
|
82
|
+
abort "Ruby gem and npm package versions are out of sync! Please fix."
|
83
|
+
end
|
84
|
+
# Release the Ruby gem with bundler
|
85
|
+
Rake::Task["release"].invoke
|
86
|
+
# Publish npm package via CLI
|
87
|
+
system "npm publish"
|
88
|
+
end
|
75
89
|
end
|