alchemy_cms 7.4.5 → 8.0.0.a

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.

Potentially problematic release.


This version of alchemy_cms might be problematic. Click here for more details.

Files changed (358) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +92 -0
  3. data/Gemfile +13 -6
  4. data/README.md +13 -5
  5. data/alchemy_cms.gemspec +14 -5
  6. data/app/assets/builds/alchemy/admin/page-select.css +1 -1
  7. data/app/assets/builds/alchemy/admin/print.css +1 -1
  8. data/app/assets/builds/alchemy/admin.css +2 -2
  9. data/app/assets/builds/alchemy/custom-properties.css +1 -1
  10. data/app/assets/builds/alchemy/welcome.css +1 -1
  11. data/app/assets/builds/tinymce/skins/content/alchemy/content.min.css +1 -1
  12. data/app/assets/builds/tinymce/skins/ui/alchemy/content.min.css +1 -0
  13. data/app/assets/builds/tinymce/skins/ui/alchemy/skin.min.css +1 -1
  14. data/app/assets/config/alchemy_manifest.js +0 -2
  15. data/app/assets/images/alchemy/icons-sprite.svg +1 -0
  16. data/app/components/alchemy/admin/resource/applied_filter.rb +29 -0
  17. data/app/components/alchemy/admin/resource/checkbox_filter.rb +36 -0
  18. data/app/components/alchemy/admin/resource/datepicker_filter.rb +42 -0
  19. data/app/components/alchemy/admin/resource/select_filter.rb +43 -0
  20. data/app/components/alchemy/admin/toolbar_button.rb +5 -2
  21. data/app/components/alchemy/ingredients/number_view.rb +18 -0
  22. data/app/controllers/alchemy/admin/attachments_controller.rb +8 -15
  23. data/app/controllers/alchemy/admin/clipboard_controller.rb +2 -6
  24. data/app/controllers/alchemy/admin/elements_controller.rb +1 -1
  25. data/app/controllers/alchemy/admin/languages_controller.rb +1 -1
  26. data/app/controllers/alchemy/admin/pages_controller.rb +15 -15
  27. data/app/controllers/alchemy/admin/picture_descriptions_controller.rb +5 -1
  28. data/app/controllers/alchemy/admin/pictures_controller.rb +10 -5
  29. data/app/controllers/alchemy/admin/resources_controller.rb +16 -106
  30. data/app/controllers/alchemy/attachments_controller.rb +43 -14
  31. data/app/controllers/alchemy/messages_controller.rb +1 -1
  32. data/app/controllers/alchemy/pages_controller.rb +7 -2
  33. data/app/controllers/concerns/alchemy/admin/picture_descriptions_form_helper.rb +16 -0
  34. data/app/controllers/concerns/alchemy/admin/resource_filter.rb +92 -0
  35. data/app/decorators/alchemy/element_editor.rb +5 -48
  36. data/app/decorators/alchemy/ingredient_editor.rb +3 -53
  37. data/app/helpers/alchemy/admin/base_helper.rb +14 -84
  38. data/app/helpers/alchemy/admin/elements_helper.rb +4 -4
  39. data/app/helpers/alchemy/admin/pages_helper.rb +1 -1
  40. data/app/helpers/alchemy/base_helper.rb +0 -30
  41. data/app/helpers/alchemy/elements_block_helper.rb +0 -14
  42. data/app/helpers/alchemy/pages_helper.rb +1 -1
  43. data/{lib → app/helpers}/alchemy/resources_helper.rb +5 -45
  44. data/app/javascript/alchemy_admin/components/action.js +4 -0
  45. data/app/javascript/alchemy_admin/components/alchemy_html_element.js +3 -3
  46. data/app/javascript/alchemy_admin/components/datepicker.js +10 -2
  47. data/app/javascript/alchemy_admin/components/element_editor/delete_element_button.js +7 -7
  48. data/app/javascript/alchemy_admin/components/element_editor.js +1 -1
  49. data/app/javascript/alchemy_admin/components/growl.js +1 -0
  50. data/app/javascript/alchemy_admin/components/index.js +1 -0
  51. data/app/javascript/alchemy_admin/components/remote_select.js +4 -1
  52. data/app/javascript/alchemy_admin/components/tags_autocomplete.js +5 -1
  53. data/app/javascript/alchemy_admin/components/tinymce.js +4 -2
  54. data/app/javascript/alchemy_admin/components/update_check.js +42 -0
  55. data/app/javascript/alchemy_admin/components/uploader/file_upload.js +15 -8
  56. data/app/javascript/alchemy_admin/components/uploader/progress.js +12 -6
  57. data/app/javascript/alchemy_admin/components/uploader.js +4 -2
  58. data/app/javascript/alchemy_admin/confirm_dialog.js +27 -57
  59. data/app/javascript/alchemy_admin/dirty.js +3 -2
  60. data/app/javascript/alchemy_admin/i18n.js +15 -16
  61. data/app/javascript/alchemy_admin/initializer.js +1 -49
  62. data/app/javascript/alchemy_admin/utils/ajax.js +51 -44
  63. data/app/javascript/alchemy_admin.js +3 -8
  64. data/app/models/alchemy/admin/filters/base.rb +38 -0
  65. data/app/models/alchemy/admin/filters/checkbox.rb +24 -0
  66. data/app/models/alchemy/admin/filters/datepicker.rb +53 -0
  67. data/app/models/alchemy/admin/filters/select.rb +70 -0
  68. data/app/models/alchemy/admin/resource_name.rb +27 -0
  69. data/app/models/alchemy/attachment.rb +51 -34
  70. data/app/models/alchemy/base_record.rb +2 -0
  71. data/app/models/alchemy/element/definitions.rb +1 -1
  72. data/app/models/alchemy/element/element_ingredients.rb +6 -6
  73. data/app/models/alchemy/element/presenters.rb +3 -12
  74. data/app/models/alchemy/element.rb +9 -27
  75. data/app/models/alchemy/element_definition.rb +160 -0
  76. data/app/models/alchemy/ingredient.rb +10 -43
  77. data/app/models/alchemy/ingredient_definition.rb +134 -0
  78. data/app/models/alchemy/ingredient_validator.rb +7 -3
  79. data/app/models/alchemy/ingredients/number.rb +19 -0
  80. data/app/models/alchemy/language.rb +0 -14
  81. data/app/models/alchemy/message.rb +3 -7
  82. data/app/models/alchemy/node.rb +1 -1
  83. data/app/models/alchemy/page/{page_layouts.rb → definitions.rb} +12 -19
  84. data/app/models/alchemy/page/fixed_attributes.rb +1 -1
  85. data/app/models/alchemy/page/page_elements.rb +13 -14
  86. data/app/models/alchemy/page/page_natures.rb +7 -7
  87. data/app/models/alchemy/page/page_scopes.rb +1 -1
  88. data/app/models/alchemy/page.rb +11 -33
  89. data/app/models/alchemy/page_definition.rb +115 -0
  90. data/app/models/alchemy/picture.rb +69 -79
  91. data/app/models/alchemy/picture_variant.rb +115 -5
  92. data/{lib → app/models}/alchemy/resource.rb +4 -18
  93. data/{lib → app/models}/alchemy/searchable_resource.rb +15 -0
  94. data/app/models/alchemy/site/layout.rb +5 -5
  95. data/app/models/alchemy/site.rb +0 -15
  96. data/app/models/alchemy/storage_adapter/active_storage/attachment_url.rb +41 -0
  97. data/app/models/alchemy/storage_adapter/active_storage/picture_url.rb +55 -0
  98. data/app/models/alchemy/storage_adapter/active_storage/preprocessor.rb +40 -0
  99. data/app/models/alchemy/storage_adapter/active_storage.rb +173 -0
  100. data/app/models/alchemy/{attachment/url.rb → storage_adapter/dragonfly/attachment_url.rb} +12 -12
  101. data/app/models/alchemy/{picture/url.rb → storage_adapter/dragonfly/picture_url.rb} +28 -12
  102. data/app/models/alchemy/{picture → storage_adapter/dragonfly}/preprocessor.rb +4 -4
  103. data/app/models/alchemy/storage_adapter/dragonfly.rb +183 -0
  104. data/app/models/alchemy/storage_adapter.rb +74 -0
  105. data/app/models/concerns/alchemy/picture_thumbnails.rb +19 -6
  106. data/app/serializers/alchemy/element_serializer.rb +0 -1
  107. data/app/services/alchemy/dragonfly_to_image_processing.rb +100 -0
  108. data/app/stylesheets/alchemy/_defaults.scss +3 -0
  109. data/app/stylesheets/alchemy/_extends.scss +69 -0
  110. data/app/{assets/stylesheets → stylesheets}/alchemy/_mixins.scss +36 -49
  111. data/app/stylesheets/alchemy/_variables.scss +5 -0
  112. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/archive.scss +20 -37
  113. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/base.scss +16 -14
  114. data/app/stylesheets/alchemy/admin/buttons.scss +160 -0
  115. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/clipboard.scss +2 -2
  116. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/dashboard.scss +13 -16
  117. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/dialogs.scss +23 -16
  118. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/elements.scss +150 -105
  119. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/errors.scss +5 -5
  120. data/app/stylesheets/alchemy/admin/filters.scss +58 -0
  121. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/flatpickr.scss +53 -60
  122. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/form_fields.scss +21 -7
  123. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/forms.scss +31 -19
  124. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/frame.scss +20 -16
  125. data/app/stylesheets/alchemy/admin/hints.scss +5 -0
  126. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/icons.scss +10 -1
  127. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/image_library.scss +10 -8
  128. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/images.scss +1 -1
  129. data/app/stylesheets/alchemy/admin/labels.scss +5 -0
  130. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/lists.scss +3 -3
  131. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/navigation.scss +61 -55
  132. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/nodes.scss +21 -18
  133. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/notices.scss +18 -18
  134. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/page-select.scss +2 -2
  135. data/app/stylesheets/alchemy/admin/pagination.scss +144 -0
  136. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/preview_window.scss +8 -6
  137. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/print.scss +1 -1
  138. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/resource_info.scss +8 -5
  139. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/search.scss +9 -6
  140. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/selects.scss +49 -37
  141. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/shoelace.scss +5 -6
  142. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/sitemap.scss +38 -33
  143. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/tables.scss +6 -4
  144. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/tags.scss +6 -4
  145. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/toolbar.scss +12 -6
  146. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/typography.scss +2 -2
  147. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/upload.scss +7 -5
  148. data/app/stylesheets/alchemy/admin.scss +44 -0
  149. data/app/stylesheets/alchemy/custom-properties.css +244 -0
  150. data/app/stylesheets/alchemy/welcome.scss +75 -0
  151. data/app/{assets/stylesheets → stylesheets}/tinymce/skins/content/alchemy/content.scss +8 -9
  152. data/app/stylesheets/tinymce/skins/ui/alchemy/content.scss +1 -0
  153. data/app/{assets/stylesheets → stylesheets}/tinymce/skins/ui/alchemy/skin.scss +133 -136
  154. data/app/views/alchemy/admin/attachments/_files_list.html.erb +2 -2
  155. data/app/views/alchemy/admin/attachments/_overlay_file_list.html.erb +1 -1
  156. data/app/views/alchemy/admin/{elements/_clipboard_button.html.erb → clipboard/_button.html.erb} +3 -5
  157. data/app/views/alchemy/admin/clipboard/_update_nested_element_button.turbo_stream.erb +11 -0
  158. data/app/views/alchemy/admin/clipboard/clear.turbo_stream.erb +4 -0
  159. data/app/views/alchemy/admin/clipboard/index.html.erb +15 -13
  160. data/app/views/alchemy/admin/clipboard/insert.turbo_stream.erb +18 -0
  161. data/app/views/alchemy/admin/clipboard/remove.turbo_stream.erb +9 -0
  162. data/app/views/alchemy/admin/dashboard/info.html.erb +17 -31
  163. data/app/views/alchemy/admin/elements/_element.html.erb +4 -8
  164. data/app/views/alchemy/admin/elements/_form.html.erb +1 -1
  165. data/app/views/alchemy/admin/elements/_header.html.erb +1 -0
  166. data/app/views/alchemy/admin/elements/_toolbar.html.erb +4 -6
  167. data/app/views/alchemy/admin/elements/create.turbo_stream.erb +2 -1
  168. data/app/views/alchemy/admin/elements/index.html.erb +2 -2
  169. data/app/views/alchemy/admin/ingredients/_file_fields.html.erb +3 -16
  170. data/app/views/alchemy/admin/ingredients/_picture_fields.html.erb +0 -9
  171. data/app/views/alchemy/admin/languages/_form.html.erb +1 -1
  172. data/app/views/alchemy/admin/languages/_table.html.erb +1 -1
  173. data/app/views/alchemy/admin/languages/index.html.erb +5 -2
  174. data/app/views/alchemy/admin/layoutpages/index.html.erb +1 -12
  175. data/app/views/alchemy/admin/pages/_form.html.erb +2 -2
  176. data/app/views/alchemy/admin/pages/_page.html.erb +2 -3
  177. data/app/views/alchemy/admin/pages/_toolbar.html.erb +1 -15
  178. data/app/views/alchemy/admin/pages/index.html.erb +1 -1
  179. data/app/views/alchemy/admin/partials/_remote_search_form.html.erb +9 -12
  180. data/app/views/alchemy/admin/partials/_search_form.html.erb +4 -9
  181. data/app/views/alchemy/admin/picture_descriptions/_form.html.erb +5 -7
  182. data/app/views/alchemy/admin/picture_descriptions/edit.html.erb +2 -2
  183. data/app/views/alchemy/admin/pictures/_archive.html.erb +4 -7
  184. data/app/views/alchemy/admin/pictures/_archive_overlay.html.erb +2 -1
  185. data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +1 -1
  186. data/app/views/alchemy/admin/pictures/_form.html.erb +2 -2
  187. data/app/views/alchemy/admin/pictures/_picture_description_field.html.erb +21 -13
  188. data/app/views/alchemy/admin/pictures/index.html.erb +2 -7
  189. data/app/views/alchemy/admin/resources/_applied_filters.html.erb +8 -0
  190. data/app/views/alchemy/admin/resources/_filter_bar.html.erb +11 -21
  191. data/app/views/alchemy/admin/resources/_pagination.html.erb +6 -0
  192. data/app/views/alchemy/admin/resources/_per_page_select.html.erb +4 -2
  193. data/app/views/alchemy/admin/resources/_resource_table.html.erb +1 -1
  194. data/app/views/alchemy/admin/resources/_table_header.html.erb +1 -15
  195. data/app/views/alchemy/admin/sites/index.html.erb +5 -1
  196. data/app/views/alchemy/admin/styleguide/index.html.erb +8 -0
  197. data/app/views/alchemy/admin/tags/index.html.erb +1 -1
  198. data/app/views/alchemy/admin/tinymce/_setup.html.erb +7 -7
  199. data/app/{javascript/alchemy_admin/locales/en.js → views/alchemy/admin/translations/_en.js} +5 -2
  200. data/app/views/alchemy/admin/uploader/_button.html.erb +1 -1
  201. data/app/views/alchemy/admin/uploader/_setup.html.erb +4 -4
  202. data/app/views/alchemy/base/500.turbo_stream.erb +3 -0
  203. data/app/views/alchemy/base/redirect.js.erb +1 -1
  204. data/app/views/alchemy/ingredients/_number_editor.html.erb +24 -0
  205. data/app/views/alchemy/no_index.html.erb +31 -0
  206. data/app/views/alchemy/welcome.html.erb +12 -10
  207. data/app/views/kaminari/alchemy/_first_page.html.erb +5 -3
  208. data/app/views/kaminari/alchemy/_last_page.html.erb +5 -3
  209. data/app/views/kaminari/alchemy/_next_page.html.erb +5 -3
  210. data/app/views/kaminari/alchemy/_paginator.html.erb +18 -13
  211. data/app/views/kaminari/alchemy/_prev_page.html.erb +5 -3
  212. data/app/views/layouts/alchemy/admin.html.erb +5 -9
  213. data/bun.lockb +0 -0
  214. data/bundles/remixicon.mjs +153 -0
  215. data/config/alchemy/config.yml +3 -2
  216. data/config/initializers/dragonfly.rb +0 -1
  217. data/config/initializers/mime_types.rb +1 -0
  218. data/config/locales/alchemy.en.yml +32 -14
  219. data/config/routes.rb +0 -2
  220. data/db/migrate/20250626160259_add_unique_index_to_picture_descriptions.rb +7 -0
  221. data/eslint.config.js +2 -1
  222. data/lib/alchemy/admin/preview_url.rb +4 -5
  223. data/lib/alchemy/cache_digests/template_tracker.rb +6 -9
  224. data/lib/alchemy/config_missing.rb +14 -0
  225. data/lib/alchemy/configuration/base_option.rb +24 -0
  226. data/lib/alchemy/configuration/boolean_option.rb +16 -0
  227. data/lib/alchemy/configuration/class_option.rb +15 -0
  228. data/lib/alchemy/configuration/class_set_option.rb +46 -0
  229. data/lib/alchemy/configuration/integer_list_option.rb +13 -0
  230. data/lib/alchemy/configuration/integer_option.rb +12 -0
  231. data/lib/alchemy/configuration/list_option.rb +22 -0
  232. data/lib/alchemy/configuration/regexp_option.rb +11 -0
  233. data/lib/alchemy/configuration/string_list_option.rb +13 -0
  234. data/lib/alchemy/configuration/string_option.rb +11 -0
  235. data/lib/alchemy/configuration.rb +115 -0
  236. data/lib/alchemy/configuration_methods.rb +3 -1
  237. data/lib/alchemy/configurations/default_language.rb +12 -0
  238. data/lib/alchemy/configurations/default_site.rb +10 -0
  239. data/lib/alchemy/configurations/format_matchers.rb +11 -0
  240. data/lib/alchemy/configurations/mailer.rb +16 -0
  241. data/lib/alchemy/configurations/main.rb +216 -0
  242. data/lib/alchemy/configurations/preview.rb +32 -0
  243. data/lib/alchemy/configurations/sitemap.rb +10 -0
  244. data/lib/alchemy/configurations/uploader.rb +34 -0
  245. data/lib/alchemy/engine.rb +65 -17
  246. data/lib/alchemy/hints.rb +3 -7
  247. data/lib/alchemy/on_page_layout.rb +2 -2
  248. data/lib/alchemy/propshaft/tinymce_asset.rb +15 -0
  249. data/lib/alchemy/seeder.rb +2 -2
  250. data/lib/alchemy/tasks/usage.rb +4 -4
  251. data/lib/alchemy/test_support/config_stubbing.rb +1 -7
  252. data/lib/alchemy/test_support/factories/attachment_factory.rb +13 -2
  253. data/lib/alchemy/test_support/factories/language_factory.rb +1 -1
  254. data/lib/alchemy/test_support/factories/page_factory.rb +2 -3
  255. data/lib/alchemy/test_support/factories/picture_factory.rb +30 -2
  256. data/lib/alchemy/test_support/factories/site_factory.rb +2 -2
  257. data/lib/alchemy/test_support/having_crop_action_examples.rb +2 -2
  258. data/lib/alchemy/test_support/having_picture_thumbnails_examples.rb +80 -26
  259. data/lib/alchemy/test_support/shared_ingredient_examples.rb +5 -5
  260. data/lib/alchemy/upgrader/.keep +0 -0
  261. data/lib/alchemy/upgrader/eight_zero.rb +14 -0
  262. data/lib/alchemy/upgrader.rb +33 -20
  263. data/lib/alchemy/version.rb +1 -1
  264. data/lib/alchemy.rb +192 -170
  265. data/lib/alchemy_cms.rb +1 -7
  266. data/lib/generators/alchemy/ingredient/ingredient_generator.rb +0 -3
  267. data/lib/generators/alchemy/install/files/_article.html.erb +6 -4
  268. data/lib/generators/alchemy/install/files/alchemy.en.yml +22 -3
  269. data/lib/generators/alchemy/install/files/application.html.erb +5 -0
  270. data/lib/generators/alchemy/install/install_generator.rb +5 -14
  271. data/lib/generators/alchemy/install/templates/alchemy.rb.tt +196 -0
  272. data/lib/generators/alchemy/install/templates/dragonfly.rb.tt +0 -1
  273. data/lib/generators/alchemy/install/templates/elements.yml.tt +3 -1
  274. data/lib/generators/alchemy/install/templates/menus.yml.tt +1 -1
  275. data/lib/generators/alchemy/install/templates/page_layouts.yml.tt +2 -2
  276. data/lib/generators/alchemy/page_layouts/page_layouts_generator.rb +2 -2
  277. data/lib/tasks/alchemy/assets.rake +14 -0
  278. data/lib/tasks/alchemy/upgrade.rake +12 -47
  279. data/vendor/javascript/tinymce.min.js +1 -1
  280. data/vitest.config.js +21 -0
  281. metadata +184 -180
  282. data/app/assets/builds/alchemy/admin/page-select.css.map +0 -1
  283. data/app/assets/builds/alchemy/admin/print.css.map +0 -1
  284. data/app/assets/builds/alchemy/admin.css.map +0 -1
  285. data/app/assets/builds/alchemy/custom-properties.css.map +0 -1
  286. data/app/assets/builds/alchemy/welcome.css.map +0 -1
  287. data/app/assets/builds/tinymce/skins/content/alchemy/content.min.css.map +0 -1
  288. data/app/assets/builds/tinymce/skins/ui/alchemy/skin.min.css.map +0 -1
  289. data/app/assets/javascripts/alchemy/admin.js +0 -10
  290. data/app/assets/stylesheets/alchemy/_defaults.scss +0 -3
  291. data/app/assets/stylesheets/alchemy/_deprecated_variables.scss +0 -45
  292. data/app/assets/stylesheets/alchemy/_deprecation.scss +0 -17
  293. data/app/assets/stylesheets/alchemy/_extends.scss +0 -62
  294. data/app/assets/stylesheets/alchemy/_variables.scss +0 -201
  295. data/app/assets/stylesheets/alchemy/admin/buttons.scss +0 -124
  296. data/app/assets/stylesheets/alchemy/admin/hints.scss +0 -5
  297. data/app/assets/stylesheets/alchemy/admin/labels.scss +0 -3
  298. data/app/assets/stylesheets/alchemy/admin/pagination.scss +0 -92
  299. data/app/assets/stylesheets/alchemy/admin.scss +0 -42
  300. data/app/assets/stylesheets/alchemy/custom-properties.css +0 -98
  301. data/app/assets/stylesheets/alchemy/welcome.scss +0 -57
  302. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.css +0 -711
  303. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.inline.css +0 -705
  304. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.inline.min.css +0 -7
  305. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.min.css +0 -7
  306. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.mobile.css +0 -29
  307. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.mobile.min.css +0 -7
  308. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/skin.mobile.css +0 -677
  309. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/skin.mobile.min.css +0 -7
  310. data/app/controllers/alchemy/elements_controller.rb +0 -32
  311. data/app/models/alchemy/element/dom_id.rb +0 -31
  312. data/app/models/alchemy/picture/calculations.rb +0 -49
  313. data/app/models/alchemy/picture/transformations.rb +0 -115
  314. data/app/views/alchemy/admin/attachments/destroy.js.erb +0 -1
  315. data/app/views/alchemy/admin/clipboard/clear.js.erb +0 -3
  316. data/app/views/alchemy/admin/clipboard/insert.js.erb +0 -29
  317. data/app/views/alchemy/admin/clipboard/remove.js.erb +0 -10
  318. data/app/views/alchemy/admin/resources/_filter.html.erb +0 -12
  319. data/app/views/alchemy/admin/resources/_resource.html.erb +0 -34
  320. data/app/views/alchemy/admin/resources/_table.html.erb +0 -29
  321. data/app/views/alchemy/elements/show.html.erb +0 -1
  322. data/app/views/alchemy/elements/show.js.erb +0 -1
  323. data/app/views/alchemy/ingredients/_audio_view.html.erb +0 -1
  324. data/app/views/alchemy/ingredients/_boolean_view.html.erb +0 -1
  325. data/app/views/alchemy/ingredients/_datetime_view.html.erb +0 -3
  326. data/app/views/alchemy/ingredients/_file_view.html.erb +0 -4
  327. data/app/views/alchemy/ingredients/_headline_view.html.erb +0 -4
  328. data/app/views/alchemy/ingredients/_html_view.html.erb +0 -1
  329. data/app/views/alchemy/ingredients/_link_view.html.erb +0 -4
  330. data/app/views/alchemy/ingredients/_node_view.html.erb +0 -1
  331. data/app/views/alchemy/ingredients/_page_view.html.erb +0 -1
  332. data/app/views/alchemy/ingredients/_picture_view.html.erb +0 -4
  333. data/app/views/alchemy/ingredients/_richtext_view.html.erb +0 -3
  334. data/app/views/alchemy/ingredients/_select_view.html.erb +0 -1
  335. data/app/views/alchemy/ingredients/_text_view.html.erb +0 -4
  336. data/app/views/alchemy/ingredients/_video_view.html.erb +0 -3
  337. data/babel.config.js +0 -12
  338. data/config/initializers/assets.rb +0 -4
  339. data/lib/alchemy/config.rb +0 -114
  340. data/lib/alchemy/element_definition.rb +0 -73
  341. data/lib/alchemy/page_layout.rb +0 -73
  342. data/lib/alchemy/resource_filter.rb +0 -40
  343. data/lib/alchemy/upgrader/seven_point_four.rb +0 -26
  344. data/lib/alchemy/upgrader/seven_point_three.rb +0 -52
  345. data/lib/generators/alchemy/ingredient/templates/view.html.erb +0 -1
  346. data/lib/generators/alchemy/install/files/alchemy_admin.js +0 -1
  347. data/lib/generators/alchemy/install/files/all.js +0 -11
  348. data/lib/generators/alchemy/install/files/article.css +0 -25
  349. data/vendor/assets/images/remixicon.symbol.svg +0 -11
  350. /data/app/{assets/stylesheets → stylesheets}/alchemy/_fonts.scss +0 -0
  351. /data/app/{assets/stylesheets → stylesheets}/alchemy/admin/attachment-select.scss +0 -0
  352. /data/app/{assets/stylesheets → stylesheets}/alchemy/admin/attachments.scss +0 -0
  353. /data/app/{assets/stylesheets → stylesheets}/alchemy/admin/flash.scss +0 -0
  354. /data/app/{assets/stylesheets → stylesheets}/alchemy/admin/list_filter.scss +0 -0
  355. /data/app/{assets/stylesheets → stylesheets}/alchemy/admin/node-select.scss +0 -0
  356. /data/app/{assets/stylesheets → stylesheets}/alchemy/admin/spinner.scss +0 -0
  357. /data/app/{assets/stylesheets → stylesheets}/tinymce/skins/skintool.json +0 -0
  358. /data/app/{assets/stylesheets → stylesheets}/tinymce/skins/ui/alchemy/fonts/tinymce-mobile.woff +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alchemy_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.4.5
