alchemy_cms 7.0.16 → 7.1.0.pre.b1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/backport.yml +36 -0
  3. data/.github/workflows/brakeman-analysis.yml +5 -13
  4. data/.github/workflows/lint.yml +2 -9
  5. data/.github/workflows/stale.yml +2 -5
  6. data/.github/workflows/test.yml +7 -15
  7. data/.gitignore +0 -1
  8. data/.standard.yml +1 -1
  9. data/CHANGELOG.md +144 -51
  10. data/Gemfile +7 -18
  11. data/README.md +10 -8
  12. data/alchemy_cms.gemspec +4 -3
  13. data/app/assets/config/alchemy_manifest.js +0 -1
  14. data/app/assets/javascripts/alchemy/admin.js +1 -19
  15. data/app/assets/javascripts/alchemy/alchemy.confirm_dialog.js.coffee +2 -3
  16. data/app/assets/javascripts/alchemy/alchemy.dialog.js.coffee +19 -34
  17. data/app/assets/javascripts/alchemy/alchemy.elements_window.js.coffee +38 -13
  18. data/app/assets/javascripts/alchemy/alchemy.file_progress.js.coffee +1 -1
  19. data/app/assets/javascripts/alchemy/alchemy.fixed_elements.js +32 -25
  20. data/app/assets/javascripts/alchemy/alchemy.growler.js.coffee +1 -1
  21. data/app/assets/javascripts/alchemy/alchemy.image_overlay.coffee +3 -5
  22. data/app/assets/javascripts/alchemy/alchemy.initializer.js.coffee +0 -57
  23. data/app/assets/javascripts/alchemy/alchemy.link_dialog.js.coffee +22 -63
  24. data/app/assets/javascripts/alchemy/alchemy.list_filter.js.coffee +2 -2
  25. data/app/assets/javascripts/alchemy/alchemy.preview.js.coffee +5 -4
  26. data/app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee +5 -5
  27. data/app/assets/javascripts/alchemy/templates/index.js +0 -2
  28. data/app/assets/javascripts/alchemy/templates/node_folder.hbs +1 -1
  29. data/app/assets/javascripts/alchemy/templates/page.hbs +1 -1
  30. data/app/assets/javascripts/alchemy/templates/page_folder.hbs +2 -2
  31. data/app/assets/stylesheets/alchemy/_custom-properties.scss +82 -0
  32. data/app/assets/stylesheets/alchemy/_mixins.scss +38 -30
  33. data/app/assets/stylesheets/alchemy/_variables.scss +12 -5
  34. data/app/assets/stylesheets/alchemy/admin.scss +3 -4
  35. data/app/assets/stylesheets/alchemy/archive.scss +107 -50
  36. data/app/assets/stylesheets/alchemy/attachments.scss +5 -4
  37. data/app/assets/stylesheets/alchemy/buttons.scss +38 -164
  38. data/app/assets/stylesheets/alchemy/dashboard.scss +31 -6
  39. data/app/assets/stylesheets/alchemy/dialogs.scss +12 -28
  40. data/app/assets/stylesheets/alchemy/elements.scss +273 -282
  41. data/app/assets/stylesheets/alchemy/flash.scss +20 -12
  42. data/app/assets/stylesheets/alchemy/forms.scss +21 -34
  43. data/app/assets/stylesheets/alchemy/frame.scss +11 -32
  44. data/app/assets/stylesheets/alchemy/hints.scss +4 -62
  45. data/app/assets/stylesheets/alchemy/image_library.scss +36 -33
  46. data/app/assets/stylesheets/alchemy/labels.scss +4 -1
  47. data/app/assets/stylesheets/alchemy/menubar.scss +7 -6
  48. data/app/assets/stylesheets/alchemy/navigation.scss +27 -15
  49. data/app/assets/stylesheets/alchemy/nodes.scss +11 -7
  50. data/app/assets/stylesheets/alchemy/notices.scss +16 -4
  51. data/app/assets/stylesheets/alchemy/page-select.scss +10 -2
  52. data/app/assets/stylesheets/alchemy/pagination.scss +22 -13
  53. data/app/assets/stylesheets/alchemy/preview_window.scss +4 -8
  54. data/app/assets/stylesheets/alchemy/resource_info.scss +7 -5
  55. data/app/assets/stylesheets/alchemy/selects.scss +49 -42
  56. data/app/assets/stylesheets/alchemy/shoelace.scss +345 -0
  57. data/app/assets/stylesheets/alchemy/sitemap.scss +24 -14
  58. data/app/assets/stylesheets/alchemy/spinner.scss +9 -19
  59. data/app/assets/stylesheets/alchemy/tables.scss +16 -24
  60. data/app/assets/stylesheets/alchemy/tags.scss +4 -0
  61. data/app/assets/stylesheets/alchemy/toolbar.scss +29 -25
  62. data/app/assets/stylesheets/alchemy/upload.scss +140 -89
  63. data/app/assets/stylesheets/tinymce/skins/alchemy/skin.min.css.scss +80 -108
  64. data/app/components/alchemy/admin/node_select.rb +39 -0
  65. data/app/components/alchemy/admin/page_select.rb +42 -0
  66. data/app/components/alchemy/ingredients/audio_view.rb +1 -1
  67. data/app/components/alchemy/ingredients/base_view.rb +1 -1
  68. data/app/components/alchemy/ingredients/boolean_view.rb +1 -1
  69. data/app/components/alchemy/ingredients/datetime_view.rb +3 -4
  70. data/app/components/alchemy/ingredients/file_view.rb +1 -1
  71. data/app/components/alchemy/ingredients/headline_view.rb +7 -16
  72. data/app/components/alchemy/ingredients/link_view.rb +1 -1
  73. data/app/components/alchemy/ingredients/page_view.rb +1 -1
  74. data/app/components/alchemy/ingredients/picture_view.rb +1 -1
  75. data/app/components/alchemy/ingredients/richtext_view.rb +1 -1
  76. data/app/components/alchemy/ingredients/text_view.rb +1 -1
  77. data/app/components/alchemy/ingredients/video_view.rb +1 -1
  78. data/app/controllers/alchemy/admin/base_controller.rb +7 -32
  79. data/app/controllers/alchemy/admin/elements_controller.rb +63 -35
  80. data/app/controllers/alchemy/admin/languages_controller.rb +2 -3
  81. data/app/controllers/alchemy/admin/layoutpages_controller.rb +0 -19
  82. data/app/controllers/alchemy/admin/pages_controller.rb +4 -5
  83. data/app/controllers/alchemy/admin/resources_controller.rb +1 -1
  84. data/app/controllers/alchemy/base_controller.rb +4 -2
  85. data/app/controllers/alchemy/messages_controller.rb +1 -1
  86. data/app/controllers/concerns/alchemy/admin/current_language.rb +1 -5
  87. data/app/controllers/concerns/alchemy/admin/uploader_responses.rb +1 -1
  88. data/app/decorators/alchemy/element_editor.rb +0 -2
  89. data/app/helpers/alchemy/admin/attachments_helper.rb +6 -5
  90. data/app/helpers/alchemy/admin/base_helper.rb +17 -12
  91. data/app/helpers/alchemy/admin/ingredients_helper.rb +4 -1
  92. data/app/helpers/alchemy/admin/pages_helper.rb +5 -11
  93. data/app/helpers/alchemy/base_helper.rb +47 -13
  94. data/app/javascript/alchemy_admin/components/alchemy_html_element.js +129 -0
  95. data/app/javascript/alchemy_admin/components/button.js +59 -0
  96. data/app/javascript/alchemy_admin/components/char_counter.js +40 -0
  97. data/app/javascript/alchemy_admin/components/datepicker.js +39 -0
  98. data/app/javascript/alchemy_admin/components/dialog_link.js +45 -0
  99. data/app/javascript/alchemy_admin/components/element_editor/publish_element_button.js +36 -0
  100. data/app/javascript/alchemy_admin/components/element_editor.js +553 -0
  101. data/app/javascript/alchemy_admin/components/ingredient_group.js +54 -0
  102. data/app/javascript/alchemy_admin/components/link_buttons/link_button.js +48 -0
  103. data/app/javascript/alchemy_admin/components/link_buttons/unlink_button.js +38 -0
  104. data/app/javascript/alchemy_admin/components/link_buttons.js +79 -0
  105. data/app/javascript/alchemy_admin/components/node_select.js +45 -0
  106. data/app/javascript/alchemy_admin/components/overlay.js +18 -0
  107. data/app/javascript/alchemy_admin/components/page_select.js +63 -0
  108. data/app/javascript/alchemy_admin/components/remote_select.js +134 -0
  109. data/app/javascript/alchemy_admin/components/select.js +12 -0
  110. data/app/javascript/alchemy_admin/components/spinner.js +31 -0
  111. data/app/javascript/alchemy_admin/components/tinymce.js +146 -0
  112. data/app/javascript/alchemy_admin/components/uploader/file_upload.js +266 -0
  113. data/app/javascript/alchemy_admin/components/uploader/progress.js +258 -0
  114. data/app/javascript/alchemy_admin/components/uploader.js +132 -0
  115. data/app/javascript/alchemy_admin/dirty.js +49 -0
  116. data/app/javascript/alchemy_admin/file_editors.js +1 -1
  117. data/app/javascript/alchemy_admin/gui.js +14 -0
  118. data/app/javascript/alchemy_admin/i18n.js +12 -8
  119. data/app/javascript/alchemy_admin/image_cropper.js +6 -3
  120. data/app/javascript/alchemy_admin/image_loader.js +7 -15
  121. data/app/javascript/alchemy_admin/ingredient_anchor_link.js +2 -5
  122. data/app/javascript/alchemy_admin/initializer.js +65 -0
  123. data/app/javascript/alchemy_admin/locales/en.js +31 -0
  124. data/app/javascript/alchemy_admin/picture_editors.js +2 -2
  125. data/app/javascript/alchemy_admin/picture_selector.js +38 -0
  126. data/app/javascript/alchemy_admin/please_wait_overlay.js +8 -0
  127. data/app/javascript/alchemy_admin/sortable_elements.js +78 -0
  128. data/app/javascript/alchemy_admin/spinner.js +36 -0
  129. data/app/javascript/alchemy_admin/tags_autocomplete.js +46 -0
  130. data/app/javascript/alchemy_admin/utils/ajax.js +6 -5
  131. data/app/javascript/alchemy_admin/utils/dom_helpers.js +20 -0
  132. data/app/javascript/alchemy_admin/utils/format.js +11 -0
  133. data/app/javascript/alchemy_admin/utils/string_conversions.js +10 -0
  134. data/app/javascript/alchemy_admin.js +70 -13
  135. data/app/javascript/menubar.js +10 -0
  136. data/app/models/alchemy/attachment.rb +9 -11
  137. data/app/models/alchemy/element.rb +11 -0
  138. data/app/models/alchemy/ingredients/audio.rb +0 -11
  139. data/app/models/alchemy/ingredients/datetime.rb +1 -1
  140. data/app/models/alchemy/ingredients/richtext.rb +1 -10
  141. data/app/models/alchemy/ingredients/video.rb +0 -12
  142. data/app/models/alchemy/node.rb +4 -0
  143. data/app/models/alchemy/page/page_elements.rb +2 -11
  144. data/app/models/alchemy/page/page_natures.rb +10 -2
  145. data/app/models/alchemy/page.rb +12 -54
  146. data/app/models/alchemy/picture/url.rb +1 -9
  147. data/app/models/concerns/alchemy/picture_thumbnails.rb +5 -4
  148. data/app/serializers/alchemy/page_tree_serializer.rb +2 -1
  149. data/app/services/alchemy/copy_page.rb +98 -0
  150. data/app/views/alchemy/_menubar.html.erb +17 -13
  151. data/app/views/alchemy/admin/attachments/_archive_overlay.html.erb +14 -10
  152. data/app/views/alchemy/admin/attachments/_attachment.html.erb +44 -36
  153. data/app/views/alchemy/admin/attachments/_replace_button.html.erb +15 -21
  154. data/app/views/alchemy/admin/attachments/archive_overlay.js.erb +0 -1
  155. data/app/views/alchemy/admin/attachments/assign.js.erb +1 -1
  156. data/app/views/alchemy/admin/attachments/index.html.erb +6 -4
  157. data/app/views/alchemy/admin/attachments/show.html.erb +8 -8
  158. data/app/views/alchemy/admin/clipboard/clear.js.erb +1 -1
  159. data/app/views/alchemy/admin/clipboard/index.html.erb +3 -7
  160. data/app/views/alchemy/admin/clipboard/insert.js.erb +1 -1
  161. data/app/views/alchemy/admin/crop.html.erb +1 -1
  162. data/app/views/alchemy/admin/dashboard/_locked_pages.html.erb +1 -1
  163. data/app/views/alchemy/admin/dashboard/index.html.erb +13 -11
  164. data/app/views/alchemy/admin/dashboard/info.html.erb +7 -7
  165. data/app/views/alchemy/admin/elements/_add_nested_element_form.html.erb +21 -23
  166. data/app/views/alchemy/admin/elements/_element.html.erb +52 -44
  167. data/app/views/alchemy/admin/elements/_footer.html.erb +1 -1
  168. data/app/views/alchemy/admin/elements/_form.html.erb +1 -1
  169. data/app/views/alchemy/admin/elements/_header.html.erb +11 -12
  170. data/app/views/alchemy/admin/elements/_toolbar.html.erb +33 -45
  171. data/app/views/alchemy/admin/elements/create.js.erb +7 -15
  172. data/app/views/alchemy/admin/elements/destroy.js.erb +0 -2
  173. data/app/views/alchemy/admin/elements/index.html.erb +27 -24
  174. data/app/views/alchemy/admin/elements/new.html.erb +9 -11
  175. data/app/views/alchemy/admin/ingredients/_file_fields.html.erb +2 -2
  176. data/app/views/alchemy/admin/ingredients/_picture_fields.html.erb +3 -3
  177. data/app/views/alchemy/admin/ingredients/_video_fields.html.erb +1 -2
  178. data/app/views/alchemy/admin/languages/_form.html.erb +2 -3
  179. data/app/views/alchemy/admin/languages/_language.html.erb +15 -8
  180. data/app/views/alchemy/admin/languages/_table.html.erb +1 -0
  181. data/app/views/alchemy/admin/layoutpages/_layoutpage.html.erb +28 -16
  182. data/app/views/alchemy/admin/layoutpages/edit.html.erb +1 -1
  183. data/app/views/alchemy/admin/layoutpages/index.html.erb +2 -2
  184. data/app/views/alchemy/admin/legacy_page_urls/_legacy_page_url.html.erb +12 -8
  185. data/app/views/alchemy/admin/legacy_page_urls/_new.html.erb +1 -1
  186. data/app/views/alchemy/admin/nodes/_form.html.erb +20 -21
  187. data/app/views/alchemy/admin/nodes/_node.html.erb +39 -34
  188. data/app/views/alchemy/admin/nodes/index.html.erb +1 -1
  189. data/app/views/alchemy/admin/pages/_anchor_link.html.erb +4 -4
  190. data/app/views/alchemy/admin/pages/_create_language_form.html.erb +2 -2
  191. data/app/views/alchemy/admin/pages/_current_page.html.erb +1 -1
  192. data/app/views/alchemy/admin/pages/_external_link.html.erb +4 -4
  193. data/app/views/alchemy/admin/pages/_file_link.html.erb +5 -5
  194. data/app/views/alchemy/admin/pages/_form.html.erb +10 -21
  195. data/app/views/alchemy/admin/pages/_internal_link.html.erb +4 -4
  196. data/app/views/alchemy/admin/pages/_locked_page.html.erb +2 -2
  197. data/app/views/alchemy/admin/pages/_new_page_form.html.erb +4 -17
  198. data/app/views/alchemy/admin/pages/_page.html.erb +76 -72
  199. data/app/views/alchemy/admin/pages/_page_infos.html.erb +23 -7
  200. data/app/views/alchemy/admin/pages/_page_layout_filter.html.erb +2 -1
  201. data/app/views/alchemy/admin/pages/_page_status.html.erb +11 -21
  202. data/app/views/alchemy/admin/pages/_publication_fields.html.erb +2 -5
  203. data/app/views/alchemy/admin/pages/_table.html.erb +1 -1
  204. data/app/views/alchemy/admin/pages/_table_row.html.erb +43 -39
  205. data/app/views/alchemy/admin/pages/_toolbar.html.erb +43 -38
  206. data/app/views/alchemy/admin/pages/configure.html.erb +12 -14
  207. data/app/views/alchemy/admin/pages/edit.html.erb +80 -103
  208. data/app/views/alchemy/admin/pages/info.html.erb +20 -11
  209. data/app/views/alchemy/admin/pages/link.html.erb +22 -16
  210. data/app/views/alchemy/admin/pages/new.html.erb +9 -11
  211. data/app/views/alchemy/admin/pages/unlock.js.erb +10 -3
  212. data/app/views/alchemy/admin/partials/_language_tree_select.html.erb +15 -13
  213. data/app/views/alchemy/admin/partials/_main_navigation_entry.html.erb +3 -5
  214. data/app/views/alchemy/admin/partials/_routes.html.erb +10 -2
  215. data/app/views/alchemy/admin/partials/_site_select.html.erb +6 -5
  216. data/app/views/alchemy/admin/partials/_toolbar_button.html.erb +28 -23
  217. data/app/views/alchemy/admin/pictures/_archive.html.erb +5 -5
  218. data/app/views/alchemy/admin/pictures/_archive_overlay.html.erb +1 -1
  219. data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +21 -23
  220. data/app/views/alchemy/admin/pictures/_infos.html.erb +2 -6
  221. data/app/views/alchemy/admin/pictures/_picture.html.erb +15 -17
  222. data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +17 -16
  223. data/app/views/alchemy/admin/pictures/_tag_list.html.erb +1 -1
  224. data/app/views/alchemy/admin/pictures/archive_overlay.js.erb +1 -1
  225. data/app/views/alchemy/admin/pictures/assign.js.erb +1 -1
  226. data/app/views/alchemy/admin/pictures/index.html.erb +34 -30
  227. data/app/views/alchemy/admin/pictures/show.html.erb +3 -3
  228. data/app/views/alchemy/admin/resources/_filter.html.erb +2 -2
  229. data/app/views/alchemy/admin/resources/_form.html.erb +2 -2
  230. data/app/views/alchemy/admin/resources/_per_page_select.html.erb +1 -1
  231. data/app/views/alchemy/admin/resources/_resource.html.erb +16 -9
  232. data/app/views/alchemy/admin/resources/_table.html.erb +4 -1
  233. data/app/views/alchemy/admin/resources/index.html.erb +22 -19
  234. data/app/views/alchemy/admin/sites/index.html.erb +2 -1
  235. data/app/views/alchemy/admin/styleguide/index.html.erb +54 -28
  236. data/app/views/alchemy/admin/tags/_tag.html.erb +16 -18
  237. data/app/views/alchemy/admin/tags/index.html.erb +15 -12
  238. data/app/views/alchemy/admin/tinymce/_setup.html.erb +29 -0
  239. data/app/views/alchemy/admin/uploader/_button.html.erb +23 -29
  240. data/app/views/alchemy/admin/uploader/_setup.html.erb +3 -8
  241. data/app/views/alchemy/base/500.html.erb +1 -1
  242. data/app/views/alchemy/base/error_notice.js.erb +0 -1
  243. data/app/views/alchemy/ingredients/_boolean_editor.html.erb +1 -1
  244. data/app/views/alchemy/ingredients/_datetime_editor.html.erb +2 -3
  245. data/app/views/alchemy/ingredients/_file_editor.html.erb +5 -5
  246. data/app/views/alchemy/ingredients/_link_editor.html.erb +1 -1
  247. data/app/views/alchemy/ingredients/_node_editor.html.erb +6 -19
  248. data/app/views/alchemy/ingredients/_page_editor.html.erb +7 -19
  249. data/app/views/alchemy/ingredients/_picture_editor.html.erb +2 -2
  250. data/app/views/alchemy/ingredients/_richtext_editor.html.erb +6 -15
  251. data/app/views/alchemy/ingredients/_select_editor.html.erb +2 -1
  252. data/app/views/alchemy/ingredients/_text_editor.html.erb +1 -1
  253. data/app/views/alchemy/ingredients/shared/_anchor.html.erb +1 -1
  254. data/app/views/alchemy/ingredients/shared/_link_tools.html.erb +10 -20
  255. data/app/views/alchemy/ingredients/shared/_picture_tools.html.erb +42 -49
  256. data/app/views/kaminari/alchemy/_first_page.html.erb +4 -2
  257. data/app/views/kaminari/alchemy/_gap.html.erb +1 -1
  258. data/app/views/kaminari/alchemy/_last_page.html.erb +4 -2
  259. data/app/views/kaminari/alchemy/_next_page.html.erb +4 -2
  260. data/app/views/kaminari/alchemy/_prev_page.html.erb +4 -2
  261. data/app/views/layouts/alchemy/admin.html.erb +10 -29
  262. data/config/alchemy/modules.yml +30 -30
  263. data/config/importmap.rb +10 -1
  264. data/config/initializers/rails_live_reload.rb +13 -0
  265. data/config/locales/alchemy.en.yml +23 -9
  266. data/config/routes.rb +3 -2
  267. data/lib/alchemy/auth_accessors.rb +6 -1
  268. data/lib/alchemy/controller_actions.rb +17 -4
  269. data/lib/alchemy/dev_support/live_reload_watcher.rb +5 -0
  270. data/lib/alchemy/engine.rb +8 -2
  271. data/lib/alchemy/forms/builder.rb +18 -12
  272. data/lib/alchemy/modules.rb +2 -2
  273. data/lib/alchemy/permissions.rb +1 -1
  274. data/lib/alchemy/resources_helper.rb +3 -3
  275. data/lib/alchemy/routing_constraints.rb +1 -1
  276. data/lib/alchemy/test_support/capybara_helpers.rb +8 -5
  277. data/lib/alchemy/test_support/rspec_matchers.rb +14 -0
  278. data/lib/alchemy/test_support/shared_uploader_examples.rb +1 -1
  279. data/lib/alchemy/tinymce.rb +8 -3
  280. data/lib/alchemy/version.rb +1 -1
  281. data/lib/tasks/alchemy/tidy.rake +1 -0
  282. data/package.json +14 -5
  283. data/vendor/assets/fonts/remixicon.eot +0 -0
  284. data/vendor/assets/fonts/remixicon.svg +7816 -0
  285. data/vendor/assets/fonts/remixicon.ttf +0 -0
  286. data/vendor/assets/fonts/remixicon.woff +0 -0
  287. data/vendor/assets/fonts/remixicon.woff2 +0 -0
  288. data/vendor/assets/stylesheets/remixicon.scss +10480 -0
  289. metadata +87 -97
  290. data/.gem_release.yml +0 -8
  291. data/app/assets/javascripts/alchemy/alchemy.autocomplete.js.coffee +0 -30
  292. data/app/assets/javascripts/alchemy/alchemy.base.js.coffee +0 -53
  293. data/app/assets/javascripts/alchemy/alchemy.buttons.js.coffee +0 -45
  294. data/app/assets/javascripts/alchemy/alchemy.char_counter.js.coffee +0 -19
  295. data/app/assets/javascripts/alchemy/alchemy.dirty.js.coffee +0 -59
  296. data/app/assets/javascripts/alchemy/alchemy.dragndrop.js.coffee +0 -79
  297. data/app/assets/javascripts/alchemy/alchemy.element_editors.js.coffee +0 -267
  298. data/app/assets/javascripts/alchemy/alchemy.gui.js.coffee +0 -27
  299. data/app/assets/javascripts/alchemy/alchemy.spinner.js +0 -32
  300. data/app/assets/javascripts/alchemy/alchemy.tooltips.coffee +0 -10
  301. data/app/assets/javascripts/alchemy/alchemy.uploader.js.coffee +0 -131
  302. data/app/assets/javascripts/alchemy/menubar.js.coffee +0 -8
  303. data/app/assets/javascripts/alchemy/node_select.js +0 -39
  304. data/app/assets/javascripts/alchemy/page_select.js +0 -46
  305. data/app/assets/javascripts/alchemy/templates/node.hbs +0 -16
  306. data/app/assets/javascripts/alchemy/templates/spinner.hbs +0 -7
  307. data/app/assets/stylesheets/alchemy/jquery-ui.scss +0 -435
  308. data/app/javascript/alchemy_admin/datepicker.js +0 -40
  309. data/app/javascript/alchemy_admin/tinymce.js +0 -146
  310. data/app/javascript/alchemy_admin/translations.js +0 -32
  311. data/app/views/alchemy/admin/elements/fold.js.erb +0 -33
  312. data/app/views/alchemy/admin/elements/order.js.erb +0 -11
  313. data/app/views/alchemy/admin/elements/publish.js.erb +0 -21
  314. data/app/views/alchemy/admin/elements/update.js.erb +0 -27
  315. data/vendor/assets/fonts/fa-regular-400.eot +0 -0
  316. data/vendor/assets/fonts/fa-regular-400.svg +0 -803
  317. data/vendor/assets/fonts/fa-regular-400.ttf +0 -0
  318. data/vendor/assets/fonts/fa-regular-400.woff +0 -0
  319. data/vendor/assets/fonts/fa-regular-400.woff2 +0 -0
  320. data/vendor/assets/fonts/fa-solid-900.eot +0 -0
  321. data/vendor/assets/fonts/fa-solid-900.svg +0 -4938
  322. data/vendor/assets/fonts/fa-solid-900.ttf +0 -0
  323. data/vendor/assets/fonts/fa-solid-900.woff +0 -0
  324. data/vendor/assets/fonts/fa-solid-900.woff2 +0 -0
  325. data/vendor/assets/javascripts/fileupload/jquery.fileupload-process.js +0 -178
  326. data/vendor/assets/javascripts/fileupload/jquery.fileupload-validate.js +0 -125
  327. data/vendor/assets/javascripts/fileupload/jquery.fileupload.js +0 -1502
  328. data/vendor/assets/javascripts/fileupload/jquery.iframe-transport.js +0 -224
  329. data/vendor/assets/javascripts/jquery-ui/data.js +0 -45
  330. data/vendor/assets/javascripts/jquery-ui/ie.js +0 -20
  331. data/vendor/assets/javascripts/jquery-ui/keycode.js +0 -51
  332. data/vendor/assets/javascripts/jquery-ui/plugin.js +0 -49
  333. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +0 -46
  334. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +0 -27
  335. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +0 -50
  336. data/vendor/assets/javascripts/jquery-ui/unique-id.js +0 -54
  337. data/vendor/assets/javascripts/jquery-ui/version.js +0 -20
  338. data/vendor/assets/javascripts/jquery-ui/widget.js +0 -754
  339. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +0 -1268
  340. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +0 -241
  341. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +0 -1623
  342. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +0 -931
  343. data/vendor/assets/javascripts/jquery_plugins/jquery.scrollTo.min.js +0 -7
  344. data/vendor/assets/javascripts/jquery_plugins/jquery.ui.tabspaging.js +0 -296
  345. data/vendor/assets/stylesheets/fontawesome/_animated.scss +0 -20
  346. data/vendor/assets/stylesheets/fontawesome/_bordered-pulled.scss +0 -20
  347. data/vendor/assets/stylesheets/fontawesome/_core.scss +0 -21
  348. data/vendor/assets/stylesheets/fontawesome/_fixed-width.scss +0 -6
  349. data/vendor/assets/stylesheets/fontawesome/_icons.scss +0 -1441
  350. data/vendor/assets/stylesheets/fontawesome/_larger.scss +0 -23
  351. data/vendor/assets/stylesheets/fontawesome/_list.scss +0 -18
  352. data/vendor/assets/stylesheets/fontawesome/_mixins.scss +0 -56
  353. data/vendor/assets/stylesheets/fontawesome/_rotated-flipped.scss +0 -24
  354. data/vendor/assets/stylesheets/fontawesome/_screen-reader.scss +0 -5
  355. data/vendor/assets/stylesheets/fontawesome/_stacked.scss +0 -31
  356. data/vendor/assets/stylesheets/fontawesome/_variables.scss +0 -1458
  357. data/vendor/assets/stylesheets/fontawesome/fontawesome.scss +0 -16
  358. data/vendor/assets/stylesheets/fontawesome/regular.scss +0 -23
  359. data/vendor/assets/stylesheets/fontawesome/solid.scss +0 -24
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d20bda02db92caa55198f4cc360bafb972b868e742215f1b19ab83976215b230
4
- data.tar.gz: ab901f120f7a3c2f0878fb03a25e2d2de8e68aff1cd9240c58994b903e9781b8
3
+ metadata.gz: a5fb9cc889441542df81f914d50c91feabb03990e67f92ce0092546736f1bb1d
4
+ data.tar.gz: ce0865e967f9f99d5008d43230f8e89c45287890185c502303ba8986df54e454
5
5
  SHA512:
