alchemy_cms 7.1.10 → 7.2.0.b
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +132 -16
- data/Gemfile +2 -4
- data/LICENSE +1 -1
- data/README.md +5 -6
- data/SECURITY.md +1 -1
- data/alchemy_cms.gemspec +3 -4
- data/app/assets/javascripts/alchemy/admin.js +0 -9
- data/app/assets/javascripts/alchemy/alchemy.dialog.js.coffee +5 -15
- data/app/assets/javascripts/alchemy/alchemy.image_overlay.coffee +5 -4
- 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_folder.hbs +1 -1
- data/app/assets/javascripts/tinymce/plugins/alchemy_link/plugin.min.js +20 -7
- data/app/assets/stylesheets/alchemy/_custom-properties.scss +12 -0
- data/app/assets/stylesheets/alchemy/_mixins.scss +10 -6
- data/app/assets/stylesheets/alchemy/_variables.scss +3 -0
- data/app/assets/stylesheets/alchemy/admin.scss +2 -2
- data/app/assets/stylesheets/alchemy/archive.scss +4 -3
- data/app/assets/stylesheets/alchemy/attachment-select.scss +19 -0
- data/app/assets/stylesheets/alchemy/base.scss +31 -18
- data/app/assets/stylesheets/alchemy/buttons.scss +3 -4
- data/app/assets/stylesheets/alchemy/dashboard.scss +1 -1
- data/app/assets/stylesheets/alchemy/dialogs.scss +2 -5
- data/app/assets/stylesheets/alchemy/elements.scss +73 -41
- data/app/assets/stylesheets/alchemy/flash.scss +20 -70
- data/app/assets/stylesheets/alchemy/forms.scss +41 -36
- data/app/assets/stylesheets/alchemy/frame.scss +12 -3
- data/app/assets/stylesheets/alchemy/icons.scss +34 -2
- data/app/assets/stylesheets/alchemy/image_library.scss +18 -9
- data/app/assets/stylesheets/alchemy/{filter_field.scss → list_filter.scss} +8 -7
- data/app/assets/stylesheets/alchemy/lists.scss +1 -1
- data/app/assets/stylesheets/alchemy/navigation.scss +9 -12
- data/app/assets/stylesheets/alchemy/node-select.scss +1 -1
- data/app/assets/stylesheets/alchemy/nodes.scss +15 -13
- data/app/assets/stylesheets/alchemy/notices.scss +56 -39
- data/app/assets/stylesheets/alchemy/page-select.scss +1 -4
- data/app/assets/stylesheets/alchemy/pagination.scss +11 -1
- data/app/assets/stylesheets/alchemy/preview_window.scss +3 -3
- data/app/assets/stylesheets/alchemy/search.scss +4 -4
- data/app/assets/stylesheets/alchemy/selects.scss +13 -7
- data/app/assets/stylesheets/alchemy/shoelace.scss +33 -2
- data/app/assets/stylesheets/alchemy/sitemap.scss +155 -159
- data/app/assets/stylesheets/alchemy/tables.scss +49 -12
- data/app/assets/stylesheets/alchemy/tags.scss +17 -11
- data/app/assets/stylesheets/alchemy/toolbar.scss +2 -2
- data/app/assets/stylesheets/alchemy/typography.scss +41 -22
- data/app/assets/stylesheets/alchemy/upload.scss +5 -4
- data/app/components/alchemy/admin/attachment_select.rb +39 -0
- data/app/components/alchemy/admin/icon.rb +72 -0
- data/app/components/alchemy/admin/link_dialog/anchor_tab.rb +41 -0
- data/app/components/alchemy/admin/link_dialog/base_tab.rb +75 -0
- data/app/components/alchemy/admin/link_dialog/external_tab.rb +42 -0
- data/app/components/alchemy/admin/link_dialog/file_tab.rb +45 -0
- data/app/components/alchemy/admin/link_dialog/internal_tab.rb +66 -0
- data/app/components/alchemy/admin/link_dialog/tabs.rb +33 -0
- data/app/components/alchemy/admin/list_filter.rb +42 -0
- data/app/components/alchemy/admin/message.rb +19 -0
- data/app/components/alchemy/admin/tags_autocomplete.rb +25 -0
- data/app/components/alchemy/admin/toolbar_button.rb +111 -0
- data/app/components/alchemy/ingredients/link_view.rb +1 -7
- data/app/components/alchemy/ingredients/picture_view.rb +2 -2
- data/app/components/alchemy/ingredients/text_view.rb +1 -2
- data/app/controllers/alchemy/admin/base_controller.rb +1 -1
- data/app/controllers/alchemy/admin/elements_controller.rb +4 -2
- data/app/controllers/alchemy/admin/ingredients_controller.rb +2 -0
- data/app/controllers/alchemy/admin/languages_controller.rb +1 -1
- data/app/controllers/alchemy/admin/legacy_page_urls_controller.rb +12 -4
- data/app/controllers/alchemy/admin/nodes_controller.rb +26 -0
- data/app/controllers/alchemy/admin/pages_controller.rb +11 -78
- data/app/controllers/alchemy/admin/picture_descriptions_controller.rb +15 -0
- data/app/controllers/alchemy/admin/pictures_controller.rb +18 -1
- data/app/controllers/alchemy/admin/resources_controller.rb +15 -10
- data/app/controllers/alchemy/api/attachments_controller.rb +44 -0
- data/app/controllers/alchemy/api/pages_controller.rb +10 -6
- data/app/controllers/alchemy/base_controller.rb +2 -2
- data/app/controllers/alchemy/messages_controller.rb +3 -3
- data/app/controllers/alchemy/pages_controller.rb +8 -6
- data/app/controllers/concerns/alchemy/admin/current_language.rb +1 -1
- data/app/controllers/concerns/alchemy/legacy_page_redirects.rb +1 -1
- data/app/decorators/alchemy/element_editor.rb +2 -2
- data/app/helpers/alchemy/admin/base_helper.rb +8 -60
- data/app/helpers/alchemy/admin/elements_helper.rb +1 -1
- data/app/helpers/alchemy/admin/ingredients_helper.rb +1 -1
- data/app/helpers/alchemy/base_helper.rb +9 -91
- data/app/helpers/alchemy/elements_helper.rb +3 -3
- data/app/helpers/alchemy/pages_helper.rb +16 -9
- data/app/javascript/alchemy_admin/components/attachment_select.js +24 -0
- data/app/javascript/alchemy_admin/components/button.js +3 -0
- data/app/javascript/alchemy_admin/components/clipboard_button.js +3 -2
- data/app/javascript/alchemy_admin/components/dialog_link.js +10 -7
- data/app/javascript/alchemy_admin/components/dom_id_select.js +69 -0
- data/app/javascript/alchemy_admin/components/element_editor/delete_element_button.js +42 -0
- data/app/javascript/alchemy_admin/components/element_editor/publish_element_button.js +4 -2
- data/app/javascript/alchemy_admin/components/element_editor.js +21 -13
- data/app/javascript/alchemy_admin/components/elements_window.js +87 -0
- data/app/javascript/alchemy_admin/components/growl.js +13 -0
- data/app/javascript/alchemy_admin/components/icon.js +51 -0
- data/app/javascript/alchemy_admin/components/index.js +24 -0
- data/app/javascript/alchemy_admin/components/ingredient_group.js +6 -0
- data/app/javascript/alchemy_admin/components/link_buttons/link_button.js +21 -11
- data/app/javascript/alchemy_admin/components/link_buttons/unlink_button.js +2 -1
- data/app/javascript/alchemy_admin/components/link_buttons.js +1 -0
- data/app/javascript/alchemy_admin/components/list_filter.js +68 -0
- data/app/javascript/alchemy_admin/components/message.js +69 -0
- data/app/javascript/alchemy_admin/components/node_select.js +1 -1
- data/app/javascript/alchemy_admin/components/overlay.js +6 -6
- data/app/javascript/alchemy_admin/components/page_select.js +3 -7
- data/app/javascript/alchemy_admin/components/preview_window.js +121 -0
- data/app/javascript/alchemy_admin/components/remote_select.js +4 -1
- data/app/javascript/alchemy_admin/components/select.js +37 -1
- data/app/javascript/alchemy_admin/components/tags_autocomplete.js +57 -0
- data/app/javascript/alchemy_admin/components/uploader/file_upload.js +4 -3
- data/app/javascript/alchemy_admin/components/uploader/progress.js +1 -1
- data/app/javascript/alchemy_admin/confirm_dialog.js +133 -0
- data/app/javascript/alchemy_admin/dirty.js +19 -14
- data/app/javascript/alchemy_admin/fixed_elements.js +24 -0
- data/app/javascript/alchemy_admin/growler.js +15 -0
- data/app/javascript/alchemy_admin/gui.js +2 -4
- data/app/javascript/alchemy_admin/hotkeys.js +60 -0
- data/app/javascript/alchemy_admin/image_loader.js +2 -2
- data/app/javascript/alchemy_admin/ingredient_anchor_link.js +2 -3
- data/app/javascript/alchemy_admin/initializer.js +1 -8
- data/app/javascript/alchemy_admin/link_dialog.js +131 -0
- data/app/javascript/alchemy_admin/locales/en.js +3 -0
- data/app/javascript/alchemy_admin/node_tree.js +4 -3
- data/app/javascript/alchemy_admin/page_sorter.js +23 -14
- data/app/javascript/alchemy_admin/picture_editors.js +3 -2
- data/app/javascript/alchemy_admin/shoelace_theme.js +60 -0
- data/app/javascript/alchemy_admin/sitemap.js +9 -3
- data/app/javascript/alchemy_admin/sortable_elements.js +4 -6
- data/app/javascript/alchemy_admin.js +18 -42
- data/app/models/alchemy/current.rb +26 -0
- data/app/models/alchemy/element.rb +1 -1
- data/app/models/alchemy/ingredients/audio.rb +0 -11
- data/app/models/alchemy/ingredients/headline.rb +8 -1
- data/app/models/alchemy/ingredients/picture.rb +6 -0
- data/app/models/alchemy/ingredients/video.rb +0 -12
- data/app/models/alchemy/language.rb +8 -6
- data/app/models/alchemy/node.rb +2 -2
- data/app/models/alchemy/page/page_elements.rb +8 -8
- data/app/models/alchemy/page/page_layouts.rb +3 -3
- data/app/models/alchemy/page/page_natures.rb +13 -9
- data/app/models/alchemy/page/page_scopes.rb +2 -2
- data/app/models/alchemy/page/publisher.rb +1 -0
- data/app/models/alchemy/page.rb +13 -28
- data/app/models/alchemy/picture.rb +8 -0
- data/app/models/alchemy/picture_description.rb +8 -0
- data/app/models/alchemy/picture_variant.rb +1 -1
- data/app/models/alchemy/site.rb +10 -7
- data/app/serializers/alchemy/attachment_serializer.rb +8 -0
- data/app/serializers/alchemy/page_node_serializer.rb +9 -0
- data/app/views/alchemy/_menubar.html.erb +1 -1
- data/app/views/alchemy/_preview_mode_code.html.erb +1 -1
- data/app/views/alchemy/admin/attachments/_tag_list.html.erb +2 -2
- data/app/views/alchemy/admin/attachments/archive_overlay.js.erb +0 -1
- data/app/views/alchemy/admin/attachments/edit.html.erb +3 -4
- data/app/views/alchemy/admin/clipboard/clear.js.erb +1 -1
- data/app/views/alchemy/admin/clipboard/index.html.erb +1 -1
- data/app/views/alchemy/admin/clipboard/insert.js.erb +1 -1
- data/app/views/alchemy/admin/clipboard/remove.js.erb +1 -1
- data/app/views/alchemy/admin/dashboard/_locked_pages.html.erb +1 -1
- data/app/views/alchemy/admin/dashboard/_sites.html.erb +1 -1
- data/app/views/alchemy/admin/dashboard/help.html.erb +48 -12
- data/app/views/alchemy/admin/dashboard/index.html.erb +1 -1
- data/app/views/alchemy/admin/dashboard/info.html.erb +5 -8
- data/app/views/alchemy/admin/elements/_add_nested_element_form.html.erb +1 -1
- data/app/views/alchemy/admin/elements/_element.html.erb +5 -5
- data/app/views/alchemy/admin/elements/_footer.html.erb +1 -1
- data/app/views/alchemy/admin/elements/_header.html.erb +6 -2
- data/app/views/alchemy/admin/elements/_toolbar.html.erb +8 -6
- data/app/views/alchemy/admin/elements/create.js.erb +0 -5
- data/app/views/alchemy/admin/elements/index.html.erb +70 -34
- data/app/views/alchemy/admin/ingredients/_file_fields.html.erb +1 -2
- data/app/views/alchemy/admin/ingredients/_picture_fields.html.erb +3 -5
- data/app/views/alchemy/admin/languages/_language.html.erb +1 -1
- data/app/views/alchemy/admin/languages/index.html.erb +2 -2
- data/app/views/alchemy/admin/layoutpages/_layoutpage.html.erb +18 -18
- data/app/views/alchemy/admin/layoutpages/edit.html.erb +3 -4
- data/app/views/alchemy/admin/layoutpages/index.html.erb +2 -2
- data/app/views/alchemy/admin/legacy_page_urls/_legacy_page_url.html.erb +10 -11
- data/app/views/alchemy/admin/legacy_page_urls/_new.html.erb +15 -17
- data/app/views/alchemy/admin/legacy_page_urls/_table.html.erb +16 -0
- data/app/views/alchemy/admin/legacy_page_urls/_update.turbo_stream.erb +12 -0
- data/app/views/alchemy/admin/legacy_page_urls/create.turbo_stream.erb +8 -0
- data/app/views/alchemy/admin/legacy_page_urls/destroy.turbo_stream.erb +1 -0
- data/app/views/alchemy/admin/legacy_page_urls/edit.html.erb +27 -0
- data/app/views/alchemy/admin/legacy_page_urls/show.html.erb +1 -0
- data/app/views/alchemy/admin/legacy_page_urls/update.turbo_stream.erb +1 -0
- data/app/views/alchemy/admin/nodes/_form.html.erb +12 -11
- data/app/views/alchemy/admin/nodes/_label.html.erb +1 -0
- data/app/views/alchemy/admin/nodes/_node.html.erb +19 -19
- data/app/views/alchemy/admin/nodes/_page_nodes.html.erb +48 -0
- data/app/views/alchemy/admin/nodes/_update.turbo_stream.erb +9 -0
- data/app/views/alchemy/admin/nodes/create.turbo_stream.erb +1 -0
- data/app/views/alchemy/admin/nodes/destroy.turbo_stream.erb +1 -0
- data/app/views/alchemy/admin/nodes/index.html.erb +3 -3
- data/app/views/alchemy/admin/pages/_form.html.erb +3 -4
- data/app/views/alchemy/admin/pages/_legacy_urls.html.erb +4 -15
- data/app/views/alchemy/admin/pages/_page.html.erb +39 -39
- data/app/views/alchemy/admin/pages/_table_row.html.erb +3 -3
- data/app/views/alchemy/admin/pages/_toolbar.html.erb +2 -2
- data/app/views/alchemy/admin/pages/configure.html.erb +6 -0
- data/app/views/alchemy/admin/pages/edit.html.erb +15 -62
- data/app/views/alchemy/admin/pages/unlock.js.erb +3 -3
- data/app/views/alchemy/admin/partials/_autocomplete_tag_list.html.erb +3 -1
- data/app/views/alchemy/admin/partials/_flash_notices.html.erb +4 -2
- data/app/views/alchemy/admin/partials/_language_tree_select.html.erb +1 -1
- data/app/views/alchemy/admin/partials/_main_navigation_entry.html.erb +5 -2
- data/app/views/alchemy/admin/partials/_remote_search_form.html.erb +2 -2
- data/app/views/alchemy/admin/partials/_search_form.html.erb +2 -2
- data/app/views/alchemy/admin/partials/_site_select.html.erb +1 -1
- data/app/views/alchemy/admin/picture_descriptions/_form.html.erb +11 -0
- data/app/views/alchemy/admin/picture_descriptions/edit.html.erb +6 -0
- data/app/views/alchemy/admin/pictures/_form.html.erb +4 -3
- data/app/views/alchemy/admin/pictures/_infos.html.erb +1 -1
- data/app/views/alchemy/admin/pictures/_picture_description_field.html.erb +29 -0
- data/app/views/alchemy/admin/pictures/_tag_list.html.erb +2 -2
- data/app/views/alchemy/admin/pictures/archive_overlay.js.erb +0 -2
- data/app/views/alchemy/admin/pictures/edit_multiple.html.erb +3 -3
- data/app/views/alchemy/admin/pictures/show.html.erb +3 -3
- data/app/views/alchemy/admin/resources/_form.html.erb +3 -4
- data/app/views/alchemy/admin/resources/_tag_list.html.erb +2 -2
- data/app/views/alchemy/admin/resources/index.html.erb +2 -2
- data/app/views/alchemy/admin/sites/index.html.erb +1 -1
- data/app/views/alchemy/admin/styleguide/index.html.erb +29 -24
- data/app/views/alchemy/admin/tags/_tag.html.erb +1 -1
- data/app/views/alchemy/admin/tags/edit.html.erb +1 -1
- data/app/views/alchemy/admin/tags/index.html.erb +1 -1
- data/app/views/alchemy/base/500.html.erb +7 -18
- data/app/views/alchemy/base/error_notice.html.erb +3 -1
- data/app/views/alchemy/ingredients/_boolean_editor.html.erb +1 -1
- data/app/views/alchemy/ingredients/_datetime_editor.html.erb +1 -1
- data/app/views/alchemy/ingredients/_headline_editor.html.erb +13 -8
- data/app/views/alchemy/ingredients/_picture_editor.html.erb +1 -1
- data/app/views/alchemy/ingredients/shared/_picture_tools.html.erb +1 -1
- data/app/views/alchemy/language_links/_language.html.erb +1 -1
- data/app/views/kaminari/alchemy/_first_page.html.erb +2 -2
- data/app/views/kaminari/alchemy/_gap.html.erb +1 -1
- data/app/views/kaminari/alchemy/_last_page.html.erb +2 -2
- data/app/views/kaminari/alchemy/_next_page.html.erb +2 -2
- data/app/views/kaminari/alchemy/_prev_page.html.erb +2 -2
- data/app/views/layouts/alchemy/admin.html.erb +2 -1
- data/bundles/shoelace.js +3 -1
- data/config/locales/alchemy.en.yml +16 -3
- data/config/routes.rb +3 -1
- data/db/migrate/20240314105244_create_alchemy_picture_descriptions.rb +11 -0
- data/lib/alchemy/configuration_methods.rb +1 -1
- data/lib/alchemy/controller_actions.rb +3 -3
- data/lib/alchemy/element_definition.rb +10 -6
- data/lib/alchemy/engine.rb +19 -2
- data/lib/alchemy/page_layout.rb +10 -6
- data/lib/alchemy/permissions.rb +3 -2
- data/lib/alchemy/routing_constraints.rb +1 -1
- data/lib/alchemy/seeder.rb +2 -2
- data/lib/alchemy/test_support/capybara_helpers.rb +4 -0
- data/lib/alchemy/test_support/factories/language_factory.rb +1 -1
- data/lib/alchemy/test_support/shared_contexts.rb +8 -0
- data/lib/alchemy/tinymce.rb +2 -1
- data/lib/alchemy/version.rb +1 -1
- data/lib/alchemy.rb +36 -0
- data/lib/alchemy_cms.rb +0 -1
- data/lib/generators/alchemy/menus/templates/node.html.erb +2 -2
- data/lib/generators/alchemy/menus/templates/node.html.haml +2 -2
- data/lib/generators/alchemy/menus/templates/node.html.slim +2 -2
- 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/sitemap.rake +97 -0
- data/package.json +8 -8
- data/vendor/assets/fonts/remixicon.symbol.svg +11 -0
- data/vendor/javascript/shoelace.min.js +333 -118
- data/vendor/javascript/sortable.min.js +1 -1
- data/vendor/javascript/tinymce.min.js +1 -1
- data/vendor/javascript/ungap-custom-elements.min.js +1 -1
- metadata +61 -54
- data/app/assets/javascripts/alchemy/alchemy.confirm_dialog.js.coffee +0 -85
- data/app/assets/javascripts/alchemy/alchemy.elements_window.js.coffee +0 -107
- data/app/assets/javascripts/alchemy/alchemy.file_progress.js.coffee +0 -66
- data/app/assets/javascripts/alchemy/alchemy.fixed_elements.js +0 -45
- data/app/assets/javascripts/alchemy/alchemy.growler.js.coffee +0 -24
- data/app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee +0 -49
- data/app/assets/javascripts/alchemy/alchemy.initializer.js.coffee +0 -0
- data/app/assets/javascripts/alchemy/alchemy.link_dialog.js.coffee +0 -230
- data/app/assets/javascripts/alchemy/alchemy.list_filter.js.coffee +0 -49
- data/app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee +0 -82
- data/app/assets/javascripts/alchemy/alchemy.string_extension.js.coffee +0 -11
- data/app/assets/javascripts/alchemy/templates/page.hbs +0 -19
- data/app/javascript/alchemy_admin/tags_autocomplete.js +0 -46
- data/app/models/alchemy/tree_node.rb +0 -7
- data/app/views/alchemy/admin/elements/destroy.js.erb +0 -8
- data/app/views/alchemy/admin/legacy_page_urls/_form.html.erb +0 -5
- data/app/views/alchemy/admin/legacy_page_urls/create.js.erb +0 -9
- data/app/views/alchemy/admin/legacy_page_urls/destroy.js.erb +0 -6
- data/app/views/alchemy/admin/legacy_page_urls/update.js.erb +0 -2
- data/app/views/alchemy/admin/pages/_anchor_link.html.erb +0 -22
- data/app/views/alchemy/admin/pages/_external_link.html.erb +0 -31
- data/app/views/alchemy/admin/pages/_file_link.html.erb +0 -31
- data/app/views/alchemy/admin/pages/_internal_link.html.erb +0 -35
- data/app/views/alchemy/admin/pages/link.html.erb +0 -26
- data/app/views/alchemy/admin/partials/_flash.html.erb +0 -4
- data/app/views/alchemy/admin/partials/_toolbar_button.html.erb +0 -29
- data/vendor/assets/fonts/remixicon.eot +0 -0
- data/vendor/assets/fonts/remixicon.svg +0 -7816
- data/vendor/assets/fonts/remixicon.ttf +0 -0
- data/vendor/assets/fonts/remixicon.woff +0 -0
- data/vendor/assets/fonts/remixicon.woff2 +0 -0
- data/vendor/assets/stylesheets/remixicon.scss +0 -10480
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2ad1126eb844c56fb3b6259da82715a8c414a8d52c6864ee37bedc6e4ee41823
|
4
|
+
data.tar.gz: 4c06518d41d2b6b55b75b6a39df2754d9b32d05ed781d68eccfe8685d1bd7a03
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b83b7b9326660aaea585e0f7edfb1b7c627e519e8dc2d586c2c469afa728bbc1a1adf0e3437f82a0b02833080136c4388cbe02c01c0d79daa74b63deb26937f5
|
7
|
+
data.tar.gz: 5cabdfca80aa27c1722f6291546fb25cd2253f12d3d3ac337b27edac74e3a44a454d30a09f6caf8cb6a76194df421499ab5835cdb31a007440aac2c398700f7b
|
data/CHANGELOG.md
CHANGED
@@ -1,21 +1,114 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
## 7.
|
4
|
-
|
5
|
-
-
|
6
|
-
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
-
|
11
|
-
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
-
|
16
|
-
-
|
17
|
-
-
|
18
|
-
-
|
3
|
+
## 7.2.0.b (2024-05-16)
|
4
|
+
|
5
|
+
- fix language scope in picture description field [#2876](https://github.com/AlchemyCMS/alchemy_cms/pull/2876) ([tvdeyen](https://github.com/tvdeyen))
|
6
|
+
- fix(dialog-link): Do not addEventListener on every DOM insert [#2874](https://github.com/AlchemyCMS/alchemy_cms/pull/2874) ([tvdeyen](https://github.com/tvdeyen))
|
7
|
+
- [js] Update tinymce 7.0.1 → 7.1.0 (minor) [#2873](https://github.com/AlchemyCMS/alchemy_cms/pull/2873) ([depfu](https://github.com/apps/depfu))
|
8
|
+
- Fix preview window resize transition [#2870](https://github.com/AlchemyCMS/alchemy_cms/pull/2870) ([tvdeyen](https://github.com/tvdeyen))
|
9
|
+
- Do not use select2 for ingredient style select [#2868](https://github.com/AlchemyCMS/alchemy_cms/pull/2868) ([tvdeyen](https://github.com/tvdeyen))
|
10
|
+
- Convert legacy page urls panel into Turbo Frame [#2867](https://github.com/AlchemyCMS/alchemy_cms/pull/2867) ([tvdeyen](https://github.com/tvdeyen))
|
11
|
+
- Add `message_for_resource_action` [#2866](https://github.com/AlchemyCMS/alchemy_cms/pull/2866) ([tvdeyen](https://github.com/tvdeyen))
|
12
|
+
- Tackle deprecations [#2865](https://github.com/AlchemyCMS/alchemy_cms/pull/2865) ([tvdeyen](https://github.com/tvdeyen))
|
13
|
+
- [js] Update all development Yarn dependencies (2024-05-16) [#2864](https://github.com/AlchemyCMS/alchemy_cms/pull/2864) ([depfu](https://github.com/apps/depfu))
|
14
|
+
- Add spec for PagesHelper#page_title [#2863](https://github.com/AlchemyCMS/alchemy_cms/pull/2863) ([mamhoff](https://github.com/mamhoff))
|
15
|
+
- Use page version's `updated_at` timestamp as cache key [#2862](https://github.com/AlchemyCMS/alchemy_cms/pull/2862) ([mamhoff](https://github.com/mamhoff))
|
16
|
+
- Raise missing template errors from `render_site_layout` and `render_menu` [#2861](https://github.com/AlchemyCMS/alchemy_cms/pull/2861) ([mamhoff](https://github.com/mamhoff))
|
17
|
+
- Remove rufo gem [#2860](https://github.com/AlchemyCMS/alchemy_cms/pull/2860) ([tvdeyen](https://github.com/tvdeyen))
|
18
|
+
- fix(IngredientAnchorLink): Use alchemy-icon setAttribute [#2859](https://github.com/AlchemyCMS/alchemy_cms/pull/2859) ([tvdeyen](https://github.com/tvdeyen))
|
19
|
+
- Remove `render_flash_notice` helper [#2857](https://github.com/AlchemyCMS/alchemy_cms/pull/2857) ([tvdeyen](https://github.com/tvdeyen))
|
20
|
+
- Deprecate `js_filter_field` [#2856](https://github.com/AlchemyCMS/alchemy_cms/pull/2856) ([tvdeyen](https://github.com/tvdeyen))
|
21
|
+
- Deprecate `toolbar_button` helper [#2855](https://github.com/AlchemyCMS/alchemy_cms/pull/2855) ([tvdeyen](https://github.com/tvdeyen))
|
22
|
+
- feat(alchemy-button): Re-enable on turbo:submit-end [#2854](https://github.com/AlchemyCMS/alchemy_cms/pull/2854) ([tvdeyen](https://github.com/tvdeyen))
|
23
|
+
- feat(alchemy-growl): Allow innerHTML as message [#2853](https://github.com/AlchemyCMS/alchemy_cms/pull/2853) ([tvdeyen](https://github.com/tvdeyen))
|
24
|
+
- Always show element tabs if the page has fixed elements [#2852](https://github.com/AlchemyCMS/alchemy_cms/pull/2852) ([sascha-karnatz](https://github.com/sascha-karnatz))
|
25
|
+
- CI: Commit changes to javascript bundles [#2851](https://github.com/AlchemyCMS/alchemy_cms/pull/2851) ([tvdeyen](https://github.com/tvdeyen))
|
26
|
+
- [CI] Unify build workflow into one file again [#2850](https://github.com/AlchemyCMS/alchemy_cms/pull/2850) ([tvdeyen](https://github.com/tvdeyen))
|
27
|
+
- fix(CI): Skip Build JS packages if no changes [#2849](https://github.com/AlchemyCMS/alchemy_cms/pull/2849) ([tvdeyen](https://github.com/tvdeyen))
|
28
|
+
- [js] Update all development Yarn dependencies (2024-04-26) [#2847](https://github.com/AlchemyCMS/alchemy_cms/pull/2847) ([depfu](https://github.com/apps/depfu))
|
29
|
+
- UI fixes for picture css class display [#2844](https://github.com/AlchemyCMS/alchemy_cms/pull/2844) ([tvdeyen](https://github.com/tvdeyen))
|
30
|
+
- Allow to customize Headline Sizes [#2843](https://github.com/AlchemyCMS/alchemy_cms/pull/2843) ([tvdeyen](https://github.com/tvdeyen))
|
31
|
+
- [js] Update tinymce 7.0.0 → 7.0.1 (patch) [#2842](https://github.com/AlchemyCMS/alchemy_cms/pull/2842) ([depfu](https://github.com/apps/depfu))
|
32
|
+
- Fix Ingredient Boolean View [#2836](https://github.com/AlchemyCMS/alchemy_cms/pull/2836) ([tvdeyen](https://github.com/tvdeyen))
|
33
|
+
- Fix elements clipboard button permissions [#2834](https://github.com/AlchemyCMS/alchemy_cms/pull/2834) ([tvdeyen](https://github.com/tvdeyen))
|
34
|
+
- Reintroduce autocomplete_tag_list partial [#2833](https://github.com/AlchemyCMS/alchemy_cms/pull/2833) ([tvdeyen](https://github.com/tvdeyen))
|
35
|
+
- Harden Page List Feature Spec [#2832](https://github.com/AlchemyCMS/alchemy_cms/pull/2832) ([mamhoff](https://github.com/mamhoff))
|
36
|
+
- Nullify Ingredients::Page on Page destroy [#2829](https://github.com/AlchemyCMS/alchemy_cms/pull/2829) ([mamhoff](https://github.com/mamhoff))
|
37
|
+
- Reload preview window (again) after element create [#2827](https://github.com/AlchemyCMS/alchemy_cms/pull/2827) ([tvdeyen](https://github.com/tvdeyen))
|
38
|
+
- Always show headline level [#2825](https://github.com/AlchemyCMS/alchemy_cms/pull/2825) ([tvdeyen](https://github.com/tvdeyen))
|
39
|
+
- Clear definitions cache after file change [#2824](https://github.com/AlchemyCMS/alchemy_cms/pull/2824) ([tvdeyen](https://github.com/tvdeyen))
|
40
|
+
- Use Shoelace Dialog for ConfirmDialog [#2823](https://github.com/AlchemyCMS/alchemy_cms/pull/2823) ([tvdeyen](https://github.com/tvdeyen))
|
41
|
+
- Fix module error [#2820](https://github.com/AlchemyCMS/alchemy_cms/pull/2820) ([mamhoff](https://github.com/mamhoff))
|
42
|
+
- Add delete-element-button [#2818](https://github.com/AlchemyCMS/alchemy_cms/pull/2818) ([tvdeyen](https://github.com/tvdeyen))
|
43
|
+
- Locally import growl function in ES code [#2817](https://github.com/AlchemyCMS/alchemy_cms/pull/2817) ([tvdeyen](https://github.com/tvdeyen))
|
44
|
+
- Locally initialize SortableElements [#2815](https://github.com/AlchemyCMS/alchemy_cms/pull/2815) ([tvdeyen](https://github.com/tvdeyen))
|
45
|
+
- Only initialize Alchemy Admin JS locally [#2814](https://github.com/AlchemyCMS/alchemy_cms/pull/2814) ([tvdeyen](https://github.com/tvdeyen))
|
46
|
+
- [js] Update all development Yarn dependencies (2024-03-28) [#2811](https://github.com/AlchemyCMS/alchemy_cms/pull/2811) ([depfu](https://github.com/apps/depfu))
|
47
|
+
- Table icon fixes [#2810](https://github.com/AlchemyCMS/alchemy_cms/pull/2810) ([tvdeyen](https://github.com/tvdeyen))
|
48
|
+
- Revert list flex box [#2809](https://github.com/AlchemyCMS/alchemy_cms/pull/2809) ([tvdeyen](https://github.com/tvdeyen))
|
49
|
+
- 🚨 [security] [js] Update tinymce 6.8.3 → 7.0.0 (major) [#2807](https://github.com/AlchemyCMS/alchemy_cms/pull/2807) ([depfu](https://github.com/apps/depfu))
|
50
|
+
- Add Alchemy::Admin::ListFilter component [#2805](https://github.com/AlchemyCMS/alchemy_cms/pull/2805) ([tvdeyen](https://github.com/tvdeyen))
|
51
|
+
- Some UI fixes [#2804](https://github.com/AlchemyCMS/alchemy_cms/pull/2804) ([tvdeyen](https://github.com/tvdeyen))
|
52
|
+
- Add remote Attachment select to Link Dialog [#2803](https://github.com/AlchemyCMS/alchemy_cms/pull/2803) ([tvdeyen](https://github.com/tvdeyen))
|
53
|
+
- Convert Preview Window into web component [#2802](https://github.com/AlchemyCMS/alchemy_cms/pull/2802) ([tvdeyen](https://github.com/tvdeyen))
|
54
|
+
- Use Turbo Frame for Elements Window [#2801](https://github.com/AlchemyCMS/alchemy_cms/pull/2801) ([tvdeyen](https://github.com/tvdeyen))
|
55
|
+
- Add Toolbar button component [#2800](https://github.com/AlchemyCMS/alchemy_cms/pull/2800) ([tvdeyen](https://github.com/tvdeyen))
|
56
|
+
- Fix hidden element visibility [#2799](https://github.com/AlchemyCMS/alchemy_cms/pull/2799) ([tvdeyen](https://github.com/tvdeyen))
|
57
|
+
- Picture view fixes [#2798](https://github.com/AlchemyCMS/alchemy_cms/pull/2798) ([tvdeyen](https://github.com/tvdeyen))
|
58
|
+
- [js] Update all development Yarn dependencies (2024-03-21) [#2797](https://github.com/AlchemyCMS/alchemy_cms/pull/2797) ([depfu](https://github.com/apps/depfu))
|
59
|
+
- Refactor link dialog into ES module [#2796](https://github.com/AlchemyCMS/alchemy_cms/pull/2796) ([sascha-karnatz](https://github.com/sascha-karnatz))
|
60
|
+
- Rebuild Growler into web component [#2795](https://github.com/AlchemyCMS/alchemy_cms/pull/2795) ([tvdeyen](https://github.com/tvdeyen))
|
61
|
+
- Update open source resources in info panel [#2794](https://github.com/AlchemyCMS/alchemy_cms/pull/2794) ([tvdeyen](https://github.com/tvdeyen))
|
62
|
+
- Fix tag list style [#2793](https://github.com/AlchemyCMS/alchemy_cms/pull/2793) ([tvdeyen](https://github.com/tvdeyen))
|
63
|
+
- Add multi language image descriptions [#2792](https://github.com/AlchemyCMS/alchemy_cms/pull/2792) ([tvdeyen](https://github.com/tvdeyen))
|
64
|
+
- Convert List Filter into ES module [#2791](https://github.com/AlchemyCMS/alchemy_cms/pull/2791) ([tvdeyen](https://github.com/tvdeyen))
|
65
|
+
- Fix image archive icons [#2790](https://github.com/AlchemyCMS/alchemy_cms/pull/2790) ([tvdeyen](https://github.com/tvdeyen))
|
66
|
+
- Fix hotkeys [#2789](https://github.com/AlchemyCMS/alchemy_cms/pull/2789) ([tvdeyen](https://github.com/tvdeyen))
|
67
|
+
- Do not use xlink:href in svg icons [#2787](https://github.com/AlchemyCMS/alchemy_cms/pull/2787) ([tvdeyen](https://github.com/tvdeyen))
|
68
|
+
- Remove order in before_action callback [#2784](https://github.com/AlchemyCMS/alchemy_cms/pull/2784) ([kulturbande](https://github.com/kulturbande))
|
69
|
+
- CI: Setup concurrency [#2783](https://github.com/AlchemyCMS/alchemy_cms/pull/2783) ([tvdeyen](https://github.com/tvdeyen))
|
70
|
+
- Fix layoutpages layout [#2780](https://github.com/AlchemyCMS/alchemy_cms/pull/2780) ([tvdeyen](https://github.com/tvdeyen))
|
71
|
+
- Mark ingredient output as html_safe [#2779](https://github.com/AlchemyCMS/alchemy_cms/pull/2779) ([tvdeyen](https://github.com/tvdeyen))
|
72
|
+
- Add CODEOWNERS file [#2777](https://github.com/AlchemyCMS/alchemy_cms/pull/2777) ([tvdeyen](https://github.com/tvdeyen))
|
73
|
+
- Flexify pages sitemap [#2776](https://github.com/AlchemyCMS/alchemy_cms/pull/2776) ([tvdeyen](https://github.com/tvdeyen))
|
74
|
+
- Reload page sitemap on move errors [#2775](https://github.com/AlchemyCMS/alchemy_cms/pull/2775) ([tvdeyen](https://github.com/tvdeyen))
|
75
|
+
- Add a Sitemap rake task to detect and fix issues [#2774](https://github.com/AlchemyCMS/alchemy_cms/pull/2774) ([sascha-karnatz](https://github.com/sascha-karnatz))
|
76
|
+
- Use Codecov for coverage reports [#2773](https://github.com/AlchemyCMS/alchemy_cms/pull/2773) ([tvdeyen](https://github.com/tvdeyen))
|
77
|
+
- [js] Update all development Yarn dependencies (2024-03-07) [#2772](https://github.com/AlchemyCMS/alchemy_cms/pull/2772) ([depfu](https://github.com/apps/depfu))
|
78
|
+
- Remove order admin pages route [#2770](https://github.com/AlchemyCMS/alchemy_cms/pull/2770) ([tvdeyen](https://github.com/tvdeyen))
|
79
|
+
- Do not include timezone in datepickers only displaying date [#2767](https://github.com/AlchemyCMS/alchemy_cms/pull/2767) ([tvdeyen](https://github.com/tvdeyen))
|
80
|
+
- Moved the link dialog partials into view components [#2766](https://github.com/AlchemyCMS/alchemy_cms/pull/2766) ([sascha-karnatz](https://github.com/sascha-karnatz))
|
81
|
+
- Fix taggable uniqueness in tags admin table [#2761](https://github.com/AlchemyCMS/alchemy_cms/pull/2761) ([tvdeyen](https://github.com/tvdeyen))
|
82
|
+
- Fix datepicker in resource forms [#2760](https://github.com/AlchemyCMS/alchemy_cms/pull/2760) ([tvdeyen](https://github.com/tvdeyen))
|
83
|
+
- [js] Update all development Yarn dependencies (2024-02-29) [#2759](https://github.com/AlchemyCMS/alchemy_cms/pull/2759) ([depfu](https://github.com/apps/depfu))
|
84
|
+
- CI: Disable brakeman analysis for codeclimate [#2758](https://github.com/AlchemyCMS/alchemy_cms/pull/2758) ([tvdeyen](https://github.com/tvdeyen))
|
85
|
+
- CI: Fix backporting [#2755](https://github.com/AlchemyCMS/alchemy_cms/pull/2755) ([tvdeyen](https://github.com/tvdeyen))
|
86
|
+
- Fix order of elements after Page copy [#2752](https://github.com/AlchemyCMS/alchemy_cms/pull/2752) ([tvdeyen](https://github.com/tvdeyen))
|
87
|
+
- Fix sortable elements [#2750](https://github.com/AlchemyCMS/alchemy_cms/pull/2750) ([tvdeyen](https://github.com/tvdeyen))
|
88
|
+
- Use svg remixicons [#2749](https://github.com/AlchemyCMS/alchemy_cms/pull/2749) ([tvdeyen](https://github.com/tvdeyen))
|
89
|
+
- Transform the tag selector into a web component [#2748](https://github.com/AlchemyCMS/alchemy_cms/pull/2748) ([sascha-karnatz](https://github.com/sascha-karnatz))
|
90
|
+
- Allow turbo v2.0.x [#2747](https://github.com/AlchemyCMS/alchemy_cms/pull/2747) ([sascha-karnatz](https://github.com/sascha-karnatz))
|
91
|
+
- Fix svg thumbnail size [#2741](https://github.com/AlchemyCMS/alchemy_cms/pull/2741) ([tvdeyen](https://github.com/tvdeyen))
|
92
|
+
- [js] Update @shoelace-style/shoelace 2.13.1 → 2.14.0 (minor) [#2739](https://github.com/AlchemyCMS/alchemy_cms/pull/2739) ([depfu](https://github.com/apps/depfu))
|
93
|
+
- Remove Alchemy.FileProgress file [#2738](https://github.com/AlchemyCMS/alchemy_cms/pull/2738) ([tvdeyen](https://github.com/tvdeyen))
|
94
|
+
- Fix tags view for missing taggables [#2735](https://github.com/AlchemyCMS/alchemy_cms/pull/2735) ([tvdeyen](https://github.com/tvdeyen))
|
95
|
+
- Fix two minor translations [#2734](https://github.com/AlchemyCMS/alchemy_cms/pull/2734) ([sascha-karnatz](https://github.com/sascha-karnatz))
|
96
|
+
- fix(CI/Build): Use alchemy bot PAT to checkout code [#2731](https://github.com/AlchemyCMS/alchemy_cms/pull/2731) ([tvdeyen](https://github.com/tvdeyen))
|
97
|
+
- Remove string_extension.coffee [#2730](https://github.com/AlchemyCMS/alchemy_cms/pull/2730) ([tvdeyen](https://github.com/tvdeyen))
|
98
|
+
- Fix overlay picture grid [#2728](https://github.com/AlchemyCMS/alchemy_cms/pull/2728) ([sascha-karnatz](https://github.com/sascha-karnatz))
|
99
|
+
- [js] Update tinymce 6.8.2 → 6.8.3 (patch) [#2727](https://github.com/AlchemyCMS/alchemy_cms/pull/2727) ([depfu](https://github.com/apps/depfu))
|
100
|
+
- [ruby - main] Update dotenv → 3.0.0 (unknown) [#2726](https://github.com/AlchemyCMS/alchemy_cms/pull/2726) ([depfu](https://github.com/apps/depfu))
|
101
|
+
- Update backport action to v9.3.1 [#2724](https://github.com/AlchemyCMS/alchemy_cms/pull/2724) ([tvdeyen](https://github.com/tvdeyen))
|
102
|
+
- Sort the element Select List alphabetically [#2722](https://github.com/AlchemyCMS/alchemy_cms/pull/2722) ([kulturbande](https://github.com/kulturbande))
|
103
|
+
- Restrict turbo-rails version [#2720](https://github.com/AlchemyCMS/alchemy_cms/pull/2720) ([sascha-karnatz](https://github.com/sascha-karnatz))
|
104
|
+
- Harden edit elements feature spec [#2718](https://github.com/AlchemyCMS/alchemy_cms/pull/2718) ([tvdeyen](https://github.com/tvdeyen))
|
105
|
+
- Add picture description [#2717](https://github.com/AlchemyCMS/alchemy_cms/pull/2717) ([sascha-karnatz](https://github.com/sascha-karnatz))
|
106
|
+
- [js] Update all development Yarn dependencies (2024-02-20) [#2716](https://github.com/AlchemyCMS/alchemy_cms/pull/2716) ([depfu](https://github.com/apps/depfu))
|
107
|
+
- Fix ActionNotFound in PictureController [#2714](https://github.com/AlchemyCMS/alchemy_cms/pull/2714) ([kulturbande](https://github.com/kulturbande))
|
108
|
+
- Update README.md [#2713](https://github.com/AlchemyCMS/alchemy_cms/pull/2713) ([kulturbande](https://github.com/kulturbande))
|
109
|
+
- Use Rails' CurrentAttributes to store globals [#2701](https://github.com/AlchemyCMS/alchemy_cms/pull/2701) ([tvdeyen](https://github.com/tvdeyen))
|
110
|
+
- Add nodes to page dialog [#2699](https://github.com/AlchemyCMS/alchemy_cms/pull/2699) ([sascha-karnatz](https://github.com/sascha-karnatz))
|
111
|
+
- Fixes language switching to default language [#2689](https://github.com/AlchemyCMS/alchemy_cms/pull/2689) ([robinboening](https://github.com/robinboening))
|
19
112
|
|
20
113
|
## 7.1.7 (2024-04-12)
|
21
114
|
|
@@ -202,6 +295,29 @@
|
|
202
295
|
- Convert Dirty from Coffeescript to Javascript [#2510](https://github.com/AlchemyCMS/alchemy_cms/pull/2510) ([sascha-karnatz](https://github.com/sascha-karnatz))
|
203
296
|
- Convert buttons.js.coffee to buttons.js [#2509](https://github.com/AlchemyCMS/alchemy_cms/pull/2509) ([sascha-karnatz](https://github.com/sascha-karnatz))
|
204
297
|
|
298
|
+
## 7.0.12 (2024-04-12)
|
299
|
+
|
300
|
+
- [7.0-stable] Fix Ingredient Boolean View [#2837](https://github.com/AlchemyCMS/alchemy_cms/pull/2837) ([alchemycms-bot](https://github.com/alchemycms-bot))
|
301
|
+
- [7.0-stable] Nullify Ingredients::Page on Page destroy [#2830](https://github.com/AlchemyCMS/alchemy_cms/pull/2830) ([alchemycms-bot](https://github.com/alchemycms-bot))
|
302
|
+
- [7.0-stable] Fix module error [#2821](https://github.com/AlchemyCMS/alchemy_cms/pull/2821) ([alchemycms-bot](https://github.com/alchemycms-bot))
|
303
|
+
- [7.0-stable] Mark ingredient output as html_safe [#2781](https://github.com/AlchemyCMS/alchemy_cms/pull/2781) ([alchemycms-bot](https://github.com/alchemycms-bot))
|
304
|
+
|
305
|
+
## 7.0.11 (2024-03-05)
|
306
|
+
|
307
|
+
- [7.0-stable] Do not include timezone in datepickers only displaying date [#2769](https://github.com/AlchemyCMS/alchemy_cms/pull/2769) ([tvdeyen](https://github.com/tvdeyen))
|
308
|
+
|
309
|
+
## 7.0.10 (2024-02-29)
|
310
|
+
|
311
|
+
- [7.0-stable] Fix taggable uniqueness in tags admin table [#2763](https://github.com/AlchemyCMS/alchemy_cms/pull/2763) ([alchemycms-bot](https://github.com/alchemycms-bot))
|
312
|
+
|
313
|
+
## 7.0.9 (2024-02-27)
|
314
|
+
|
315
|
+
- [7.0] Fix tags view for missing taggables [#2757](https://github.com/AlchemyCMS/alchemy_cms/pull/2757) ([tvdeyen](https://github.com/tvdeyen))
|
316
|
+
- [7.0-stable] Merge pull request #2752 from tvdeyen/fix-copy-elements-order [#2753](https://github.com/AlchemyCMS/alchemy_cms/pull/2753) ([alchemycms-bot](https://github.com/alchemycms-bot))
|
317
|
+
- [7.0-stable] Merge pull request #2689 from robinboening/fix_switching_to_default_language [#2745](https://github.com/AlchemyCMS/alchemy_cms/pull/2745) ([alchemycms-bot](https://github.com/alchemycms-bot))
|
318
|
+
- [7.0-stable] Merge pull request #2720 from sascha-karnatz/restrict-turbo-rails-version [#2725](https://github.com/AlchemyCMS/alchemy_cms/pull/2725) ([alchemycms-bot](https://github.com/alchemycms-bot))
|
319
|
+
- [7.0-stable] Merge pull request #2665 from tvdeyen/resource-filter-fixes [#2668](https://github.com/AlchemyCMS/alchemy_cms/pull/2668) ([alchemycms-bot](https://github.com/alchemycms-bot))
|
320
|
+
|
205
321
|
## 7.0.8 (2023-12-28)
|
206
322
|
|
207
323
|
- [7.0-stable] Merge pull request #2658 from tvdeyen/fix-contactform-mailer [#2660](https://github.com/AlchemyCMS/alchemy_cms/pull/2660) ([alchemycms-bot](https://github.com/alchemycms-bot))
|
data/Gemfile
CHANGED
@@ -23,6 +23,7 @@ group :development, :test do
|
|
23
23
|
gem "standard", "~> 1.25", require: false
|
24
24
|
|
25
25
|
if ENV["GITHUB_ACTIONS"]
|
26
|
+
gem "simplecov-cobertura", "~> 2.1"
|
26
27
|
# Necessary because GH Actions gem cache does not have this "Bundled with Ruby" gem installed
|
27
28
|
gem "rexml", "~> 3.2.4"
|
28
29
|
gem "sassc", "~> 2.4.0" # https://github.com/sass/sassc-ruby/issues/146
|
@@ -40,11 +41,10 @@ group :development, :test do
|
|
40
41
|
gem "pry-byebug"
|
41
42
|
gem "listen"
|
42
43
|
gem "localeapp", "~> 3.0", require: false
|
43
|
-
gem "dotenv", "~>
|
44
|
+
gem "dotenv", "~> 3.0"
|
44
45
|
gem "github_fast_changelog", require: false
|
45
46
|
gem "active_record_query_trace", require: false
|
46
47
|
gem "rack-mini-profiler", require: false
|
47
|
-
gem "rufo", require: false
|
48
48
|
gem "brakeman", require: false
|
49
49
|
end
|
50
50
|
end
|
@@ -59,5 +59,3 @@ end
|
|
59
59
|
gem "web-console", "~> 4.2", group: :development
|
60
60
|
|
61
61
|
gem "rails_live_reload", "~> 0.3.5"
|
62
|
-
|
63
|
-
gem "gem-release", "~> 2.2"
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -4,8 +4,7 @@
|
|
4
4
|
[![Brakeman Scan](https://github.com/AlchemyCMS/alchemy_cms/actions/workflows/brakeman-analysis.yml/badge.svg)](https://github.com/AlchemyCMS/alchemy_cms/actions/workflows/brakeman-analysis.yml)
|
5
5
|
|
6
6
|
[![Gem Version](https://badge.fury.io/rb/alchemy_cms.svg)](https://badge.fury.io/rb/alchemy_cms)
|
7
|
-
[![
|
8
|
-
[![Test Coverage](https://api.codeclimate.com/v1/badges/196c56c56568ed24a697/test_coverage)](https://codeclimate.com/github/AlchemyCMS/alchemy_cms/test_coverage)
|
7
|
+
[![codecov](https://codecov.io/gh/AlchemyCMS/alchemy_cms/graph/badge.svg?token=uUHQGfB2xe)](https://codecov.io/gh/AlchemyCMS/alchemy_cms)
|
9
8
|
[![Lint](https://github.com/AlchemyCMS/alchemy_cms/actions/workflows/lint.yml/badge.svg)](https://github.com/AlchemyCMS/alchemy_cms/actions/workflows/lint.yml)
|
10
9
|
[![Depfu](https://badges.depfu.com/badges/ebe56d2dd7b7044a8ae700cc81212a8e/overview.svg)](https://depfu.com/github/AlchemyCMS/alchemy_cms?project_id=4600)
|
11
10
|
|
@@ -166,7 +165,7 @@ def alchemy_roles
|
|
166
165
|
end
|
167
166
|
```
|
168
167
|
|
169
|
-
Please follow [this guide](
|
168
|
+
Please follow [this guide](https://guides.alchemy-cms.com/how_to_add_custom_authentication.html) for further instructions on how to customize your user class even more.
|
170
169
|
|
171
170
|
#### 4. Install Alchemy into your app:
|
172
171
|
|
@@ -371,7 +370,7 @@ $ bundle exec rake release
|
|
371
370
|
* Read the guidelines: https://guides.alchemy-cms.com.
|
372
371
|
* Read the documentation: https://www.rubydoc.info/github/AlchemyCMS/alchemy_cms
|
373
372
|
* If you think you found a bug please use the [issue tracker on Github](https://github.com/AlchemyCMS/alchemy_cms/issues).
|
374
|
-
* For questions about general usage please use [Stack Overflow](http://stackoverflow.com/questions/tagged/alchemy-cms) or the [Slack](https://
|
373
|
+
* For questions about general usage please use [Stack Overflow](http://stackoverflow.com/questions/tagged/alchemy-cms) or the [Slack](https://join.slack.com/t/alchemy-cms/shared_invite/zt-2ir32b4ph-L3EVS0FiMiWKx7omNNbeyw).
|
375
374
|
* New features should be discussed on our [Trello Board](https://trello.com/alchemycms).
|
376
375
|
|
377
376
|
**PLEASE** don't use the Github issues for feature requests. If you want to contribute to Alchemy please [read the contribution guidelines](CONTRIBUTING.md) before doing so.
|
@@ -384,8 +383,8 @@ $ bundle exec rake release
|
|
384
383
|
* API Documentation: <https://www.rubydoc.info/github/AlchemyCMS/alchemy_cms>
|
385
384
|
* Issue-Tracker: <https://github.com/AlchemyCMS/alchemy_cms/issues>
|
386
385
|
* Sourcecode: <https://github.com/AlchemyCMS/alchemy_cms>
|
387
|
-
* Slack:
|
388
|
-
*
|
386
|
+
* Slack: [https://alchemy-cms.slack.com](https://join.slack.com/t/alchemy-cms/shared_invite/zt-2ir32b4ph-L3EVS0FiMiWKx7omNNbeyw)
|
387
|
+
* Mastodon: <https://ruby.social/@alchemy_cms>
|
389
388
|
|
390
389
|
|
391
390
|
## ✍️ Authors
|
data/SECURITY.md
CHANGED
@@ -6,7 +6,7 @@ We support the current major and last minor version of the previous major versio
|
|
6
6
|
|
7
7
|
## Reporting a Vulnerability
|
8
8
|
|
9
|
-
Please send a preferably encrypted email to
|
9
|
+
Please send a preferably encrypted email to alchemy@blish.cloud
|
10
10
|
|
11
11
|
PGP public key finger print
|
12
12
|
|
data/alchemy_cms.gemspec
CHANGED
@@ -9,13 +9,13 @@ Gem::Specification.new do |gem|
|
|
9
9
|
gem.version = Alchemy::VERSION
|
10
10
|
gem.platform = Gem::Platform::RUBY
|
11
11
|
gem.authors = ["Thomas von Deyen", "Robin Boening", "Marc Schettke", "Hendrik Mans", "Carsten Fregin", "Martin Meyerhoff"]
|
12
|
-
gem.email = ["
|
12
|
+
gem.email = ["alchemy@blish.cloud"]
|
13
13
|
gem.homepage = "https://alchemy-cms.com"
|
14
14
|
gem.summary = "A powerful, userfriendly and flexible CMS for Rails"
|
15
15
|
gem.description = "Alchemy is a powerful, userfriendly and flexible Rails CMS."
|
16
16
|
gem.requirements << "ImageMagick (libmagick), v6.6 or greater."
|
17
17
|
gem.required_ruby_version = ">= 3.0.0"
|
18
|
-
gem.license = "BSD
|
18
|
+
gem.license = "BSD-3-Clause"
|
19
19
|
gem.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^spec/|yarn|^\.}) }
|
20
20
|
gem.require_paths = ["lib"]
|
21
21
|
|
@@ -46,12 +46,11 @@ Gem::Specification.new do |gem|
|
|
46
46
|
gem.add_runtime_dependency "kaminari", ["~> 1.1"]
|
47
47
|
gem.add_runtime_dependency "originator", ["~> 3.1"]
|
48
48
|
gem.add_runtime_dependency "ransack", [">= 1.8", "< 5.0"]
|
49
|
-
gem.add_runtime_dependency "request_store", ["~> 1.2"]
|
50
49
|
gem.add_runtime_dependency "responders", [">= 2.0", "< 4.0"]
|
51
50
|
gem.add_runtime_dependency "sassc-rails", ["~> 2.1"]
|
52
51
|
gem.add_runtime_dependency "simple_form", [">= 4.0", "< 6"]
|
53
52
|
gem.add_runtime_dependency "sprockets", [">= 3.0", "< 5"]
|
54
|
-
gem.add_runtime_dependency "turbo-rails", [">= 1.4", "< 2"]
|
53
|
+
gem.add_runtime_dependency "turbo-rails", [">= 1.4", "< 2.1"]
|
55
54
|
gem.add_runtime_dependency "view_component", ["~> 3.0"]
|
56
55
|
|
57
56
|
gem.add_development_dependency "capybara", ["~> 3.0"]
|
@@ -5,13 +5,4 @@
|
|
5
5
|
//= require handlebars
|
6
6
|
//= require alchemy/templates
|
7
7
|
//= require alchemy/alchemy.dialog
|
8
|
-
//= require alchemy/alchemy.confirm_dialog
|
9
|
-
//= require alchemy/alchemy.elements_window
|
10
|
-
//= require alchemy/alchemy.fixed_elements
|
11
|
-
//= require alchemy/alchemy.growler
|
12
|
-
//= require alchemy/alchemy.hotkeys
|
13
8
|
//= require alchemy/alchemy.image_overlay
|
14
|
-
//= require alchemy/alchemy.string_extension
|
15
|
-
//= require alchemy/alchemy.link_dialog
|
16
|
-
//= require alchemy/alchemy.list_filter
|
17
|
-
//= require alchemy/alchemy.preview_window
|
@@ -136,10 +136,10 @@ class window.Alchemy.Dialog
|
|
136
136
|
else
|
137
137
|
error_header = "#{xhr.statusText} (#{xhr.status})"
|
138
138
|
error_body = "Please check log and try again."
|
139
|
-
$errorDiv = $("<
|
140
|
-
|
141
|
-
|
142
|
-
|
139
|
+
$errorDiv = $("<alchemy-message type=\"#{error_type}\">
|
140
|
+
<h1>#{error_header}</h1>
|
141
|
+
<p>#{error_body}</p>
|
142
|
+
</alchemy-message>")
|
143
143
|
$container.html $errorDiv
|
144
144
|
|
145
145
|
# Binds close events on:
|
@@ -168,7 +168,7 @@ class window.Alchemy.Dialog
|
|
168
168
|
@dialog_body = $('<div class="alchemy-dialog-body" />')
|
169
169
|
@dialog_header = $('<div class="alchemy-dialog-header" />')
|
170
170
|
@dialog_title = $('<div class="alchemy-dialog-title" />')
|
171
|
-
@close_button = $('<a class="alchemy-dialog-close"><
|
171
|
+
@close_button = $('<a class="alchemy-dialog-close"><alchemy-icon name="close"></alchemy-icon></a>')
|
172
172
|
@dialog_title.text(@options.title)
|
173
173
|
@dialog_header.append(@dialog_title)
|
174
174
|
@dialog_header.append(@close_button)
|
@@ -265,13 +265,3 @@ window.Alchemy.watchForDialogs = (scope = '#alchemy') ->
|
|
265
265
|
return
|
266
266
|
event.preventDefault()
|
267
267
|
return
|
268
|
-
|
269
|
-
# Returns a Remix icon for given message type
|
270
|
-
#
|
271
|
-
window.Alchemy.messageIcon = (messageType) ->
|
272
|
-
icon_class = switch messageType
|
273
|
-
when "warning", "warn", "alert" then "alert"
|
274
|
-
when "notice" then "check"
|
275
|
-
when "error" then "bug"
|
276
|
-
else messageType
|
277
|
-
"<i class=\"icon ri-#{icon_class}-line ri-fw\" />"
|
@@ -17,7 +17,8 @@ class window.Alchemy.ImageOverlay extends Alchemy.Dialog
|
|
17
17
|
@$previous = $('.previous-picture')
|
18
18
|
@$next = $('.next-picture')
|
19
19
|
@$document.keydown (e) =>
|
20
|
-
|
20
|
+
if e.target.nodeName == 'INPUT' || e.target.nodeName == 'TEXTAREA'
|
21
|
+
return true
|
21
22
|
switch e.which
|
22
23
|
when 37
|
23
24
|
@previous()
|
@@ -30,11 +31,11 @@ class window.Alchemy.ImageOverlay extends Alchemy.Dialog
|
|
30
31
|
super()
|
31
32
|
|
32
33
|
previous: ->
|
33
|
-
@$previous
|
34
|
+
@$previous[0]?.click()
|
34
35
|
return
|
35
36
|
|
36
37
|
next: ->
|
37
|
-
@$next
|
38
|
+
@$next[0]?.click()
|
38
39
|
return
|
39
40
|
|
40
41
|
build: ->
|
@@ -42,7 +43,7 @@ class window.Alchemy.ImageOverlay extends Alchemy.Dialog
|
|
42
43
|
@dialog = $('<div class="alchemy-image-overlay-dialog" />')
|
43
44
|
@dialog_body = $('<div class="alchemy-image-overlay-body" />')
|
44
45
|
@close_button = $('<a class="alchemy-image-overlay-close">
|
45
|
-
<
|
46
|
+
<alchemy-icon name="close" size="xl"></alchemy-icon>
|
46
47
|
</a>')
|
47
48
|
@dialog.append(@close_button)
|
48
49
|
@dialog.append(@dialog_body)
|
@@ -1,3 +1,3 @@
|
|
1
1
|
<a class="node_folder" data-record-id="{{ node.id }}" data-record-type="{{ node.type }}">
|
2
|
-
<
|
2
|
+
<alchemy-icon name="arrow-{{#if node.folded }}right{{else}}down{{/if}}-s"></alchemy-icon>
|
3
3
|
</a>
|
@@ -5,15 +5,28 @@ tinymce.PluginManager.add("alchemy_link", function (editor) {
|
|
5
5
|
|
6
6
|
const openLinkDialog = () => {
|
7
7
|
if (Alchemy.currentDialog()) return
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
8
|
+
|
9
|
+
let link = {}
|
10
|
+
const anchor = getAnchor(editor.selection.getNode())
|
11
|
+
if (anchor) {
|
12
|
+
link = {
|
13
|
+
url: anchor.href,
|
14
|
+
title: anchor.title,
|
15
|
+
target: anchor.target,
|
16
|
+
type: anchor.className
|
17
|
+
}
|
13
18
|
}
|
14
|
-
const linkDialog = new Alchemy.LinkDialog(
|
19
|
+
const linkDialog = new Alchemy.LinkDialog(link)
|
15
20
|
editor.focus()
|
16
|
-
linkDialog.open()
|
21
|
+
linkDialog.open().then((link) => {
|
22
|
+
editor.execCommand("mceInsertLink", false, {
|
23
|
+
href: link.url,
|
24
|
+
class: link.type,
|
25
|
+
title: link.title,
|
26
|
+
target: link.target
|
27
|
+
})
|
28
|
+
editor.selection.collapse()
|
29
|
+
})
|
17
30
|
}
|
18
31
|
|
19
32
|
editor.ui.registry.addToggleButton("alchemy_link", {
|
@@ -5,6 +5,14 @@
|
|
5
5
|
--spacing-3: 12px;
|
6
6
|
--spacing-4: 16px;
|
7
7
|
|
8
|
+
// Icons
|
9
|
+
--icon-size-xs: 0.75rem;
|
10
|
+
--icon-size-sm: 0.875rem;
|
11
|
+
--icon-size-1x: 1rem;
|
12
|
+
--icon-size-md: 1.3rem;
|
13
|
+
--icon-size-xl: 1.5rem;
|
14
|
+
--icon-size-xxl: 1.6rem;
|
15
|
+
|
8
16
|
// Font Families
|
9
17
|
--font-mono: Menlo, Monaco, "Bitstream Vera Sans Mono", "Lucida Console",
|
10
18
|
Terminal, monospace;
|
@@ -54,7 +62,11 @@
|
|
54
62
|
--color-grey_medium: hsl(0deg, 0%, 78%);
|
55
63
|
--color-grey_dark: hsl(0deg, 0%, 40%);
|
56
64
|
--color-grey_very_dark: hsl(0deg, 0%, 20%);
|
65
|
+
|
66
|
+
--color-white: hsl(0deg, 0%, 100%);
|
67
|
+
|
57
68
|
--color-text: hsla(224, 22.7%, 25.9%, 0.8);
|
69
|
+
--color-icon: hsla(224, 22.7%, 25.9%, 0.75);
|
58
70
|
}
|
59
71
|
|
60
72
|
.alchemy-light {
|
@@ -150,7 +150,9 @@
|
|
150
150
|
$margin: 2 * $default-margin 0,
|
151
151
|
$padding: $default-padding 3 * $default-padding
|
152
152
|
) {
|
153
|
-
display: inline-
|
153
|
+
display: inline-flex;
|
154
|
+
align-items: center;
|
155
|
+
gap: $default-padding;
|
154
156
|
vertical-align: middle;
|
155
157
|
padding: $padding;
|
156
158
|
margin: $margin;
|
@@ -168,11 +170,13 @@
|
|
168
170
|
@include label-base($margin: $margin, $padding: $padding);
|
169
171
|
|
170
172
|
&:before {
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
173
|
+
display: inline-flex;
|
174
|
+
flex-shrink: 0;
|
175
|
+
content: "";
|
176
|
+
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#{$icon-color}"><path d="M10.9042 2.10025L20.8037 3.51446L22.2179 13.414L13.0255 22.6063C12.635 22.9969 12.0019 22.9969 11.6113 22.6063L1.71184 12.7069C1.32131 12.3163 1.32131 11.6832 1.71184 11.2926L10.9042 2.10025ZM11.6113 4.22157L3.83316 11.9997L12.3184 20.485L20.0966 12.7069L19.036 5.28223L11.6113 4.22157ZM13.7327 10.5855C12.9516 9.80448 12.9516 8.53815 13.7327 7.7571C14.5137 6.97606 15.78 6.97606 16.5611 7.7571C17.3421 8.53815 17.3421 9.80448 16.5611 10.5855C15.78 11.3666 14.5137 11.3666 13.7327 10.5855Z"></path></svg>')
|
177
|
+
no-repeat center;
|
178
|
+
width: 1rem;
|
179
|
+
height: 1rem;
|
176
180
|
}
|
177
181
|
|
178
182
|
&:focus {
|
@@ -190,5 +190,8 @@ $thumbnail-background:
|
|
190
190
|
linear-gradient(-45deg, transparent 75%, $medium-gray 75%) 0 0.5em/1em 1em
|
191
191
|
$white !default;
|
192
192
|
|
193
|
+
$small-screen-break-point: 500px;
|
193
194
|
$medium-screen-break-point: 700px;
|
194
195
|
$large-screen-break-point: 1000px;
|
196
|
+
$xlarge-screen-break-point: 1440px;
|
197
|
+
$xxlarge-screen-break-point: 1680px;
|
@@ -3,7 +3,6 @@
|
|
3
3
|
*= require_self
|
4
4
|
*/
|
5
5
|
|
6
|
-
@import "remixicon";
|
7
6
|
@import "alchemy/custom-properties";
|
8
7
|
@import "alchemy/defaults";
|
9
8
|
@import "alchemy/archive";
|
@@ -17,7 +16,6 @@
|
|
17
16
|
@import "alchemy/dashboard";
|
18
17
|
@import "alchemy/elements";
|
19
18
|
@import "alchemy/errors";
|
20
|
-
@import "alchemy/filter_field";
|
21
19
|
@import "alchemy/flash";
|
22
20
|
@import "alchemy/flatpickr";
|
23
21
|
@import "alchemy/fonts";
|
@@ -29,7 +27,9 @@
|
|
29
27
|
@import "alchemy/images";
|
30
28
|
@import "alchemy/image_library";
|
31
29
|
@import "alchemy/labels";
|
30
|
+
@import "alchemy/list_filter";
|
32
31
|
@import "alchemy/nodes";
|
32
|
+
@import "alchemy/attachment-select";
|
33
33
|
@import "alchemy/node-select";
|
34
34
|
@import "alchemy/notices";
|
35
35
|
@import "alchemy/page-select";
|
@@ -322,14 +322,15 @@ div#filter_bar {
|
|
322
322
|
|
323
323
|
a {
|
324
324
|
@extend %text-overflow;
|
325
|
-
display:
|
325
|
+
display: flex;
|
326
|
+
justify-content: space-between;
|
326
327
|
line-height: 25px;
|
327
328
|
text-decoration: none;
|
328
329
|
padding: $default-padding 2 * $default-padding;
|
329
330
|
}
|
330
331
|
|
331
|
-
|
332
|
-
margin-right:
|
332
|
+
alchemy-icon {
|
333
|
+
margin-right: 2 * $default-margin;
|
333
334
|
vertical-align: bottom;
|
334
335
|
}
|
335
336
|
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
.attachment-select--attachment {
|
2
|
+
display: flex;
|
3
|
+
align-items: center;
|
4
|
+
height: 21px;
|
5
|
+
|
6
|
+
.icon {
|
7
|
+
margin: 0 $default-margin 0 0;
|
8
|
+
|
9
|
+
.select2-highlighted & {
|
10
|
+
fill: $white;
|
11
|
+
}
|
12
|
+
}
|
13
|
+
}
|
14
|
+
|
15
|
+
.attachment-select--attachment-name {
|
16
|
+
text-overflow: ellipsis;
|
17
|
+
overflow: hidden;
|
18
|
+
white-space: nowrap;
|
19
|
+
}
|