4
+ version: 8.0.0.a
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas von Deyen
@@ -20,7 +20,7 @@ dependencies:
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: '7.0'
23
+ version: '7.1'
24
24
  - - "<"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '8.1'
@@ -30,7 +30,7 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '7.0'
33
+ version: '7.1'
34
34
  - - "<"
35
35
  - !ruby/object:Gem::Version
36
36
  version: '8.1'
@@ -40,7 +40,7 @@ dependencies:
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: '7.0'
43
+ version: '7.1'
44
44
  - - "<"
45
45
  - !ruby/object:Gem::Version
46
46
  version: '8.1'
@@ -50,7 +50,7 @@ dependencies:
50
50
  requirements:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: '7.0'
53
+ version: '7.1'
54
54
  - - "<"
55
55
  - !ruby/object:Gem::Version
56
56
  version: '8.1'
@@ -60,7 +60,7 @@ dependencies:
60
60
  requirements:
61
61
  - - ">="
62
62
  - !ruby/object:Gem::Version
63
- version: '7.0'
63
+ version: '7.1'
64
64
  - - "<"
65
65
  - !ruby/object:Gem::Version
66
66
  version: '8.1'
@@ -70,7 +70,7 @@ dependencies:
70
70
  requirements:
71
71
  - - ">="