6
- metadata.gz: adb1fd6328915e0648e8b94b45f91e2fb1051fbcf6b33ebf26d75a9de52fd2479991c0cb40dc8cc6d7972214291d195765d9ddda0ddc13bb69a0794941d45fcb
7
- data.tar.gz: 2c9c34c568de4ed7492aaaa5f05959023493eba2951776fd1bedbf22a8e4bed65ce9e7480c42a2767334edba0d469d0277d8ea6ad616493c18a55f51e4135d31
6
+ metadata.gz: 9dafbbae6fa3b062d79ac7121781a864deb5d0da1bc2ba663753799b8a5a28eaf413d9a7ff9f12e3f35590d62bb08b7f7ea154f5e92a729877a1ae6c0c5428e9
7
+ data.tar.gz: 83805ccd75226f2c596f0d24594857beedfc5e6391b305e88d0e9d5727b0e70d1b7d1bb4969e2649635baa9c29dfb65e104424ff4f327ae8a4b5d9ed60a3605b
@@ -0,0 +1,36 @@
1
+ name: Backport
2
+
3
+ on:
4
+ pull_request_target:
5
+ types:
6
+ - closed
7
+ - labeled
8
+
9
+ jobs:
10
+ backport:
11
+ name: Backport
12
+ runs-on: ubuntu-latest
13
+ # Only react to merged PRs for security reasons.
14
+ # See https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target.
15
+ if: >
16
+ github.event.pull_request.merged
17
+ && (
18
+ github.event.action == 'closed'
19
+ || (
20
+ github.event.action == 'labeled'
21
+ && contains(github.event.label.name, 'backport')
22
+ )
23
+ )
24
+ steps:
25
+ - name: Backport pull request
26
+ uses: sqren/backport-github-action@v8.9.7
27
+ with:
28
+ github_token: ${{ secrets.ALCHEMY_CI_BOT_ACCESS_TOKEN }}
29
+ auto_backport_label_prefix: backport-to-
30
+ add_original_reviewers: true
31
+ - name: Info log
32
+ if: ${{ success() }}
33
+ run: cat ~/.backport/backport.info.log
34
+ - name: Debug log
35
+ if: ${{ failure() }}
36
+ run: cat ~/.backport/backport.debug.log
@@ -3,27 +3,19 @@
3
3
 