72
72
  - !ruby/object:Gem::Version
73
- version: '7.0'
73
+ version: '7.1'
74
74
  - - "<"
75
75
  - !ruby/object:Gem::Version
76
76
  version: '8.1'
@@ -80,7 +80,7 @@ dependencies:
80
80
  requirements:
81
81
  - - ">="
82
82
  - !ruby/object:Gem::Version
83
- version: '7.0'
83
+ version: '7.1'
84
84
  - - "<"
85
85
  - !ruby/object:Gem::Version
86
86
  version: '8.1'
@@ -90,7 +90,7 @@ dependencies:
90
90
  requirements:
91
91
  - - ">="
92
92
  - !ruby/object:Gem::Version
93
- version: '7.0'
93
+ version: '7.1'
94
94
  - - "<"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '8.1'
@@ -100,7 +100,7 @@ dependencies:
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '7.0'
103
+ version: '7.1'
104
104
  - - "<"
105
105
  - !ruby/object:Gem::Version
106
106
  version: '8.1'
@@ -110,7 +110,7 @@ dependencies:
110
110
  requirements:
111
111
  - - ">="
112
112
  - !ruby/object:Gem::Version
113
- version: '7.0'
113
+ version: '7.1'
114
114
  - - "<"
115
115
  - !ruby/object:Gem::Version