4
4
  name: Brakeman Scan
5
5
 
6
- concurrency:
7
- group: brakeman-${{ github.ref_name }}
8
- cancel-in-progress: ${{ github.ref_name != 'main' }}
9
-
10
- permissions:
11
- contents: read
12
- security-events: write
13
-
14
6
  on:
15
7
  push:
16
- branches:
17
- - 7.0-stable
8
+ branches: [main]
18
9
  pull_request:
19
10
  # The branches below must be a subset of the branches above
20
- branches:
21
- - 7.0-stable
11
+ branches: [main]
12
+ schedule:
13
+ - cron: "40 4 * * 2"
22
14
 
23
15
  jobs:
24
16
  brakeman-scan:
25
17
  name: Brakeman Scan
26
- runs-on: ubuntu-22.04
18
+ runs-on: ubuntu-latest
27
19
  steps:
28
20
  # Checkout the repository to the GitHub Actions runner
29
21
  - name: Checkout
@@ -2,16 +2,9 @@ name: Lint
2
2
 
3
3
  on: [pull_request]
4
4
 
5
- concurrency:
6
- group: lint-${{ github.ref_name }}
7
- cancel-in-progress: ${{ github.ref_name != 'main' }}
8
-
9
- permissions:
10
- contents: read
11
-
12
5
  jobs:
13
6
  Standard:
14
- runs-on: ubuntu-22.04
7
+ runs-on: ubuntu-latest
15
8
  steps:
16
9
  - name: Checkout code
17
10
  uses: actions/checkout@v3
@@ -23,7 +16,7 @@ jobs:
23
16
  - name: Lint Ruby files
24
17
  run: bundle exec standardrb
25
18
  Prettier:
26
- runs-on: ubuntu-22.04
19
+ runs-on: ubuntu-latest
27
20
  steps:
28
21
  - name: Checkout
29
22
  uses: actions/checkout@v3
@@ -4,13 +4,10 @@ on:
4
4
  schedule:
5
5
  - cron: "0 0 * * *"
6
6
 
7
- permissions:
8
- pull-requests: write
9
- issues: write
10
-
11
7
  jobs:
12
8
  stale:
13
- runs-on: ubuntu-22.04
9
+ runs-on: ubuntu-latest
10
+
14
11
  steps:
15
12
  - uses: actions/stale@v5
16
13
  with:
@@ -1,28 +1,21 @@
1
1
  name: Test
2
2
 
3
- on:
4
- push:
5
- branches:
6
- - 7.0-stable
7
- pull_request:
8
-
9
- permissions:
10
- contents: read
3
+ on: [push, pull_request]
11
4
 
12
5
  jobs:
13
6
  RSpec:
14
- runs-on: ubuntu-22.04
7
+ runs-on: ubuntu-latest
15
8
  strategy:
16
9
  fail-fast: false
17
10
  matrix:
18
11
  rails:
19
- - "6.1"
20
12
  - "7.0"
21
13
  - "7.1"
22
14
  ruby:
23
15
  - "3.0"
24
16
  - "3.1"
25
17
  - "3.2"
18
+ - "3.3"
26
19
  database:
27
20
  - mysql
28
21
  - postgresql
@@ -34,6 +27,7 @@ jobs:
34
27
  DB_HOST: "127.0.0.1"
35
28
  RAILS_ENV: test
36
29
  RAILS_VERSION: ${{ matrix.rails }}
30
+ RUBY_YJIT_ENABLE: "1"
37
31
  services:
38
32
  postgres:
39
33
  image: postgres:11
@@ -111,11 +105,9 @@ jobs:
111
105
  if: failure()
112
106
  with:
113
107
  name: Screenshots
114
- path: |
115
- spec/dummy/tmp/capybara
116
- spec/dummy/tmp/screenshots
108
+ path: spec/dummy/tmp/screenshots
117
109
  Jest:
118
- runs-on: ubuntu-22.04
110
+ runs-on: ubuntu-latest
119
111
  env:
120
112
  NODE_ENV: test
121
113
  steps:
@@ -130,4 +122,4 @@ jobs:
130
122
  - name: Install yarn
131
123
  run: yarn install
132
124
  - name: Run jest
133
- run: yarn jest
125
+ run: yarn jest --verbose
data/.gitignore CHANGED
@@ -30,4 +30,3 @@ yarn-debug.log*
30
30
  yarn.lock
31
31
  /spec/dummy/public/pictures
32
32
  .byebug_history
33
- .vscode/
data/.standard.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  parallel: true
2
+ ruby_version: 3.0
2
3
  ignore:
3
4
  - "spec/dummy/**/*"
4
- ruby_version: 3.0
data/CHANGELOG.md CHANGED
@@ -1,56 +1,106 @@
1
1
  # Changelog
2
2
 