116
116
  version: '8.1'
@@ -120,7 +120,7 @@ dependencies:
120
120
  requirements:
121
121
  - - ">="
122
122
  - !ruby/object:Gem::Version
123
- version: '7.0'
123
+ version: '7.1'
124
124
  - - "<"
125
125
  - !ruby/object:Gem::Version
126
126
  version: '8.1'
@@ -130,7 +130,27 @@ dependencies:
130
130
  requirements:
131
131
  - - ">="
132
132
  - !ruby/object:Gem::Version
133
- version: '7.0'
133
+ version: '7.1'
134
+ - - "<"
135
+ - !ruby/object:Gem::Version
136
+ version: '8.1'
137
+ - !ruby/object:Gem::Dependency
138
+ name: activestorage
139
+ requirement: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: '7.1'
144
+ - - "<"
145
+ - !ruby/object:Gem::Version
146
+ version: '8.1'
147
+ type: :runtime
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '7.1'
134
154
  - - "<"
135
155
  - !ruby/object:Gem::Version
136
156
  version: '8.1'
@@ -140,7 +160,7 @@ dependencies:
140
160
  requirements:
141
161
  - - ">="
142
162
  - !ruby/object:Gem::Version
143
- version: '7.0'
163
+ version: '7.1'
144
164
  - - "<"
145
165
  - !ruby/object:Gem::Version
146
166
  version: '8.1'
@@ -150,7 +170,7 @@ dependencies:
150
170
  requirements:
151
171
  - - ">="
152
172
  - !ruby/object:Gem::Version
153
- version: '7.0'
173
+ version: '7.1'
154
174
  - - "<"
155
175
  - !ruby/object:Gem::Version
156
176
  version: '8.1'
@@ -160,7 +180,7 @@ dependencies:
160
180
  requirements:
161
181
  - - ">="
162
182
  - !ruby/object:Gem::Version
163
- version: '7.0'
183
+ version: '7.1'
164
184
  - - "<"
165
185
  - !ruby/object:Gem::Version
166
186
  version: '8.1'
@@ -170,7 +190,7 @@ dependencies:
170
190
  requirements:
171
191
  - - ">="
172
192
  - !ruby/object:Gem::Version
173
- version: '7.0'
193
+ version: '7.1'
174
194
  - - "<"
175
195
  - !ruby/object:Gem::Version
176
196
  version: '8.1'
@@ -277,59 +297,53 @@ dependencies:
277
297
  - !ruby/object:Gem::Version
278
298
  version: '1.4'
279
299
  - !ruby/object:Gem::Dependency
280
- name: dragonfly_svg
300
+ name: gutentag
281
301
  requirement: !ruby/object:Gem::Requirement
282
302
  requirements:
283
303
  - - "~>"
284
304
  - !ruby/object:Gem::Version
285
- version: 0.0.4
305
+ version: '2.2'
306
+ - - ">="
307
+ - !ruby/object:Gem::Version
308
+ version: 2.2.1
286
309
  type: :runtime
287
310
  prerelease: false
288
311
  version_requirements: !ruby/object:Gem::Requirement
289
312
  requirements:
290
313
  - - "~>"
291
314
  - !ruby/object:Gem::Version
292
- version: 0.0.4
315
+ version: '2.2'
316
+ - - ">="
317
+ - !ruby/object:Gem::Version
318
+ version: 2.2.1
293
319
  - !ruby/object:Gem::Dependency
294
- name: gutentag
320
+ name: image_processing
295
321
  requirement: !ruby/object:Gem::Requirement
296
322
  requirements:
297
323
  - - "~>"
298
324
  - !ruby/object:Gem::Version
299
- version: '2.2'
300
- - - ">="
301
- - !ruby/object:Gem::Version
302
- version: 2.2.1
325
+ version: '1.14'
303
326
  type: :runtime
304
327
  prerelease: false
305
328
  version_requirements: !ruby/object:Gem::Requirement
306
329
  requirements:
307
330
  - - "~>"
308
331
  - !ruby/object:Gem::Version
309
- version: '2.2'
310
- - - ">="
311
- - !ruby/object:Gem::Version
312
- version: 2.2.1
332
+ version: '1.14'
313
333
  - !ruby/object:Gem::Dependency
314
334
  name: importmap-rails
315
335
  requirement: !ruby/object:Gem::Requirement
316
336
  requirements:
317
337
  - - "~>"
318
338
  - !ruby/object:Gem::Version
319
- version: '1.2'
320
- - - ">="
321
- - !ruby/object:Gem::Version
322
- version: 1.2.1
339
+ version: '2.0'
323
340
  type: :runtime
324
341
  prerelease: false
325
342
  version_requirements: !ruby/object:Gem::Requirement
326
343
  requirements:
327
344
  - - "~>"
328
345
  - !ruby/object:Gem::Version
329
- version: '1.2'
330
- - - ">="
331
- - !ruby/object:Gem::Version
332
- version: 1.2.1
346
+ version: '2.0'
333
347
  - !ruby/object:Gem::Dependency
334
348
  name: kaminari
335
349
  requirement: !ruby/object:Gem::Requirement
@@ -398,26 +412,6 @@ dependencies:
398
412
  - - "<"
399
413
  - !ruby/object:Gem::Version
400
414
  version: '6'
401
- - !ruby/object:Gem::Dependency
402
- name: sprockets-rails
403
- requirement: !ruby/object:Gem::Requirement
404
- requirements:
405
- - - ">="
406
- - !ruby/object:Gem::Version
407
- version: '3.5'
408
- - - "<"
409
- - !ruby/object:Gem::Version
410
- version: '4'
411
- type: :runtime
412
- prerelease: false
413
- version_requirements: !ruby/object:Gem::Requirement
414
- requirements:
415
- - - ">="
416
- - !ruby/object:Gem::Version
417
- version: '3.5'
418
- - - "<"
419
- - !ruby/object:Gem::Version
420
- version: '4'
421
415
  - !ruby/object:Gem::Dependency
422
416
  name: turbo-rails
423
417
  requirement: !ruby/object:Gem::Requirement
@@ -556,14 +550,14 @@ dependencies:
556
550
  requirements:
557
551
  - - "~>"
558
552
  - !ruby/object:Gem::Version
559
- version: '6.1'
553
+ version: '8.0'
560
554
  type: :development
561
555
  prerelease: false
562
556
  version_requirements: !ruby/object:Gem::Requirement
563
557
  requirements:
564
558
  - - "~>"
565
559
  - !ruby/object:Gem::Version
566
- version: '6.1'
560
+ version: '8.0'
567
561
  - !ruby/object:Gem::Dependency
568
562
  name: simplecov
569
563
  requirement: !ruby/object:Gem::Requirement
@@ -651,91 +645,22 @@ files:
651
645
  - SECURITY.md
652
646
  - alchemy_cms.gemspec
653
647
  - app/assets/builds/alchemy/admin.css
654
- - app/assets/builds/alchemy/admin.css.map
655
648
  - app/assets/builds/alchemy/admin/page-select.css
656
- - app/assets/builds/alchemy/admin/page-select.css.map
657
649
  - app/assets/builds/alchemy/admin/print.css
658
- - app/assets/builds/alchemy/admin/print.css.map
659
650
  - app/assets/builds/alchemy/custom-properties.css
660
- - app/assets/builds/alchemy/custom-properties.css.map
661
651
  - app/assets/builds/alchemy/preview.min.js
662
652
  - app/assets/builds/alchemy/welcome.css
663
- - app/assets/builds/alchemy/welcome.css.map
664
653
  - app/assets/builds/tinymce/skins/content/alchemy/content.min.css
665
- - app/assets/builds/tinymce/skins/content/alchemy/content.min.css.map
654
+ - app/assets/builds/tinymce/skins/ui/alchemy/content.min.css
666
655
  - app/assets/builds/tinymce/skins/ui/alchemy/skin.min.css
667
- - app/assets/builds/tinymce/skins/ui/alchemy/skin.min.css.map
668
656
  - app/assets/config/alchemy_manifest.js
669
657
  - app/assets/images/alchemy/alchemy-logo.png
670
658
  - app/assets/images/alchemy/alchemy-logo.svg
671
659
  - app/assets/images/alchemy/favicon.ico
672
660
  - app/assets/images/alchemy/icon-white.svg
673
661
  - app/assets/images/alchemy/icon.svg
662
+ - app/assets/images/alchemy/icons-sprite.svg
674
663
  - app/assets/images/alchemy/missing-image.svg
675
- - app/assets/javascripts/alchemy/admin.js
676
- - app/assets/stylesheets/alchemy/_defaults.scss
677
- - app/assets/stylesheets/alchemy/_deprecated_variables.scss
678
- - app/assets/stylesheets/alchemy/_deprecation.scss
679
- - app/assets/stylesheets/alchemy/_extends.scss
680
- - app/assets/stylesheets/alchemy/_fonts.scss
681
- - app/assets/stylesheets/alchemy/_mixins.scss
682
- - app/assets/stylesheets/alchemy/_variables.scss
683
- - app/assets/stylesheets/alchemy/admin.scss
684
- - app/assets/stylesheets/alchemy/admin/archive.scss
685
- - app/assets/stylesheets/alchemy/admin/attachment-select.scss
686
- - app/assets/stylesheets/alchemy/admin/attachments.scss
687
- - app/assets/stylesheets/alchemy/admin/base.scss
688
- - app/assets/stylesheets/alchemy/admin/buttons.scss
689
- - app/assets/stylesheets/alchemy/admin/clipboard.scss
690
- - app/assets/stylesheets/alchemy/admin/dashboard.scss
691
- - app/assets/stylesheets/alchemy/admin/dialogs.scss
692
- - app/assets/stylesheets/alchemy/admin/elements.scss
693
- - app/assets/stylesheets/alchemy/admin/errors.scss
694
- - app/assets/stylesheets/alchemy/admin/flash.scss
695
- - app/assets/stylesheets/alchemy/admin/flatpickr.scss
696
- - app/assets/stylesheets/alchemy/admin/form_fields.scss
697
- - app/assets/stylesheets/alchemy/admin/forms.scss
698
- - app/assets/stylesheets/alchemy/admin/frame.scss
699
- - app/assets/stylesheets/alchemy/admin/hints.scss
700
- - app/assets/stylesheets/alchemy/admin/icons.scss
701
- - app/assets/stylesheets/alchemy/admin/image_library.scss
702
- - app/assets/stylesheets/alchemy/admin/images.scss
703
- - app/assets/stylesheets/alchemy/admin/labels.scss
704
- - app/assets/stylesheets/alchemy/admin/list_filter.scss
705
- - app/assets/stylesheets/alchemy/admin/lists.scss
706
- - app/assets/stylesheets/alchemy/admin/navigation.scss
707
- - app/assets/stylesheets/alchemy/admin/node-select.scss
708
- - app/assets/stylesheets/alchemy/admin/nodes.scss
709
- - app/assets/stylesheets/alchemy/admin/notices.scss
710
- - app/assets/stylesheets/alchemy/admin/page-select.scss
711
- - app/assets/stylesheets/alchemy/admin/pagination.scss
712
- - app/assets/stylesheets/alchemy/admin/preview_window.scss
713
- - app/assets/stylesheets/alchemy/admin/print.scss
714
- - app/assets/stylesheets/alchemy/admin/resource_info.scss
715
- - app/assets/stylesheets/alchemy/admin/search.scss
716
- - app/assets/stylesheets/alchemy/admin/selects.scss
717
- - app/assets/stylesheets/alchemy/admin/shoelace.scss
718
- - app/assets/stylesheets/alchemy/admin/sitemap.scss
719
- - app/assets/stylesheets/alchemy/admin/spinner.scss
720
- - app/assets/stylesheets/alchemy/admin/tables.scss
721
- - app/assets/stylesheets/alchemy/admin/tags.scss
722
- - app/assets/stylesheets/alchemy/admin/toolbar.scss
723
- - app/assets/stylesheets/alchemy/admin/typography.scss
724
- - app/assets/stylesheets/alchemy/admin/upload.scss
725
- - app/assets/stylesheets/alchemy/custom-properties.css
726
- - app/assets/stylesheets/alchemy/welcome.scss
727
- - app/assets/stylesheets/tinymce/skins/content/alchemy/content.scss
728
- - app/assets/stylesheets/tinymce/skins/skintool.json
729
- - app/assets/stylesheets/tinymce/skins/ui/alchemy/content.css
730
- - app/assets/stylesheets/tinymce/skins/ui/alchemy/content.inline.css
731
- - app/assets/stylesheets/tinymce/skins/ui/alchemy/content.inline.min.css
732
- - app/assets/stylesheets/tinymce/skins/ui/alchemy/content.min.css
733
- - app/assets/stylesheets/tinymce/skins/ui/alchemy/content.mobile.css
734
- - app/assets/stylesheets/tinymce/skins/ui/alchemy/content.mobile.min.css
735
- - app/assets/stylesheets/tinymce/skins/ui/alchemy/fonts/tinymce-mobile.woff
736
- - app/assets/stylesheets/tinymce/skins/ui/alchemy/skin.mobile.css
737
- - app/assets/stylesheets/tinymce/skins/ui/alchemy/skin.mobile.min.css
738
- - app/assets/stylesheets/tinymce/skins/ui/alchemy/skin.scss
739
664
  - app/components/alchemy/admin/attachment_select.rb
740
665
  - app/components/alchemy/admin/icon.rb
741
666
  - app/components/alchemy/admin/link_dialog/anchor_tab.rb
@@ -749,8 +674,12 @@ files:
749
674
  - app/components/alchemy/admin/node_select.rb
750
675
  - app/components/alchemy/admin/page_select.rb
751
676
  - app/components/alchemy/admin/resource/action.rb
677
+ - app/components/alchemy/admin/resource/applied_filter.rb
752
678
  - app/components/alchemy/admin/resource/cell.rb
679
+ - app/components/alchemy/admin/resource/checkbox_filter.rb
680
+ - app/components/alchemy/admin/resource/datepicker_filter.rb
753
681
  - app/components/alchemy/admin/resource/header.rb
682
+ - app/components/alchemy/admin/resource/select_filter.rb
754
683
  - app/components/alchemy/admin/resource/table.rb
755
684
  - app/components/alchemy/admin/tags_autocomplete.rb
756
685
  - app/components/alchemy/admin/toolbar_button.rb
@@ -763,6 +692,7 @@ files:
763
692
  - app/components/alchemy/ingredients/html_view.rb
764
693
  - app/components/alchemy/ingredients/link_view.rb
765
694
  - app/components/alchemy/ingredients/node_view.rb
695
+ - app/components/alchemy/ingredients/number_view.rb
766
696
  - app/components/alchemy/ingredients/page_view.rb
767
697
  - app/components/alchemy/ingredients/picture_view.rb
768
698
  - app/components/alchemy/ingredients/richtext_view.rb
@@ -795,12 +725,13 @@ files:
795
725
  - app/controllers/alchemy/api/pages_controller.rb
796
726
  - app/controllers/alchemy/attachments_controller.rb
797
727
  - app/controllers/alchemy/base_controller.rb
798
- - app/controllers/alchemy/elements_controller.rb
799
728
  - app/controllers/alchemy/messages_controller.rb
800
729
  - app/controllers/alchemy/pages_controller.rb
801
730
  - app/controllers/concerns/alchemy/admin/archive_overlay.rb
802
731
  - app/controllers/concerns/alchemy/admin/crop_action.rb
803
732
  - app/controllers/concerns/alchemy/admin/current_language.rb
733
+ - app/controllers/concerns/alchemy/admin/picture_descriptions_form_helper.rb
734
+ - app/controllers/concerns/alchemy/admin/resource_filter.rb
804
735
  - app/controllers/concerns/alchemy/admin/uploader_responses.rb
805
736
  - app/controllers/concerns/alchemy/legacy_page_redirects.rb
806
737
  - app/controllers/concerns/alchemy/site_redirects.rb
@@ -819,6 +750,7 @@ files:
819
750
  - app/helpers/alchemy/elements_block_helper.rb
820
751
  - app/helpers/alchemy/elements_helper.rb
821
752
  - app/helpers/alchemy/pages_helper.rb