3
- ## 7.0.16 (2025-01-23)
4
-
5
- - [7.0-stable] Allow redirecting to other host in site redirect [#3160](https://github.com/AlchemyCMS/alchemy_cms/pull/3160) ([alchemycms-bot](https://github.com/alchemycms-bot))
6
- - [7.0-stable] fix missing logger issue in github actions [#3155](https://github.com/AlchemyCMS/alchemy_cms/pull/3155) ([alchemycms-bot](https://github.com/alchemycms-bot))
7
- - [7.0-stable] CI: Set workflow permissions [#3144](https://github.com/AlchemyCMS/alchemy_cms/pull/3144) ([tvdeyen](https://github.com/tvdeyen))
8
- - [7.0-stable] Use safe redirect paths in admin redirects [#3134](https://github.com/AlchemyCMS/alchemy_cms/pull/3134) ([tvdeyen](https://github.com/tvdeyen))
9
- - [7.0-stable] CI: Run actions on ubuntu-22.04 [#3127](https://github.com/AlchemyCMS/alchemy_cms/pull/3127) ([tvdeyen](https://github.com/tvdeyen))
10
- - [7.0-stable] Use alchemy_display_name for page actor names [#3028](https://github.com/AlchemyCMS/alchemy_cms/pull/3028) ([alchemycms-bot](https://github.com/alchemycms-bot))
11
-
12
- ## 7.0.15 (2024-09-04)
13
-
14
- - [7.0-stable] Render Datetime ingredient in local time zone [#3017](https://github.com/AlchemyCMS/alchemy_cms/pull/3017) ([tvdeyen](https://github.com/tvdeyen))
15
- - [7.0-stable] Allow to set input_type on Datetime ingredient editor [#3014](https://github.com/AlchemyCMS/alchemy_cms/pull/3014) ([tvdeyen](https://github.com/tvdeyen))
16
- - [7.0-stable] Fix combining search filters and pagination [#2980](https://github.com/AlchemyCMS/alchemy_cms/pull/2980) ([alchemycms-bot](https://github.com/alchemycms-bot))
17
- - [7.0-stable] Remove call to missing content_positions task [#2961](https://github.com/AlchemyCMS/alchemy_cms/pull/2961) ([alchemycms-bot](https://github.com/alchemycms-bot))
18
- - [7.0-stable] Fix re-render of layoutpages form if validation fails [#2952](https://github.com/AlchemyCMS/alchemy_cms/pull/2952) ([alchemycms-bot](https://github.com/alchemycms-bot))
19
- - [7.0-stable] fix(ContactMessages): Use alchemy route proxy [#2927](https://github.com/AlchemyCMS/alchemy_cms/pull/2927) ([alchemycms-bot](https://github.com/alchemycms-bot))
20
-
21
- ## 7.0.14 (2024-06-04)
22
-
23
- - [7.0-stable] fix(RoutingConstraints): Allow Turbo Stream requests [#2914](https://github.com/AlchemyCMS/alchemy_cms/pull/2914) ([alchemycms-bot](https://github.com/alchemycms-bot))
24
- - [7.0-stable] fix Ingredient Audio and Video boolean type casting [#2910](https://github.com/AlchemyCMS/alchemy_cms/pull/2910) ([alchemycms-bot](https://github.com/alchemycms-bot))
25
-
26
- ## 7.0.13 (2024-05-29)
27
-
28
- - [7.0-stable] Fix preview window width for smaller viewports [#2889](https://github.com/AlchemyCMS/alchemy_cms/pull/2889) ([alchemycms-bot](https://github.com/alchemycms-bot))
29
- - [7.0-stable] Fix Preview Window width [#2880](https://github.com/AlchemyCMS/alchemy_cms/pull/2880) ([alchemycms-bot](https://github.com/alchemycms-bot))
30
- - [7.0-stable] Fix preview window resize transition [#2871](https://github.com/AlchemyCMS/alchemy_cms/pull/2871) ([alchemycms-bot](https://github.com/alchemycms-bot))
31
-
32
- ## 7.0.12 (2024-04-12)
33
-
34
- - [7.0-stable] Fix Ingredient Boolean View [#2837](https://github.com/AlchemyCMS/alchemy_cms/pull/2837) ([alchemycms-bot](https://github.com/alchemycms-bot))
35
- - [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))
36
- - [7.0-stable] Fix module error [#2821](https://github.com/AlchemyCMS/alchemy_cms/pull/2821) ([alchemycms-bot](https://github.com/alchemycms-bot))
37
- - [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))
38
-
39
- ## 7.0.11 (2024-03-05)
40
-
41
- - [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))
42
-
43
- ## 7.0.10 (2024-02-29)
44
-
45
- - [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))
46
-
47
- ## 7.0.9 (2024-02-27)
48
-
49
- - [7.0] Fix tags view for missing taggables [#2757](https://github.com/AlchemyCMS/alchemy_cms/pull/2757) ([tvdeyen](https://github.com/tvdeyen))
50
- - [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))
51
- - [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))
52
- - [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))
53
- - [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))
3
+ ## 7.1.0-b1 (2023-12-28)
4
+
5
+ - Fix messages controller [#2658](https://github.com/AlchemyCMS/alchemy_cms/pull/2658) ([tvdeyen](https://github.com/tvdeyen))
6
+ - Test with Ruby 3.3 stable [#2657](https://github.com/AlchemyCMS/alchemy_cms/pull/2657) ([tvdeyen](https://github.com/tvdeyen))
7
+ - [ruby - main] Update shoulda-matchers 6.0.0 (unknown) [#2656](https://github.com/AlchemyCMS/alchemy_cms/pull/2656) ([depfu](https://github.com/apps/depfu))
8
+ - Add Link button components [#2655](https://github.com/AlchemyCMS/alchemy_cms/pull/2655) ([tvdeyen](https://github.com/tvdeyen))
9
+ - Fix humanization for add nested element button [#2654](https://github.com/AlchemyCMS/alchemy_cms/pull/2654) ([nsaloj](https://github.com/nsaloj))
10
+ - Fix many layouts glitches [#2652](https://github.com/AlchemyCMS/alchemy_cms/pull/2652) ([tvdeyen](https://github.com/tvdeyen))
11
+ - Visually highlight droppable areas [#2651](https://github.com/AlchemyCMS/alchemy_cms/pull/2651) ([tvdeyen](https://github.com/tvdeyen))
12
+ - Fix imports of uploader [#2650](https://github.com/AlchemyCMS/alchemy_cms/pull/2650) ([tvdeyen](https://github.com/tvdeyen))
13
+ - Use SortableJS for sortable elements [#2649](https://github.com/AlchemyCMS/alchemy_cms/pull/2649) ([tvdeyen](https://github.com/tvdeyen))
14
+ - Fix picture archive layout [#2648](https://github.com/AlchemyCMS/alchemy_cms/pull/2648) ([tvdeyen](https://github.com/tvdeyen))
15
+ - Test with Ruby 3.3.0-rc1 [#2647](https://github.com/AlchemyCMS/alchemy_cms/pull/2647) ([tvdeyen](https://github.com/tvdeyen))
16
+ - Fix Tinymce button styles [#2646](https://github.com/AlchemyCMS/alchemy_cms/pull/2646) ([tvdeyen](https://github.com/tvdeyen))
17
+ - Fix Overlay component [#2644](https://github.com/AlchemyCMS/alchemy_cms/pull/2644) ([sascha-karnatz](https://github.com/sascha-karnatz))
18
+ - Picture archive grid layout [#2642](https://github.com/AlchemyCMS/alchemy_cms/pull/2642) ([tvdeyen](https://github.com/tvdeyen))
19
+ - Show page locked status in page status [#2641](https://github.com/AlchemyCMS/alchemy_cms/pull/2641) ([tvdeyen](https://github.com/tvdeyen))
20
+ - Fix image usage info panel icons [#2640](https://github.com/AlchemyCMS/alchemy_cms/pull/2640) ([tvdeyen](https://github.com/tvdeyen))
21
+ - [js] Update @shoelace-style/shoelace 2.9.0 → 2.12.0 (minor) [#2639](https://github.com/AlchemyCMS/alchemy_cms/pull/2639) ([depfu](https://github.com/apps/depfu))
22
+ - [js] Update sortablejs 1.15.0 → 1.15.1 (patch) [#2638](https://github.com/AlchemyCMS/alchemy_cms/pull/2638) ([depfu](https://github.com/apps/depfu))
23
+ - Show page status inline [#2637](https://github.com/AlchemyCMS/alchemy_cms/pull/2637) ([tvdeyen](https://github.com/tvdeyen))
24
+ - Fix element states styling [#2636](https://github.com/AlchemyCMS/alchemy_cms/pull/2636) ([tvdeyen](https://github.com/tvdeyen))
25
+ - Fix menubar styling [#2634](https://github.com/AlchemyCMS/alchemy_cms/pull/2634) ([sascha-karnatz](https://github.com/sascha-karnatz))
26
+ - Use shoelace switch for Element publish toggle [#2633](https://github.com/AlchemyCMS/alchemy_cms/pull/2633) ([tvdeyen](https://github.com/tvdeyen))
27
+ - UI Refinements [#2630](https://github.com/AlchemyCMS/alchemy_cms/pull/2630) ([tvdeyen](https://github.com/tvdeyen))
28
+ - Use Shoelace tooltip for all tooltips and hint bubbles [#2629](https://github.com/AlchemyCMS/alchemy_cms/pull/2629) ([tvdeyen](https://github.com/tvdeyen))
29
+ - Add support for RailsLiveReload [#2628](https://github.com/AlchemyCMS/alchemy_cms/pull/2628) ([tvdeyen](https://github.com/tvdeyen))
30
+ - Revert "Optimize events on handler" [#2627](https://github.com/AlchemyCMS/alchemy_cms/pull/2627) ([tvdeyen](https://github.com/tvdeyen))
31
+ - Use Remix icons [#2626](https://github.com/AlchemyCMS/alchemy_cms/pull/2626) ([tvdeyen](https://github.com/tvdeyen))
32
+ - Add a new picture thumbnail style [#2625](https://github.com/AlchemyCMS/alchemy_cms/pull/2625) ([tvdeyen](https://github.com/tvdeyen))
33
+ - Add alchemy-dialog-link custom component [#2624](https://github.com/AlchemyCMS/alchemy_cms/pull/2624) ([tvdeyen](https://github.com/tvdeyen))
34
+ - Replace jquery.upload with web component [#2623](https://github.com/AlchemyCMS/alchemy_cms/pull/2623) ([sascha-karnatz](https://github.com/sascha-karnatz))
35
+ - Add alchemy-button web component [#2621](https://github.com/AlchemyCMS/alchemy_cms/pull/2621) ([tvdeyen](https://github.com/tvdeyen))
36
+ - Preload tinymce assets [#2620](https://github.com/AlchemyCMS/alchemy_cms/pull/2620) ([tvdeyen](https://github.com/tvdeyen))
37
+ - Use rails-ujs instead of jquery_ujs [#2619](https://github.com/AlchemyCMS/alchemy_cms/pull/2619) ([tvdeyen](https://github.com/tvdeyen))
38
+ - Do not seed during install [#2617](https://github.com/AlchemyCMS/alchemy_cms/pull/2617) ([kennyadsl](https://github.com/kennyadsl))
39
+ - Add a RemoteSelect base component [#2616](https://github.com/AlchemyCMS/alchemy_cms/pull/2616) ([tvdeyen](https://github.com/tvdeyen))
40
+ - Add a NodeSelect web component [#2615](https://github.com/AlchemyCMS/alchemy_cms/pull/2615) ([tvdeyen](https://github.com/tvdeyen))
41
+ - Add Element Editor Custom Element [#2614](https://github.com/AlchemyCMS/alchemy_cms/pull/2614) ([tvdeyen](https://github.com/tvdeyen))
42
+ - Prevent publishing of the same page at the same time [#2612](https://github.com/AlchemyCMS/alchemy_cms/pull/2612) ([sascha-karnatz](https://github.com/sascha-karnatz))
43
+ - Create menubar web component [#2611](https://github.com/AlchemyCMS/alchemy_cms/pull/2611) ([sascha-karnatz](https://github.com/sascha-karnatz))
44
+ - Update jQuery to v3.7 [#2610](https://github.com/AlchemyCMS/alchemy_cms/pull/2610) ([sascha-karnatz](https://github.com/sascha-karnatz))
45
+ - Add Select Web Component [#2606](https://github.com/AlchemyCMS/alchemy_cms/pull/2606) ([sascha-karnatz](https://github.com/sascha-karnatz))
46
+ - Include jquery-ui [#2601](https://github.com/AlchemyCMS/alchemy_cms/pull/2601) ([tvdeyen](https://github.com/tvdeyen))
47
+ - Fix duplicated flatpickr calendar - DOM elements [#2600](https://github.com/AlchemyCMS/alchemy_cms/pull/2600) ([sascha-karnatz](https://github.com/sascha-karnatz))
48
+ - Fix adding element into main content [#2599](https://github.com/AlchemyCMS/alchemy_cms/pull/2599) ([tvdeyen](https://github.com/tvdeyen))
49
+ - Add shoelace theme [#2597](https://github.com/AlchemyCMS/alchemy_cms/pull/2597) ([sascha-karnatz](https://github.com/sascha-karnatz))
50
+ - Use Shoelace Tab for tabs [#2595](https://github.com/AlchemyCMS/alchemy_cms/pull/2595) ([tvdeyen](https://github.com/tvdeyen))
51
+ - Fix language and site creation [#2593](https://github.com/AlchemyCMS/alchemy_cms/pull/2593) ([tvdeyen](https://github.com/tvdeyen))
52
+ - Allow Rails 7.1 [#2592](https://github.com/AlchemyCMS/alchemy_cms/pull/2592) ([tvdeyen](https://github.com/tvdeyen))
53
+ - [ruby - main] Update net-imap 0.4.0 (unknown) [#2591](https://github.com/AlchemyCMS/alchemy_cms/pull/2591) ([depfu](https://github.com/apps/depfu))
54
+ - Test Ruby 3.3-preview2 and YJIT [#2590](https://github.com/AlchemyCMS/alchemy_cms/pull/2590) ([tvdeyen](https://github.com/tvdeyen))
55
+ - Allow to import additional admin JS modules [#2588](https://github.com/AlchemyCMS/alchemy_cms/pull/2588) ([tvdeyen](https://github.com/tvdeyen))
56
+ - Disable Turbo on the leave overlay [#2586](https://github.com/AlchemyCMS/alchemy_cms/pull/2586) ([tvdeyen](https://github.com/tvdeyen))
57
+ - Fix web component i18n issues [#2585](https://github.com/AlchemyCMS/alchemy_cms/pull/2585) ([sascha-karnatz](https://github.com/sascha-karnatz))
58
+ - Use fewer select2 [#2584](https://github.com/AlchemyCMS/alchemy_cms/pull/2584) ([tvdeyen](https://github.com/tvdeyen))
59
+ - [ruby - main] Update net-smtp → 0.4.0 (unknown) [#2583](https://github.com/AlchemyCMS/alchemy_cms/pull/2583) ([depfu](https://github.com/apps/depfu))
60
+ - Page Select Component [#2582](https://github.com/AlchemyCMS/alchemy_cms/pull/2582) ([sascha-karnatz](https://github.com/sascha-karnatz))
61
+ - [ruby - main] Update execjs → 2.9.1 (unknown) [#2579](https://github.com/AlchemyCMS/alchemy_cms/pull/2579) ([depfu](https://github.com/apps/depfu))
62
+ - Web Component Safari fixes [#2578](https://github.com/AlchemyCMS/alchemy_cms/pull/2578) ([sascha-karnatz](https://github.com/sascha-karnatz))
63
+ - [ruby - main] Update execjs → 2.9.0 (unknown) [#2577](https://github.com/AlchemyCMS/alchemy_cms/pull/2577) ([depfu](https://github.com/apps/depfu))
64
+ - Replace Spinner with web component [#2574](https://github.com/AlchemyCMS/alchemy_cms/pull/2574) ([sascha-karnatz](https://github.com/sascha-karnatz))
65
+ - Fix NonStupidDigestAssets with String whitelist [#2571](https://github.com/AlchemyCMS/alchemy_cms/pull/2571) ([tvdeyen](https://github.com/tvdeyen))
66
+ - Standardrb rules update [#2570](https://github.com/AlchemyCMS/alchemy_cms/pull/2570) ([sascha-karnatz](https://github.com/sascha-karnatz))
67
+ - Use sqren/backport for automated back porting of PRs [#2567](https://github.com/AlchemyCMS/alchemy_cms/pull/2567) ([tvdeyen](https://github.com/tvdeyen))
68
+ - Revert "Change capitalization of Ruby On Rails in README" [#2566](https://github.com/AlchemyCMS/alchemy_cms/pull/2566) ([tvdeyen](https://github.com/tvdeyen))
69
+ - Use our backport fork [#2565](https://github.com/AlchemyCMS/alchemy_cms/pull/2565) ([tvdeyen](https://github.com/tvdeyen))
70
+ - Actions: Remove labels_template [#2564](https://github.com/AlchemyCMS/alchemy_cms/pull/2564) ([tvdeyen](https://github.com/tvdeyen))
71
+ - Change capitalization of Ruby On Rails in README [#2563](https://github.com/AlchemyCMS/alchemy_cms/pull/2563) ([tvdeyen](https://github.com/tvdeyen))
72
+ - Fix format of labels_template [#2562](https://github.com/AlchemyCMS/alchemy_cms/pull/2562) ([tvdeyen](https://github.com/tvdeyen))
73
+ - Change backport templates [#2561](https://github.com/AlchemyCMS/alchemy_cms/pull/2561) ([tvdeyen](https://github.com/tvdeyen))
74
+ - Add backport GH action [#2560](https://github.com/AlchemyCMS/alchemy_cms/pull/2560) ([tvdeyen](https://github.com/tvdeyen))
75
+ - Allow redirecting to other host in site redirect [#2559](https://github.com/AlchemyCMS/alchemy_cms/pull/2559) ([tvdeyen](https://github.com/tvdeyen))
76
+ - Picture Ingredient: Fix NaN error with free height [#2556](https://github.com/AlchemyCMS/alchemy_cms/pull/2556) ([mamhoff](https://github.com/mamhoff))
77
+ - Migrate Tinymce module into a web component [#2555](https://github.com/AlchemyCMS/alchemy_cms/pull/2555) ([sascha-karnatz](https://github.com/sascha-karnatz))
78
+ - Migrate datepicker into a web component [#2554](https://github.com/AlchemyCMS/alchemy_cms/pull/2554) ([sascha-karnatz](https://github.com/sascha-karnatz))
79
+ - Convert base from Coffeescript to Javascript [#2550](https://github.com/AlchemyCMS/alchemy_cms/pull/2550) ([sascha-karnatz](https://github.com/sascha-karnatz))
80
+ - Convert CharCounter from CoffeeScript to Javascript [#2549](https://github.com/AlchemyCMS/alchemy_cms/pull/2549) ([sascha-karnatz](https://github.com/sascha-karnatz))
81
+ - Convert Tooltip from Coffeescript to Javascript [#2548](https://github.com/AlchemyCMS/alchemy_cms/pull/2548) ([sascha-karnatz](https://github.com/sascha-karnatz))
82
+ - Convert autocomplete from CoffeeScript to Javascript [#2547](https://github.com/AlchemyCMS/alchemy_cms/pull/2547) ([sascha-karnatz](https://github.com/sascha-karnatz))
83
+ - Update README [#2546](https://github.com/AlchemyCMS/alchemy_cms/pull/2546) ([sascha-karnatz](https://github.com/sascha-karnatz))
84
+ - Add web-console to local gems [#2545](https://github.com/AlchemyCMS/alchemy_cms/pull/2545) ([tvdeyen](https://github.com/tvdeyen))
85
+ - Remove IE6 CSS hacks [#2543](https://github.com/AlchemyCMS/alchemy_cms/pull/2543) ([tvdeyen](https://github.com/tvdeyen))
86
+ - Increase minimum Rails version to v7.0 [#2542](https://github.com/AlchemyCMS/alchemy_cms/pull/2542) ([sascha-karnatz](https://github.com/sascha-karnatz))
87
+ - Remove return statement in datepicker [#2540](https://github.com/AlchemyCMS/alchemy_cms/pull/2540) ([sascha-karnatz](https://github.com/sascha-karnatz))
88
+ - Improve Richtext editor view [#2539](https://github.com/AlchemyCMS/alchemy_cms/pull/2539) ([sascha-karnatz](https://github.com/sascha-karnatz))
89
+ - Revert "[7.0] Fix DOM ids and labels of ingredient editors" [#2536](https://github.com/AlchemyCMS/alchemy_cms/pull/2536) ([tvdeyen](https://github.com/tvdeyen))
90
+ - Revert "[7.0] Bugfix: Init PagePublicationFields on Pages Table" [#2535](https://github.com/AlchemyCMS/alchemy_cms/pull/2535) ([tvdeyen](https://github.com/tvdeyen))
91
+ - [7.0] Fix DOM ids and labels of ingredient editors [#2534](https://github.com/AlchemyCMS/alchemy_cms/pull/2534) ([tvdeyen](https://github.com/tvdeyen))
92
+ - [7.0] Bugfix: Init PagePublicationFields on Pages Table [#2533](https://github.com/AlchemyCMS/alchemy_cms/pull/2533) ([tvdeyen](https://github.com/tvdeyen))
93
+ - Use selenium-webdriver instead of webdrivers gem [#2529](https://github.com/AlchemyCMS/alchemy_cms/pull/2529) ([mamhoff](https://github.com/mamhoff))
94
+ - Bugfix: Init PagePublicationFields on Pages Table [#2528](https://github.com/AlchemyCMS/alchemy_cms/pull/2528) ([mamhoff](https://github.com/mamhoff))
95
+ - Fix DOM ids and labels of ingredient editors [#2526](https://github.com/AlchemyCMS/alchemy_cms/pull/2526) ([tvdeyen](https://github.com/tvdeyen))
96
+ - Increase minimum Rails version to v6.1 [#2524](https://github.com/AlchemyCMS/alchemy_cms/pull/2524) ([sascha-karnatz](https://github.com/sascha-karnatz))
97
+ - Add configurable unauthorized path [#2522](https://github.com/AlchemyCMS/alchemy_cms/pull/2522) ([gr8bit](https://github.com/gr8bit))
98
+ - Copying pages: Only add "(Copy)" if necessary [#2521](https://github.com/AlchemyCMS/alchemy_cms/pull/2521) ([mamhoff](https://github.com/mamhoff))
99
+ - [js] Update prettier → 3.0.0 (unknown) [#2520](https://github.com/AlchemyCMS/alchemy_cms/pull/2520) ([depfu](https://github.com/apps/depfu))
100
+ - Convert GUI from Coffeescript to Javascript [#2516](https://github.com/AlchemyCMS/alchemy_cms/pull/2516) ([sascha-karnatz](https://github.com/sascha-karnatz))
101
+ - convert Initializer from Coffeescript to Javascript [#2513](https://github.com/AlchemyCMS/alchemy_cms/pull/2513) ([sascha-karnatz](https://github.com/sascha-karnatz))
102
+ - Convert Dirty from Coffeescript to Javascript [#2510](https://github.com/AlchemyCMS/alchemy_cms/pull/2510) ([sascha-karnatz](https://github.com/sascha-karnatz))
103
+ - Convert buttons.js.coffee to buttons.js [#2509](https://github.com/AlchemyCMS/alchemy_cms/pull/2509) ([sascha-karnatz](https://github.com/sascha-karnatz))
54
104
 
55
105
  ## 7.0.8 (2023-12-28)
56
106
 
@@ -157,6 +207,49 @@
157
207
  - Remove RSS Feed feature [#2415](https://github.com/AlchemyCMS/alchemy_cms/pull/2415) ([tvdeyen](https://github.com/tvdeyen))
158
208
  - Add searchable field to page [#2414](https://github.com/AlchemyCMS/alchemy_cms/pull/2414) ([kulturbande](https://github.com/kulturbande))
159
209
 
210
+ ## 6.1.9 (2023-08-29)
211
+
212
+ - [6.1-stable] Merge pull request #2571 from tvdeyen/fix-non-stupid-digest-assets [#2573](https://github.com/AlchemyCMS/alchemy_cms/pull/2573) ([github-actions](https://github.com/apps/github-actions))
213
+ - [6.1] Show if element is using contents or ingredients [#2568](https://github.com/AlchemyCMS/alchemy_cms/pull/2568) ([tvdeyen](https://github.com/tvdeyen))
214
+
215
+ ## 6.1.8 (2023-07-31)
216
+
217
+ - [v6.1] Use selenium-webdriver instead of webdrivers gem [#2531](https://github.com/AlchemyCMS/alchemy_cms/pull/2531) ([mamhoff](https://github.com/mamhoff))
218
+ - [v6.1] Bugfix: Init PagePublicationFields on Pages Table [#2530](https://github.com/AlchemyCMS/alchemy_cms/pull/2530) ([mamhoff](https://github.com/mamhoff))
219
+
220
+ ## 6.1.7 (2023-07-07)
221
+
222
+ - [6.1] Add task(s) to visualize element and page usage [#2514](https://github.com/AlchemyCMS/alchemy_cms/pull/2514) ([tvdeyen](https://github.com/tvdeyen))
223
+
224
+ ## 6.1.6 (2023-06-30)
225
+
226
+ - [6.1] Allow to create element with warning in definition [#2508](https://github.com/AlchemyCMS/alchemy_cms/pull/2508) ([tvdeyen](https://github.com/tvdeyen))
227
+ - [6.1] Allow authors to link to all pages again [#2505](https://github.com/AlchemyCMS/alchemy_cms/pull/2505) ([tvdeyen](https://github.com/tvdeyen))
228
+ - install generator: Add option to force patched babel config [#2495](https://github.com/AlchemyCMS/alchemy_cms/pull/2495) ([tvdeyen](https://github.com/tvdeyen))
229
+ - Remove memory leak in ingredients migrator [#2493](https://github.com/AlchemyCMS/alchemy_cms/pull/2493) ([tvdeyen](https://github.com/tvdeyen))
230
+
231
+ ## 6.1.5 (2023-05-26)
232
+
233
+ - [6.1] Fix page seeder [#2482](https://github.com/AlchemyCMS/alchemy_cms/pull/2482) ([tvdeyen](https://github.com/tvdeyen))
234
+
235
+ ## 6.1.4 (2023-05-18)
236
+
237
+ - [6.1] Revert "Preload related objects in Alchemy::PagesController" [#2473](https://github.com/AlchemyCMS/alchemy_cms/pull/2473) ([tvdeyen](https://github.com/tvdeyen))
238
+
239
+ ## 6.1.3 (2023-03-29)
240
+
241
+ - Fix installer: Add seeds file if not exists [#2446](https://github.com/AlchemyCMS/alchemy_cms/pull/2446) ([tvdeyen](https://github.com/tvdeyen))
242
+ - Integrate non_stupid_digest_assets gem [#2430](https://github.com/AlchemyCMS/alchemy_cms/pull/2430) ([afdev82](https://github.com/afdev82))
243
+
244
+ ## 6.1.2 (2023-02-27)
245
+
246
+ - [6.1] Fix thumbnail writing for multi-concurrent and multi-db setups [#2434](https://github.com/AlchemyCMS/alchemy_cms/pull/2434) ([tvdeyen](https://github.com/tvdeyen))
247
+
248
+ ## 6.1.1 (2023-01-23)
249
+
250
+ - Re-introduce deleted methods [#2422](https://github.com/AlchemyCMS/alchemy_cms/pull/2422) ([tvdeyen](https://github.com/tvdeyen))
251
+ - Add searchable field to page (Alchemy 6.1) [#2420](https://github.com/AlchemyCMS/alchemy_cms/pull/2420) ([kulturbande](https://github.com/kulturbande))
252
+
160
253
  ## 6.1.0 (2023-01-19)
161
254
 
162
255
  ### Features
data/Gemfile CHANGED
@@ -15,11 +15,10 @@ if ENV["DB"] == "mysql" || ENV["DB"] == "mariadb"
15
15
  end
16
16
  gem "pg", "~> 1.0" if ENV["DB"] == "postgresql"
17
17
 
18
+ gem "alchemy_i18n", git: "https://github.com/AlchemyCMS/alchemy_i18n.git", branch: "main"
19
+
18
20
  group :development, :test do
19
- # execjs 2.8 removes deprecation warnings but also breaks a number of dependent projects.
20
- # in our case the culprit is `handlebars-assets`. The changes between 2.7.0 and 2.8.0 are
21
- # minimal, but breaking.
22
- gem "execjs", "= 2.8.1"
21
+ gem "execjs", "~> 2.9.1"
23
22
  gem "rubocop", require: false
24
23
  gem "standard", "~> 1.25", require: false
25
24
 
@@ -32,13 +31,6 @@ group :development, :test do
32
31
  if rails_version == "7.1"
33
32
  gem "actioncable", "~> #{rails_version}.0"
34
33
  end
35
-
36
- # concurrent-ruby v1.3.5 has removed the dependency on logger,
37
- # effecting Rails 6.1 up to including 7.0.
38
- # https://github.com/rails/rails/pull/54264
39
- if ("6.1".to_f.."7.0".to_f).cover?(rails_version.to_f)
40
- gem "concurrent-ruby", "< 1.3.5"
41
- end
42
34
  else
43
35
  gem "launchy"
44
36
  gem "annotate"
@@ -61,12 +53,9 @@ end
61
53
  # Necessary until https://github.com/mikel/mail/pull/1439
62
54
  # got merged and released.
63
55
  if Gem.ruby_version >= Gem::Version.new("3.1.0")
64
- if rails_version.to_s.match?(/6.1/)
65
- # Rails 6.1 needs this as well
66
- gem "net-pop", "~> 0.1.0", require: false
67
- gem "net-imap", "~> 0.3.1", require: false
68
- end
69
- gem "net-smtp", "~> 0.3.0", require: false
56
+ gem "net-smtp", "~> 0.4.0", require: false
70
57
  end
71
58
 
72
- gem "gem-release", "~> 2.2"
59
+ gem "web-console", "~> 4.2", group: :development
60
+
61
+ gem "rails_live_reload", "~> 0.3.5"
data/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  [![Build Status](https://github.com/AlchemyCMS/alchemy_cms/workflows/CI/badge.svg?branch=main)](https://github.com/AlchemyCMS/alchemy_cms/actions)
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
- [![Gem Version](https://badge.fury.io/rb/alchemy_cms.svg)](http://badge.fury.io/rb/alchemy_cms)
6
+ [![Gem Version](https://badge.fury.io/rb/alchemy_cms.svg)](https://badge.fury.io/rb/alchemy_cms)
7
7
  [![Maintainability](https://api.codeclimate.com/v1/badges/196c56c56568ed24a697/maintainability)](https://codeclimate.com/github/AlchemyCMS/alchemy_cms/maintainability)
8
8
  [![Test Coverage](https://api.codeclimate.com/v1/badges/196c56c56568ed24a697/test_coverage)](https://codeclimate.com/github/AlchemyCMS/alchemy_cms/test_coverage)
9
9
  [![Reviewed by Hound](https://img.shields.io/badge/Reviewed_by-Hound-8E64B0.svg)](https://houndci.com)
@@ -18,8 +18,11 @@ Alchemy is an open source CMS engine written in Ruby on Rails.
18
18
 
19
19
  Read more about Alchemy on the [website](https://alchemy-cms.com) and in the [guidelines](https://guides.alchemy-cms.com).
20
20
 
21
- **CAUTION: This main branch is a development branch that *can* contain bugs. For productive environments you should use the [current Ruby gem version](https://rubygems.org/gems/alchemy_cms), or the [latest stable branch (6.0-stable)](https://github.com/AlchemyCMS/alchemy_cms/tree/6.0-stable).**
21
+ **CAUTION: This main branch is a development branch that *can* contain bugs. For productive environments you should use the [current Ruby gem version](https://rubygems.org/gems/alchemy_cms), or the [latest stable branch (7.0-stable)](https://github.com/AlchemyCMS/alchemy_cms/tree/7.0-stable).**
22
22
 
23
+ ## 🏆 Main sponsor
24
+
25
+ [![BLISH Logo](https://blish.cloud/BLISH_Logo.svg)](https://blish.cloud)
23
26
 
24
27
  ## ✅ Features
25
28
 
@@ -41,19 +44,17 @@ Read more about Alchemy on the [website](https://alchemy-cms.com) and in the [gu
41
44
 
42
45
  ## 🎮 Demo
43
46
 
44
- Deploy your own free demo on Heroku
45
-
46
- [![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/AlchemyCMS/alchemy-demo)
47
-
48
- or visit the existing demo at https://alchemy-demo.herokuapp.com
47
+ Visit the existing demo at https://alchemy-demo.fly.dev/
49
48
 
50
49
  - Login: `demo`
51
50
  - Password: `demo123`
52
51
 
53
52
  ## 🚂 Rails Version
54
53
 
55
- **This version of AlchemyCMS runs with Rails 7.0, 6.1 and 6.0**
54
+ **This version of AlchemyCMS runs with Rails 7.0**
56
55
 
56
+ * For a Rails 6.1 compatible version use the [`7.0-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/7.0-stable).
57
+ * For a Rails 6.0 compatible version use the [`6.1-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/6.1-stable).
57
58
  * For a Rails 5.2 compatible version use the [`5.3-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/5.3-stable).
58
59
  * 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).
59
60
  * For a Rails 4.2 compatible version use the [`3.6-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/3.6-stable).
@@ -146,6 +147,7 @@ Alchemy.signup_path = '/your/signup/path' # Defaults to '/signup'
146
147
  Alchemy.login_path = '/your/login/path' # Defaults to '/login'
147
148
  Alchemy.logout_path = '/your/logout/path' # Defaults to '/logout'
148
149
  Alchemy.logout_method = 'http_verb_for_logout' # Defaults to 'delete'
150
+ Alchemy.unauthorized_path = '/some/public/page' # Defaults to '/'
149
151
  ```
150
152
 
151
153
  The only thing Alchemy needs to know from your user class is the `alchemy_roles` method.
data/alchemy_cms.gemspec CHANGED
@@ -29,7 +29,7 @@ Gem::Specification.new do |gem|
29
29
  activesupport
30
30
  railties
31
31
  ].each do |rails_gem|
32
- gem.add_runtime_dependency rails_gem, [">= 6.1", "< 7.2"]
32
+ gem.add_runtime_dependency rails_gem, [">= 7.0", "< 7.2"]
33
33
  end
34
34
 
35
35
  gem.add_runtime_dependency "active_model_serializers", ["~> 0.10.14"]
@@ -51,11 +51,12 @@ Gem::Specification.new do |gem|
51
51
  gem.add_runtime_dependency "sassc-rails", ["~> 2.1"]
52
52
  gem.add_runtime_dependency "simple_form", [">= 4.0", "< 6"]
53
53
  gem.add_runtime_dependency "sprockets", [">= 3.0", "< 5"]
54
- gem.add_runtime_dependency "turbo-rails", [">= 1.4", "< 2"]
54
+ gem.add_runtime_dependency "turbo-rails", [">= 1.4"]
55
55
  gem.add_runtime_dependency "view_component", ["~> 3.0"]
56
56
 
57
57
  gem.add_development_dependency "capybara", ["~> 3.0"]
58
58
  gem.add_development_dependency "capybara-screenshot", ["~> 1.0"]
59
+ gem.add_development_dependency "capybara-shadowdom", ["~> 0.3"]
59
60
  gem.add_development_dependency "factory_bot_rails", ["~> 6.0"]
60
61
  gem.add_development_dependency "puma", ["~> 6.0"]
61
62
  gem.add_development_dependency "rails-controller-testing", ["~> 1.0"]
@@ -64,7 +65,7 @@ Gem::Specification.new do |gem|
64
65
  gem.add_development_dependency "simplecov", ["~> 0.20"]
65
66
  gem.add_development_dependency "selenium-webdriver", ["~> 4.10"]
66
67
  gem.add_development_dependency "webmock", ["~> 3.3"]
67
- gem.add_development_dependency "shoulda-matchers", ["~> 5.0"]
68
+ gem.add_development_dependency "shoulda-matchers", ["~> 6.0"]
68
69
  gem.add_development_dependency "timecop", ["~> 0.9"]
69
70
 
70
71
  gem.post_install_message = <<~MSG
@@ -2,7 +2,6 @@
2
2
  //= link alchemy/admin/all.js
3
3
  //= link alchemy/preview.js
4
4
  //= link alchemy/menubar.css
5
- //= link alchemy/menubar.js
6
5
  //= link alchemy/print.css
7
6
  //= link alchemy/welcome.css
8
7
  //= link tinymce/plugins/alchemy_link/plugin.min.js
@@ -1,10 +1,6 @@
1
1
  // Alchemy CMS Sprockets Manifest
2
2
  // ------------------------------
3
- //= require jquery2
4
- //= require jquery_ujs
5
- //= require jquery-ui/widgets/draggable
6
- //= require jquery-ui/widgets/sortable
7
- //= require jquery-ui/widgets/tabs
3
+ //= require jquery3
8
4
  //= require tinymce/tinymce.min
9
5
  //= require_tree ../../../../vendor/assets/javascripts/jquery_plugins/
10
6
  //= require clipboard.min
@@ -12,28 +8,14 @@
12
8
  //= require requestAnimationFrame
13
9
  //= require handlebars
14
10
  //= require alchemy/templates
15
- //= require alchemy/alchemy.base
16
- //= require alchemy/alchemy.autocomplete
17
- //= require alchemy/alchemy.buttons
18
11
  //= require alchemy/alchemy.dialog
19
- //= require alchemy/alchemy.char_counter
20
12
  //= require alchemy/alchemy.confirm_dialog
21
- //= require alchemy/alchemy.dirty
22
- //= require alchemy/alchemy.dragndrop
23
- //= require alchemy/alchemy.element_editors
24
13
  //= require alchemy/alchemy.elements_window
25
14
  //= require alchemy/alchemy.fixed_elements
26
15
  //= require alchemy/alchemy.growler
27
- //= require alchemy/alchemy.gui
28
16
  //= require alchemy/alchemy.hotkeys
29
17
  //= require alchemy/alchemy.image_overlay
30
18
  //= require alchemy/alchemy.string_extension
31
19
  //= require alchemy/alchemy.link_dialog
32
20
  //= require alchemy/alchemy.list_filter
33
- //= require alchemy/alchemy.initializer
34
- //= require alchemy/alchemy.uploader
35
21
  //= require alchemy/alchemy.preview_window
36
- //= require alchemy/alchemy.spinner
37
- //= require alchemy/alchemy.tooltips
38
- //= require alchemy/page_select
39
- //= require alchemy/node_select