753
+ - app/helpers/alchemy/resources_helper.rb
822
754
  - app/helpers/alchemy/url_helper.rb
823
755
  - app/javascript/alchemy_admin.js
824
756
  - app/javascript/alchemy_admin/components/action.js
@@ -853,6 +785,7 @@ files:
853
785
  - app/javascript/alchemy_admin/components/spinner.js
854
786
  - app/javascript/alchemy_admin/components/tags_autocomplete.js
855
787
  - app/javascript/alchemy_admin/components/tinymce.js
788
+ - app/javascript/alchemy_admin/components/update_check.js
856
789
  - app/javascript/alchemy_admin/components/uploader.js
857
790
  - app/javascript/alchemy_admin/components/uploader/file_upload.js
858
791
  - app/javascript/alchemy_admin/components/uploader/progress.js
@@ -870,7 +803,6 @@ files:
870
803
  - app/javascript/alchemy_admin/ingredient_anchor_link.js
871
804
  - app/javascript/alchemy_admin/initializer.js
872
805
  - app/javascript/alchemy_admin/link_dialog.js
873
- - app/javascript/alchemy_admin/locales/en.js
874
806
  - app/javascript/alchemy_admin/node_tree.js
875
807
  - app/javascript/alchemy_admin/page_publication_fields.js
876
808
  - app/javascript/alchemy_admin/page_sorter.js
@@ -898,21 +830,26 @@ files:
898
830
  - app/jobs/alchemy/publish_page_job.rb
899
831
  - app/mailers/alchemy/base_mailer.rb
900
832
  - app/mailers/alchemy/messages_mailer.rb
833
+ - app/models/alchemy/admin/filters/base.rb
834
+ - app/models/alchemy/admin/filters/checkbox.rb
835
+ - app/models/alchemy/admin/filters/datepicker.rb
836
+ - app/models/alchemy/admin/filters/select.rb
837
+ - app/models/alchemy/admin/resource_name.rb
901
838
  - app/models/alchemy/attachment.rb
902
- - app/models/alchemy/attachment/url.rb
903
839
  - app/models/alchemy/base_record.rb
904
840
  - app/models/alchemy/current.rb
905
841
  - app/models/alchemy/eager_loading.rb
906
842
  - app/models/alchemy/element.rb
907
843
  - app/models/alchemy/element/definitions.rb
908
- - app/models/alchemy/element/dom_id.rb
909
844
  - app/models/alchemy/element/element_ingredients.rb
910
845
  - app/models/alchemy/element/presenters.rb
846
+ - app/models/alchemy/element_definition.rb
911
847
  - app/models/alchemy/element_to_page.rb
912
848
  - app/models/alchemy/elements_repository.rb
913
849
  - app/models/alchemy/folded_page.rb
914
850
  - app/models/alchemy/image_cropper_settings.rb
915
851
  - app/models/alchemy/ingredient.rb
852
+ - app/models/alchemy/ingredient_definition.rb
916
853
  - app/models/alchemy/ingredient_validator.rb
917
854
  - app/models/alchemy/ingredients/audio.rb
918
855
  - app/models/alchemy/ingredients/boolean.rb
@@ -922,6 +859,7 @@ files:
922
859
  - app/models/alchemy/ingredients/html.rb
923
860
  - app/models/alchemy/ingredients/link.rb
924
861
  - app/models/alchemy/ingredients/node.rb
862
+ - app/models/alchemy/ingredients/number.rb
925
863
  - app/models/alchemy/ingredients/page.rb
926
864
  - app/models/alchemy/ingredients/picture.rb
927
865
  - app/models/alchemy/ingredients/richtext.rb
@@ -934,21 +872,18 @@ files:
934
872
  - app/models/alchemy/message.rb
935
873
  - app/models/alchemy/node.rb
936
874
  - app/models/alchemy/page.rb
875
+ - app/models/alchemy/page/definitions.rb
937
876
  - app/models/alchemy/page/fixed_attributes.rb
938
877
  - app/models/alchemy/page/page_elements.rb
939
- - app/models/alchemy/page/page_layouts.rb
940
878
  - app/models/alchemy/page/page_naming.rb
941
879
  - app/models/alchemy/page/page_natures.rb
942
880
  - app/models/alchemy/page/page_scopes.rb
943
881
  - app/models/alchemy/page/publisher.rb
944
882
  - app/models/alchemy/page/url_path.rb
883
+ - app/models/alchemy/page_definition.rb
945
884
  - app/models/alchemy/page_mutex.rb
946
885
  - app/models/alchemy/page_version.rb
947
886
  - app/models/alchemy/picture.rb
948
- - app/models/alchemy/picture/calculations.rb
949
- - app/models/alchemy/picture/preprocessor.rb
950
- - app/models/alchemy/picture/transformations.rb
951
- - app/models/alchemy/picture/url.rb
952
887
  - app/models/alchemy/picture_description.rb
953
888
  - app/models/alchemy/picture_thumb.rb
954
889
  - app/models/alchemy/picture_thumb/create.rb
@@ -956,8 +891,19 @@ files:
956
891
  - app/models/alchemy/picture_thumb/signature.rb
957
892
  - app/models/alchemy/picture_thumb/uid.rb
958
893
  - app/models/alchemy/picture_variant.rb
894
+ - app/models/alchemy/resource.rb
895
+ - app/models/alchemy/searchable_resource.rb
959
896
  - app/models/alchemy/site.rb
960
897
  - app/models/alchemy/site/layout.rb
898
+ - app/models/alchemy/storage_adapter.rb
899
+ - app/models/alchemy/storage_adapter/active_storage.rb
900
+ - app/models/alchemy/storage_adapter/active_storage/attachment_url.rb
901
+ - app/models/alchemy/storage_adapter/active_storage/picture_url.rb
902
+ - app/models/alchemy/storage_adapter/active_storage/preprocessor.rb
903
+ - app/models/alchemy/storage_adapter/dragonfly.rb
904
+ - app/models/alchemy/storage_adapter/dragonfly/attachment_url.rb
905
+ - app/models/alchemy/storage_adapter/dragonfly/picture_url.rb
906
+ - app/models/alchemy/storage_adapter/dragonfly/preprocessor.rb
961
907
  - app/models/alchemy/tag.rb
962
908
  - app/models/concerns/alchemy/dom_ids.rb
963
909
  - app/models/concerns/alchemy/picture_thumbnails.rb
@@ -975,8 +921,64 @@ files:
975
921
  - app/serializers/alchemy/site_serializer.rb
976
922
  - app/services/alchemy/copy_page.rb
977
923
  - app/services/alchemy/delete_elements.rb
924
+ - app/services/alchemy/dragonfly_to_image_processing.rb
978
925
  - app/services/alchemy/duplicate_element.rb
979
926
  - app/services/alchemy/tag_validations.rb
927
+ - app/stylesheets/alchemy/_defaults.scss
928
+ - app/stylesheets/alchemy/_extends.scss
929
+ - app/stylesheets/alchemy/_fonts.scss
930
+ - app/stylesheets/alchemy/_mixins.scss
931
+ - app/stylesheets/alchemy/_variables.scss
932
+ - app/stylesheets/alchemy/admin.scss
933
+ - app/stylesheets/alchemy/admin/archive.scss
934
+ - app/stylesheets/alchemy/admin/attachment-select.scss
935
+ - app/stylesheets/alchemy/admin/attachments.scss
936
+ - app/stylesheets/alchemy/admin/base.scss
937
+ - app/stylesheets/alchemy/admin/buttons.scss
938
+ - app/stylesheets/alchemy/admin/clipboard.scss
939
+ - app/stylesheets/alchemy/admin/dashboard.scss
940
+ - app/stylesheets/alchemy/admin/dialogs.scss
941
+ - app/stylesheets/alchemy/admin/elements.scss
942
+ - app/stylesheets/alchemy/admin/errors.scss
943
+ - app/stylesheets/alchemy/admin/filters.scss
944
+ - app/stylesheets/alchemy/admin/flash.scss
945
+ - app/stylesheets/alchemy/admin/flatpickr.scss
946
+ - app/stylesheets/alchemy/admin/form_fields.scss
947
+ - app/stylesheets/alchemy/admin/forms.scss
948
+ - app/stylesheets/alchemy/admin/frame.scss
949
+ - app/stylesheets/alchemy/admin/hints.scss
950
+ - app/stylesheets/alchemy/admin/icons.scss
951
+ - app/stylesheets/alchemy/admin/image_library.scss
952
+ - app/stylesheets/alchemy/admin/images.scss
953
+ - app/stylesheets/alchemy/admin/labels.scss
954
+ - app/stylesheets/alchemy/admin/list_filter.scss
955
+ - app/stylesheets/alchemy/admin/lists.scss
956
+ - app/stylesheets/alchemy/admin/navigation.scss
957
+ - app/stylesheets/alchemy/admin/node-select.scss
958
+ - app/stylesheets/alchemy/admin/nodes.scss
959
+ - app/stylesheets/alchemy/admin/notices.scss
960
+ - app/stylesheets/alchemy/admin/page-select.scss
961
+ - app/stylesheets/alchemy/admin/pagination.scss
962
+ - app/stylesheets/alchemy/admin/preview_window.scss
963
+ - app/stylesheets/alchemy/admin/print.scss
964
+ - app/stylesheets/alchemy/admin/resource_info.scss
965
+ - app/stylesheets/alchemy/admin/search.scss
966
+ - app/stylesheets/alchemy/admin/selects.scss
967
+ - app/stylesheets/alchemy/admin/shoelace.scss
968
+ - app/stylesheets/alchemy/admin/sitemap.scss
969
+ - app/stylesheets/alchemy/admin/spinner.scss
970
+ - app/stylesheets/alchemy/admin/tables.scss
971
+ - app/stylesheets/alchemy/admin/tags.scss
972
+ - app/stylesheets/alchemy/admin/toolbar.scss
973
+ - app/stylesheets/alchemy/admin/typography.scss
974
+ - app/stylesheets/alchemy/admin/upload.scss
975
+ - app/stylesheets/alchemy/custom-properties.css
976
+ - app/stylesheets/alchemy/welcome.scss
977
+ - app/stylesheets/tinymce/skins/content/alchemy/content.scss
978
+ - app/stylesheets/tinymce/skins/skintool.json
979
+ - app/stylesheets/tinymce/skins/ui/alchemy/content.scss
980
+ - app/stylesheets/tinymce/skins/ui/alchemy/fonts/tinymce-mobile.woff
981
+ - app/stylesheets/tinymce/skins/ui/alchemy/skin.scss
980
982
  - app/views/alchemy/_edit_mode.html.erb
981
983
  - app/views/alchemy/_menubar.html.erb
982
984
  - app/views/alchemy/_preview_mode_code.html.erb
@@ -988,14 +990,15 @@ files:
988
990
  - app/views/alchemy/admin/attachments/_tag_list.html.erb
989
991
  - app/views/alchemy/admin/attachments/archive_overlay.js.erb
990
992
  - app/views/alchemy/admin/attachments/assign.js.erb
991
- - app/views/alchemy/admin/attachments/destroy.js.erb
992
993
  - app/views/alchemy/admin/attachments/edit.html.erb
993
994
  - app/views/alchemy/admin/attachments/index.html.erb
994
995
  - app/views/alchemy/admin/attachments/show.html.erb
995
- - app/views/alchemy/admin/clipboard/clear.js.erb
996
+ - app/views/alchemy/admin/clipboard/_button.html.erb
997
+ - app/views/alchemy/admin/clipboard/_update_nested_element_button.turbo_stream.erb
998
+ - app/views/alchemy/admin/clipboard/clear.turbo_stream.erb
996
999
  - app/views/alchemy/admin/clipboard/index.html.erb
997
- - app/views/alchemy/admin/clipboard/insert.js.erb
998
- - app/views/alchemy/admin/clipboard/remove.js.erb
1000
+ - app/views/alchemy/admin/clipboard/insert.turbo_stream.erb
1001
+ - app/views/alchemy/admin/clipboard/remove.turbo_stream.erb
999
1002
  - app/views/alchemy/admin/crop.html.erb
1000
1003
  - app/views/alchemy/admin/dashboard/_dashboard.html.erb
1001
1004
  - app/views/alchemy/admin/dashboard/_left_column.html.erb
@@ -1009,7 +1012,6 @@ files:
1009
1012
  - app/views/alchemy/admin/dashboard/widgets/_sites.html.erb
1010
1013
  - app/views/alchemy/admin/dashboard/widgets/_users.html.erb
1011
1014
  - app/views/alchemy/admin/elements/_add_nested_element_form.html.erb
1012
- - app/views/alchemy/admin/elements/_clipboard_button.html.erb
1013
1015
  - app/views/alchemy/admin/elements/_element.html.erb
1014
1016
  - app/views/alchemy/admin/elements/_footer.html.erb
1015
1017
  - app/views/alchemy/admin/elements/_form.html.erb
@@ -1107,13 +1109,12 @@ files:
1107
1109
  - app/views/alchemy/admin/pictures/index.js.erb
1108
1110
  - app/views/alchemy/admin/pictures/show.html.erb
1109
1111
  - app/views/alchemy/admin/pictures/update.turbo_stream.erb
1110
- - app/views/alchemy/admin/resources/_filter.html.erb
1112
+ - app/views/alchemy/admin/resources/_applied_filters.html.erb
1111
1113
  - app/views/alchemy/admin/resources/_filter_bar.html.erb
1112
1114
  - app/views/alchemy/admin/resources/_form.html.erb
1115
+ - app/views/alchemy/admin/resources/_pagination.html.erb
1113
1116
  - app/views/alchemy/admin/resources/_per_page_select.html.erb
1114
- - app/views/alchemy/admin/resources/_resource.html.erb
1115
1117
  - app/views/alchemy/admin/resources/_resource_table.html.erb
1116
- - app/views/alchemy/admin/resources/_table.html.erb
1117
1118
  - app/views/alchemy/admin/resources/_table_header.html.erb
1118
1119
  - app/views/alchemy/admin/resources/_tag_list.html.erb
1119
1120
  - app/views/alchemy/admin/resources/edit.html.erb
@@ -1130,11 +1131,13 @@ files:
1130
1131
  - app/views/alchemy/admin/tags/index.html.erb
1131
1132
  - app/views/alchemy/admin/tags/new.html.erb
1132
1133
  - app/views/alchemy/admin/tinymce/_setup.html.erb
1134
+ - app/views/alchemy/admin/translations/_en.js
1133
1135
  - app/views/alchemy/admin/uploader/_button.html.erb
1134
1136
  - app/views/alchemy/admin/uploader/_setup.html.erb
1135
1137
  - app/views/alchemy/attachments/show.html.erb
1136
1138
  - app/views/alchemy/base/403.html.erb
1137
1139
  - app/views/alchemy/base/500.html.erb
1140
+ - app/views/alchemy/base/500.turbo_stream.erb
1138
1141
  - app/views/alchemy/base/error_notice.html.erb
1139
1142
  - app/views/alchemy/base/error_notice.js.erb
1140
1143
  - app/views/alchemy/base/permission_denied.js.erb
@@ -1143,36 +1146,21 @@ files:
1143
1146
  - app/views/alchemy/breadcrumb/_separator.html.erb
1144
1147
  - app/views/alchemy/breadcrumb/_wrapper.html.erb
1145
1148
  - app/views/alchemy/elements/_view_not_found.html.erb
1146
- - app/views/alchemy/elements/show.html.erb
1147
- - app/views/alchemy/elements/show.js.erb
1148
1149
  - app/views/alchemy/ingredients/_audio_editor.html.erb
1149
- - app/views/alchemy/ingredients/_audio_view.html.erb
1150
1150
  - app/views/alchemy/ingredients/_boolean_editor.html.erb
1151
- - app/views/alchemy/ingredients/_boolean_view.html.erb
1152
1151
  - app/views/alchemy/ingredients/_datetime_editor.html.erb
1153
- - app/views/alchemy/ingredients/_datetime_view.html.erb
1154
1152
  - app/views/alchemy/ingredients/_file_editor.html.erb
1155
- - app/views/alchemy/ingredients/_file_view.html.erb
1156
1153
  - app/views/alchemy/ingredients/_headline_editor.html.erb
1157
- - app/views/alchemy/ingredients/_headline_view.html.erb
1158
1154
  - app/views/alchemy/ingredients/_html_editor.html.erb
1159
- - app/views/alchemy/ingredients/_html_view.html.erb
1160
1155
  - app/views/alchemy/ingredients/_link_editor.html.erb
1161
- - app/views/alchemy/ingredients/_link_view.html.erb
1162
1156
  - app/views/alchemy/ingredients/_node_editor.html.erb
1163
- - app/views/alchemy/ingredients/_node_view.html.erb
1157
+ - app/views/alchemy/ingredients/_number_editor.html.erb
1164
1158
  - app/views/alchemy/ingredients/_page_editor.html.erb
1165
- - app/views/alchemy/ingredients/_page_view.html.erb
1166
1159
  - app/views/alchemy/ingredients/_picture_editor.html.erb
1167
- - app/views/alchemy/ingredients/_picture_view.html.erb
1168
1160
  - app/views/alchemy/ingredients/_richtext_editor.html.erb
1169
- - app/views/alchemy/ingredients/_richtext_view.html.erb
1170
1161
  - app/views/alchemy/ingredients/_select_editor.html.erb
1171
- - app/views/alchemy/ingredients/_select_view.html.erb
1172
1162
  - app/views/alchemy/ingredients/_text_editor.html.erb
1173
- - app/views/alchemy/ingredients/_text_view.html.erb
1174
1163
  - app/views/alchemy/ingredients/_video_editor.html.erb
1175
- - app/views/alchemy/ingredients/_video_view.html.erb
1176
1164
  - app/views/alchemy/ingredients/shared/_anchor.html.erb
1177
1165
  - app/views/alchemy/ingredients/shared/_link_tools.html.erb
1178
1166
  - app/views/alchemy/ingredients/shared/_picture_css_class.html.erb
@@ -1183,6 +1171,7 @@ files:
1183
1171
  - app/views/alchemy/messages_mailer/contact_form_mail.en.text.erb
1184
1172
  - app/views/alchemy/messages_mailer/contact_form_mail.es.text.erb
1185
1173
  - app/views/alchemy/messages_mailer/new.html.erb
1174
+ - app/views/alchemy/no_index.html.erb
1186
1175
  - app/views/alchemy/pages/_meta_data.html.erb
1187
1176
  - app/views/alchemy/pages/show.html.erb
1188
1177
  - app/views/alchemy/pages/sitemap.xml.erb
@@ -1196,20 +1185,19 @@ files:
1196
1185
  - app/views/kaminari/alchemy/_prev_page.html.erb
1197
1186
  - app/views/layouts/alchemy/admin.html.erb
1198
1187
  - app/views/layouts/alchemy/sitemap.xml.erb
1199
- - babel.config.js
1200
1188
  - bin/importmap
1201
1189
  - bin/rails
1202
1190
  - bin/rspec
1203
1191
  - bin/setup
1204
1192
  - bin/start
1205
1193
  - bun.lockb
1194
+ - bundles/remixicon.mjs
1206
1195
  - bundles/shoelace.js
1207
1196
  - bundles/tinymce.js
1208
1197
  - config/alchemy/config.yml
1209
1198
  - config/alchemy/modules.yml
1210
1199
  - config/brakeman.ignore
1211
1200
  - config/importmap.rb
1212
- - config/initializers/assets.rb
1213
1201
  - config/initializers/dragonfly.rb
1214
1202
  - config/initializers/mime_types.rb
1215
1203
  - config/initializers/mini_profiler.rb
@@ -1223,6 +1211,7 @@ files:
1223
1211
  - db/migrate/20230505132743_add_indexes_to_alchemy_pictures.rb
1224
1212
  - db/migrate/20231113104432_create_page_mutexes.rb
1225
1213
  - db/migrate/20240314105244_create_alchemy_picture_descriptions.rb
1214
+ - db/migrate/20250626160259_add_unique_index_to_picture_descriptions.rb
1226
1215
  - eslint.config.js
1227
1216
  - lib/alchemy.rb
1228
1217
  - lib/alchemy/ability_helper.rb
@@ -1230,15 +1219,33 @@ files:
1230
1219
  - lib/alchemy/admin/preview_url.rb
1231
1220
  - lib/alchemy/auth_accessors.rb
1232
1221
  - lib/alchemy/cache_digests/template_tracker.rb
1233
- - lib/alchemy/config.rb
1222
+ - lib/alchemy/config_missing.rb
1223
+ - lib/alchemy/configuration.rb
1224
+ - lib/alchemy/configuration/base_option.rb
1225
+ - lib/alchemy/configuration/boolean_option.rb
1226
+ - lib/alchemy/configuration/class_option.rb
1227
+ - lib/alchemy/configuration/class_set_option.rb
1228
+ - lib/alchemy/configuration/integer_list_option.rb
1229
+ - lib/alchemy/configuration/integer_option.rb
1230
+ - lib/alchemy/configuration/list_option.rb
1231
+ - lib/alchemy/configuration/regexp_option.rb
1232
+ - lib/alchemy/configuration/string_list_option.rb
1233
+ - lib/alchemy/configuration/string_option.rb
1234
1234
  - lib/alchemy/configuration_methods.rb
1235
+ - lib/alchemy/configurations/default_language.rb
1236
+ - lib/alchemy/configurations/default_site.rb
1237
+ - lib/alchemy/configurations/format_matchers.rb
1238
+ - lib/alchemy/configurations/mailer.rb
1239
+ - lib/alchemy/configurations/main.rb
1240
+ - lib/alchemy/configurations/preview.rb
1241
+ - lib/alchemy/configurations/sitemap.rb
1242
+ - lib/alchemy/configurations/uploader.rb
1235
1243
  - lib/alchemy/controller_actions.rb
1236
1244
  - lib/alchemy/deprecation.rb
1237
1245
  - lib/alchemy/dev_support/live_reload_watcher.rb
1238
1246
  - lib/alchemy/dragonfly/processors/auto_orient.rb
1239
1247
  - lib/alchemy/dragonfly/processors/crop_resize.rb
1240
1248
  - lib/alchemy/dragonfly/processors/thumbnail.rb
1241
- - lib/alchemy/element_definition.rb
1242
1249
  - lib/alchemy/elements_finder.rb
1243
1250
  - lib/alchemy/engine.rb
1244
1251
  - lib/alchemy/error_tracking.rb
@@ -1254,14 +1261,10 @@ files:
1254
1261
  - lib/alchemy/name_conversions.rb
1255
1262
  - lib/alchemy/on_page_layout.rb
1256
1263
  - lib/alchemy/on_page_layout/callbacks_runner.rb
1257
- - lib/alchemy/page_layout.rb
1258
1264
  - lib/alchemy/paths.rb
1259
1265
  - lib/alchemy/permissions.rb
1260
- - lib/alchemy/resource.rb
1261
- - lib/alchemy/resource_filter.rb
1262
- - lib/alchemy/resources_helper.rb
1266
+ - lib/alchemy/propshaft/tinymce_asset.rb
1263
1267
  - lib/alchemy/routing_constraints.rb
1264
- - lib/alchemy/searchable_resource.rb
1265
1268
  - lib/alchemy/seeder.rb
1266
1269
  - lib/alchemy/shell.rb
1267
1270
  - lib/alchemy/taggable.rb
@@ -1295,8 +1298,8 @@ files:
1295
1298
  - lib/alchemy/test_support/shared_uploader_examples.rb
1296
1299
  - lib/alchemy/tinymce.rb
1297
1300
  - lib/alchemy/upgrader.rb
1298
- - lib/alchemy/upgrader/seven_point_four.rb
1299
- - lib/alchemy/upgrader/seven_point_three.rb
1301
+ - lib/alchemy/upgrader/.keep
1302
+ - lib/alchemy/upgrader/eight_zero.rb
1300
1303
  - lib/alchemy/upgrader/tasks/.keep
1301
1304
  - lib/alchemy/version.rb
1302
1305
  - lib/alchemy_cms.rb
@@ -1308,17 +1311,14 @@ files:
1308
1311
  - lib/generators/alchemy/ingredient/ingredient_generator.rb
1309
1312
  - lib/generators/alchemy/ingredient/templates/editor.html.erb
1310
1313
  - lib/generators/alchemy/ingredient/templates/model.rb.tt
1311
- - lib/generators/alchemy/ingredient/templates/view.html.erb
1312
1314
  - lib/generators/alchemy/ingredient/templates/view_component.rb.tt
1313
1315
  - lib/generators/alchemy/install/files/_article.html.erb
1314
1316
  - lib/generators/alchemy/install/files/_standard.html.erb
1315
1317
  - lib/generators/alchemy/install/files/alchemy.en.yml
1316
- - lib/generators/alchemy/install/files/alchemy_admin.js
1317
- - lib/generators/alchemy/install/files/all.js
1318
1318
  - lib/generators/alchemy/install/files/application.html.erb
1319
- - lib/generators/alchemy/install/files/article.css
1320
1319
  - lib/generators/alchemy/install/files/custom.css
1321
1320
  - lib/generators/alchemy/install/install_generator.rb
1321
+ - lib/generators/alchemy/install/templates/alchemy.rb.tt
1322
1322
  - lib/generators/alchemy/install/templates/dragonfly.rb.tt
1323
1323
  - lib/generators/alchemy/install/templates/elements.yml.tt
1324
1324
  - lib/generators/alchemy/install/templates/menus.yml.tt
@@ -1344,6 +1344,7 @@ files:
1344
1344
  - lib/generators/alchemy/site_layouts/templates/layout.html.slim
1345
1345
  - lib/generators/alchemy/views/views_generator.rb
1346
1346
  - lib/non_stupid_digest_assets.rb
1347
+ - lib/tasks/alchemy/assets.rake
1347
1348
  - lib/tasks/alchemy/db.rake
1348
1349
  - lib/tasks/alchemy/install.rake
1349
1350
  - lib/tasks/alchemy/sitemap.rake
@@ -1352,7 +1353,6 @@ files:
1352
1353
  - lib/tasks/alchemy/upgrade.rake
1353
1354
  - lib/tasks/alchemy/usage.rake
1354
1355
  - rollup.config.mjs
1355
- - vendor/assets/images/remixicon.symbol.svg
1356
1356
  - vendor/assets/stylesheets/alchemy_admin/select2.css
1357
1357
  - vendor/javascript/clipboard.min.js
1358
1358
  - vendor/javascript/cropperjs.min.js
@@ -1366,10 +1366,14 @@ files:
1366
1366
  - vendor/javascript/sortable.min.js
1367
1367
  - vendor/javascript/tinymce.min.js
1368
1368
  - vendor/javascript/ungap-custom-elements.min.js
1369
+ - vitest.config.js
1369
1370
  homepage: https://alchemy-cms.com
1370
1371
  licenses:
1371
1372
  - BSD-3-Clause
1372
- metadata: {}
1373
+ metadata:
1374
+ homepage_uri: https://alchemy-cms.com
1375
+ source_code_uri: https://github.com/AlchemyCMS/alchemy_cms
1376
+ changelog_uri: https://github.com/AlchemyCMS/alchemy_cms/blob/main/CHANGELOG.md
1373
1377
  post_install_message: |+
1374
1378
  -------------------------------------------------------------
1375
1379
  Thank you for installing Alchemy CMS