alchemy_cms 8.0.0.a → 8.0.0.b
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.
- checksums.yaml +4 -4
- data/README.md +3 -0
- data/app/assets/builds/alchemy/admin/page-select.css +1 -1
- data/app/assets/builds/alchemy/admin.css +1 -1
- data/app/assets/builds/alchemy/dark-theme.css +1 -0
- data/app/assets/builds/alchemy/light-theme.css +1 -0
- data/app/assets/builds/alchemy/theme.css +1 -0
- data/app/assets/builds/alchemy/welcome.css +1 -1
- data/app/assets/builds/tinymce/skins/content/alchemy/content.min.css +1 -1
- data/app/assets/builds/tinymce/skins/content/alchemy-dark/content.min.css +1 -0
- data/app/assets/builds/tinymce/skins/ui/alchemy/skin.min.css +1 -1
- data/app/assets/builds/tinymce/skins/ui/alchemy-dark/content.min.css +1 -0
- data/app/assets/builds/tinymce/skins/ui/alchemy-dark/skin.min.css +1 -0
- data/app/assets/images/alchemy/element_icons/default.svg +1 -0
- data/app/assets/images/alchemy/icons-sprite.svg +1 -1
- data/app/components/alchemy/admin/element_select.rb +39 -0
- data/app/components/alchemy/ingredients/datetime_view.rb +4 -2
- data/app/controllers/alchemy/admin/attachments_controller.rb +2 -0
- data/app/controllers/alchemy/admin/elements_controller.rb +2 -0
- data/app/controllers/alchemy/admin/pages_controller.rb +2 -0
- data/app/controllers/alchemy/admin/pictures_controller.rb +19 -33
- data/app/controllers/alchemy/pages_controller.rb +19 -2
- data/app/controllers/concerns/alchemy/admin/resource_filter.rb +1 -0
- data/app/helpers/alchemy/admin/attachments_helper.rb +5 -5
- data/app/helpers/alchemy/pages_helper.rb +1 -1
- data/app/javascript/alchemy_admin/components/auto_submit.js +20 -0
- data/app/javascript/alchemy_admin/components/datepicker.js +8 -5
- data/app/javascript/alchemy_admin/components/element_editor/delete_element_button.js +3 -2
- data/app/javascript/alchemy_admin/components/element_editor.js +25 -15
- data/app/javascript/alchemy_admin/components/element_select.js +43 -0
- data/app/javascript/alchemy_admin/components/index.js +5 -0
- data/app/javascript/alchemy_admin/components/link_buttons.js +6 -2
- data/app/javascript/alchemy_admin/components/remote_select.js +5 -1
- data/app/javascript/alchemy_admin/components/tinymce.js +93 -16
- data/app/javascript/alchemy_admin/dialog.js +1 -1
- data/app/javascript/alchemy_admin/file_editors.js +1 -1
- data/app/javascript/alchemy_admin/image_loader.js +4 -2
- data/app/javascript/alchemy_admin/picture_editors.js +7 -4
- data/app/javascript/alchemy_admin/picture_selector.js +4 -4
- data/app/jobs/alchemy/delete_picture_job.rb +12 -0
- data/app/models/alchemy/attachment.rb +2 -9
- data/app/models/alchemy/element.rb +1 -0
- data/app/models/alchemy/element_definition.rb +30 -0
- data/app/models/alchemy/ingredient.rb +1 -1
- data/app/models/alchemy/language.rb +2 -7
- data/app/models/alchemy/page/page_naming.rb +4 -11
- data/app/models/alchemy/page/page_natures.rb +16 -11
- data/app/models/alchemy/page.rb +1 -6
- data/app/models/alchemy/page_definition.rb +1 -1
- data/app/models/alchemy/picture.rb +6 -17
- data/app/models/alchemy/site/layout.rb +1 -0
- data/app/models/alchemy/site.rb +1 -6
- data/app/models/alchemy/storage_adapter/dragonfly/picture_url.rb +7 -2
- data/app/models/alchemy/storage_adapter/dragonfly.rb +24 -2
- data/app/models/concerns/alchemy/relatable_resource.rb +28 -0
- data/app/stylesheets/alchemy/_custom-properties.scss +162 -0
- data/app/stylesheets/alchemy/_mixins.scss +12 -24
- data/app/stylesheets/alchemy/_themes.scss +540 -0
- data/app/stylesheets/alchemy/admin/archive.scss +28 -8
- data/app/stylesheets/alchemy/admin/attachments.scss +10 -33
- data/app/stylesheets/alchemy/admin/base.scss +4 -1
- data/app/stylesheets/alchemy/admin/buttons.scss +7 -32
- data/app/stylesheets/alchemy/admin/dialogs.scss +17 -7
- data/app/stylesheets/alchemy/admin/element-select.scss +11 -0
- data/app/stylesheets/alchemy/admin/elements.scss +94 -33
- data/app/stylesheets/alchemy/admin/filters.scss +8 -9
- data/app/stylesheets/alchemy/admin/flatpickr.scss +12 -27
- data/app/stylesheets/alchemy/admin/form_fields.scss +0 -15
- data/app/stylesheets/alchemy/admin/forms.scss +3 -8
- data/app/stylesheets/alchemy/admin/frame.scss +5 -7
- data/app/stylesheets/alchemy/admin/icons.scss +0 -9
- data/app/stylesheets/alchemy/admin/image_library.scss +13 -55
- data/app/stylesheets/alchemy/admin/navigation.scss +1 -11
- data/app/stylesheets/alchemy/admin/node-select.scss +1 -10
- data/app/stylesheets/alchemy/admin/notices.scss +5 -4
- data/app/stylesheets/alchemy/admin/page-select.scss +16 -0
- data/app/stylesheets/alchemy/admin/pagination.scss +1 -8
- data/app/stylesheets/alchemy/admin/preview_window.scss +12 -1
- data/app/stylesheets/alchemy/admin/resource_info.scss +106 -3
- data/app/stylesheets/alchemy/admin/search.scss +1 -1
- data/app/stylesheets/alchemy/admin/selects.scss +58 -31
- data/app/stylesheets/alchemy/admin/shoelace.scss +32 -62
- data/app/stylesheets/alchemy/admin/sitemap.scss +1 -1
- data/app/stylesheets/alchemy/admin/tables.scss +3 -3
- data/app/stylesheets/alchemy/admin/tags.scss +18 -35
- data/app/stylesheets/alchemy/admin/toolbar.scss +0 -6
- data/app/stylesheets/alchemy/admin/typography.scss +2 -5
- data/app/stylesheets/alchemy/admin.scss +1 -1
- data/app/stylesheets/alchemy/dark-theme.scss +5 -0
- data/app/stylesheets/alchemy/light-theme.scss +6 -0
- data/app/stylesheets/alchemy/theme.scss +13 -0
- data/app/stylesheets/tinymce/skins/content/alchemy/content.scss +8 -8
- data/app/stylesheets/tinymce/skins/content/alchemy-dark/content.scss +70 -0
- data/app/stylesheets/tinymce/skins/ui/alchemy/skin.scss +28 -43
- data/app/stylesheets/tinymce/skins/ui/alchemy-dark/content.scss +1 -0
- data/app/stylesheets/tinymce/skins/ui/alchemy-dark/skin.scss +3784 -0
- data/app/views/alchemy/admin/attachments/_files_list.html.erb +20 -10
- data/app/views/alchemy/admin/attachments/assign.js.erb +4 -3
- data/app/views/alchemy/admin/attachments/show.html.erb +55 -43
- data/app/views/alchemy/admin/crop.html.erb +1 -1
- data/app/views/alchemy/admin/elements/_form.html.erb +9 -9
- data/app/views/alchemy/admin/elements/_header.html.erb +4 -1
- data/app/views/alchemy/admin/ingredients/_picture_fields.html.erb +1 -1
- data/app/views/alchemy/admin/pages/info.html.erb +1 -1
- data/app/views/alchemy/admin/partials/_search_form.html.erb +1 -0
- data/app/views/alchemy/admin/pictures/_archive.html.erb +12 -22
- data/app/views/alchemy/admin/pictures/_archive_overlay.html.erb +1 -6
- data/app/views/alchemy/admin/pictures/_form.html.erb +1 -1
- data/app/views/alchemy/admin/pictures/_infos.html.erb +21 -52
- data/app/views/alchemy/admin/pictures/_library_sidebar.html.erb +7 -0
- data/app/views/alchemy/admin/pictures/_picture.html.erb +14 -20
- data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +20 -16
- data/app/views/alchemy/admin/pictures/_sorting_select.html.erb +13 -0
- data/app/views/alchemy/admin/pictures/_tag_list.html.erb +1 -1
- data/app/views/alchemy/admin/pictures/edit_multiple.html.erb +1 -6
- data/app/views/alchemy/admin/pictures/index.html.erb +3 -12
- data/app/views/alchemy/admin/pictures/show.html.erb +10 -5
- data/app/views/alchemy/admin/resources/_filter_bar.html.erb +5 -15
- data/app/views/alchemy/admin/resources/_resource_usage_info.html.erb +36 -0
- data/app/views/alchemy/admin/styleguide/index.html.erb +118 -66
- data/app/views/alchemy/base/error_notice.html.erb +1 -1
- data/app/views/alchemy/ingredients/_page_editor.html.erb +0 -1
- data/app/views/alchemy/ingredients/_richtext_editor.html.erb +0 -1
- data/app/views/alchemy/ingredients/_select_editor.html.erb +1 -2
- data/app/views/layouts/alchemy/admin.html.erb +22 -17
- data/config/locales/alchemy.en.yml +26 -8
- data/db/migrate/20250905140323_add_created_at_index_to_pictures_and_attachments.rb +14 -0
- data/lib/alchemy/configurations/format_matchers.rb +1 -1
- data/lib/alchemy/configurations/main.rb +7 -0
- data/lib/alchemy/configurations/page_cache.rb +19 -0
- data/lib/alchemy/engine.rb +16 -7
- data/lib/alchemy/install/tasks.rb +0 -12
- data/lib/alchemy/name_conversions.rb +6 -0
- data/lib/alchemy/tasks/tidy.rb +18 -0
- data/lib/alchemy/test_support/factories/picture_factory.rb +1 -0
- data/lib/alchemy/test_support/relatable_resource_examples.rb +58 -0
- data/lib/alchemy/tinymce.rb +0 -1
- data/lib/alchemy/version.rb +1 -1
- data/lib/alchemy.rb +2 -11
- data/lib/generators/alchemy/install/install_generator.rb +21 -10
- data/lib/generators/alchemy/install/templates/alchemy.rb.tt +10 -6
- data/lib/tasks/alchemy/tidy.rake +6 -0
- data/lib/tasks/alchemy/usage.rake +2 -0
- data/vendor/assets/stylesheets/tinymce/skins/content/dark/content.min.css +1 -0
- data/vendor/assets/stylesheets/tinymce/skins/content/default/content.min.css +1 -0
- data/vendor/assets/stylesheets/tinymce/skins/ui/oxide/skin.min.css +1 -0
- data/vendor/assets/stylesheets/tinymce/skins/ui/oxide-dark/content.min.css +1 -0
- data/vendor/assets/stylesheets/tinymce/skins/ui/oxide-dark/skin.min.css +1 -0
- data/vendor/javascript/clipboard.min.js +1 -1
- data/vendor/javascript/cropperjs.min.js +1 -1
- data/vendor/javascript/handlebars.min.js +3 -3
- data/vendor/javascript/jquery.min.js +1 -1
- data/vendor/javascript/select2.min.js +3 -3
- data/vendor/javascript/shoelace.min.js +92 -76
- data/vendor/javascript/sortable.min.js +2 -2
- data/vendor/javascript/tinymce.min.js +1 -1
- data/vendor/javascript/ungap-custom-elements.min.js +2 -2
- metadata +46 -32
- data/CHANGELOG.md +0 -2100
- data/CODE_OF_CONDUCT.md +0 -13
- data/CONTRIBUTING.md +0 -73
- data/Gemfile +0 -78
- data/Rakefile +0 -102
- data/SECURITY.md +0 -13
- data/alchemy_cms.gemspec +0 -97
- data/app/assets/builds/alchemy/custom-properties.css +0 -1
- data/app/helpers/alchemy/admin/elements_helper.rb +0 -25
- data/app/stylesheets/alchemy/custom-properties.css +0 -244
- data/bin/importmap +0 -4
- data/bin/rails +0 -9
- data/bin/rspec +0 -3
- data/bin/setup +0 -30
- data/bin/start +0 -17
- data/bun.lockb +0 -0
- data/bundles/remixicon.mjs +0 -153
- data/bundles/shoelace.js +0 -12
- data/bundles/tinymce.js +0 -22
- data/eslint.config.js +0 -18
- data/lib/alchemy/upgrader/.keep +0 -0
- data/lib/alchemy/upgrader/tasks/.keep +0 -0
- data/rollup.config.mjs +0 -108
- data/vitest.config.js +0 -21
@@ -1,3 +1,3 @@
|
|
1
1
|
/*! (c) Andrea Giammarchi @webreflection ISC */
|
2
|
-
!function(){var e=function(e,t){var n=function(e){for(var t=0,n=e.length;t<n;t++)r(e[t]);},r=function(e){var t=e.target,n=e.attributeName,r=e.oldValue;t.attributeChangedCallback(n,r,t.getAttribute(n));};return function(o,a){var l=o.constructor.observedAttributes;return l&&e(a).then((function(){new t(n).observe(o,{attributes
|
3
|
-
/*! (c) Andrea Giammarchi - ISC */var r
|
2
|
+
!function(){var e=function(e,t){var n=function(e){for(var t=0,n=e.length;t<n;t++)r(e[t]);},r=function(e){var t=e.target,n=e.attributeName,r=e.oldValue;t.attributeChangedCallback(n,r,t.getAttribute(n));};return function(o,a){var l=o.constructor.observedAttributes;return l&&e(a).then((function(){new t(n).observe(o,{attributes:true,attributeOldValue:true,attributeFilter:l});for(var e=0,a=l.length;e<a;e++)o.hasAttribute(l[e])&&r({target:o,attributeName:l[e],oldValue:null});})),o}};function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function n(e,n){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,n){if(e){if("string"==typeof e)return t(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);return "Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}(e))||n){r&&(e=r);var o=0,a=function(){};return {s:a,n:function(){return o>=e.length?{done:true}:{done:false,value:e[o++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,i=true,c=false;return {s:function(){r=r.call(e);},n:function(){var e=r.next();return i=e.done,e},e:function(e){c=true,l=e;},f:function(){try{i||null==r.return||r.return();}finally{if(c)throw l}}}}
|
3
|
+
/*! (c) Andrea Giammarchi - ISC */var r=true,o=false,a="querySelectorAll",l="querySelectorAll",i=self,c=i.document,u=i.Element,s=i.MutationObserver,f=i.Set,d=i.WeakMap,h=function(e){return l in e},v=[].filter,p=function(e){var t=new d,i=function(n,r){var o;if(r)for(var a,l=function(e){return e.matches||e.webkitMatchesSelector||e.msMatchesSelector}(n),i=0,c=y.length;i<c;i++)l.call(n,a=y[i])&&(t.has(n)||t.set(n,new f),(o=t.get(n)).has(a)||(o.add(a),e.handle(n,r,a)));else t.has(n)&&(o=t.get(n),t.delete(n),o.forEach((function(t){e.handle(n,r,t);})));},p=function(e){for(var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=0,r=e.length;n<r;n++)i(e[n],t);},y=e.query,g=e.root||c,m=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:MutationObserver,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:["*"],c=function t(o,l,i,c,u,s){var f,d=n(o);try{for(d.s();!(f=d.n()).done;){var h=f.value;(s||a in h)&&(u?i.has(h)||(i.add(h),c.delete(h),e(h,u)):c.has(h)||(c.add(h),i.delete(h),e(h,u)),s||t(h[a](l),l,i,c,u,r));}}catch(e){d.e(e);}finally{d.f();}},u=new l((function(e){if(i.length){var t,a=i.join(","),l=new Set,u=new Set,s=n(e);try{for(s.s();!(t=s.n()).done;){var f=t.value,d=f.addedNodes,h=f.removedNodes;c(h,a,l,u,o,o),c(d,a,l,u,r,o);}}catch(e){s.e(e);}finally{s.f();}}})),s=u.observe;return (u.observe=function(e){return s.call(u,e,{subtree:r,childList:r})})(t),u}(i,g,s,y),w=u.prototype.attachShadow;return w&&(u.prototype.attachShadow=function(e){var t=w.call(this,e);return m.observe(t),t}),y.length&&p(g[l](y)),{drop:function(e){for(var n=0,r=e.length;n<r;n++)t.delete(e[n]);},flush:function(){for(var e=m.takeRecords(),t=0,n=e.length;t<n;t++)p(v.call(e[t].removedNodes,h),false),p(v.call(e[t].addedNodes,h),true);},observer:m,parse:p}},y=self,g=y.document,m=y.Map,w=y.MutationObserver,b=y.Object,E=y.Set,S=y.WeakMap,A=y.Element,M=y.HTMLElement,O=y.Node,N=y.Error,C=y.TypeError,T=y.Reflect,q=b.defineProperty,D=b.keys,I=b.getOwnPropertyNames,P=b.setPrototypeOf,k=!self.customElements,L=function(e){for(var t=D(e),n=[],r=new E,o=t.length,a=0;a<o;a++){n[a]=e[t[a]];try{delete e[t[a]];}catch(e){r.add(a);}}return function(){for(var a=0;a<o;a++)r.has(a)||(e[t[a]]=n[a]);}};if(k){var x=function(){var e=this.constructor;if(!$.has(e))throw new C("Illegal constructor");var t=$.get(e);if(W)return F(W,t);var n=H.call(g,t);return F(P(n,e.prototype),t)},H=g.createElement,$=new m,_=new m,j=new m,R=new m,V=[],U=p({query:V,handle:function(e,t,n){var r=j.get(n);if(t&&!r.isPrototypeOf(e)){var o=L(e);W=P(e,r);try{new r.constructor;}finally{W=null,o();}}var a="".concat(t?"":"dis","connectedCallback");a in r&&e[a]();}}).parse,W=null,B=function(e){if(!_.has(e)){var t,n=new Promise((function(e){t=e;}));_.set(e,{$:n,_:t});}return _.get(e).$},F=e(B,w);self.customElements={define:function(e,t){if(R.has(e))throw new N('the name "'.concat(e,'" has already been used with this registry'));$.set(t,e),j.set(e,t.prototype),R.set(e,t),V.push(e),B(e).then((function(){U(g.querySelectorAll(e));})),_.get(e)._(t);},get:function(e){return R.get(e)},whenDefined:B},q(x.prototype=M.prototype,"constructor",{value:x}),self.HTMLElement=x,g.createElement=function(e,t){var n=t&&t.is,r=n?R.get(n):R.get(e);return r?new r:H.call(g,e)},"isConnected"in O.prototype||q(O.prototype,"isConnected",{configurable:true,get:function(){return !(this.ownerDocument.compareDocumentPosition(this)&this.DOCUMENT_POSITION_DISCONNECTED)}});}else if(k=!self.customElements.get("extends-br"))try{var z=function e(){return self.Reflect.construct(HTMLBRElement,[],e)};z.prototype=HTMLLIElement.prototype;var G="extends-br";self.customElements.define("extends-br",z,{extends:"br"}),k=g.createElement("br",{is:G}).outerHTML.indexOf(G)<0;var J=self.customElements,K=J.get,Q=J.whenDefined;self.customElements.whenDefined=function(e){var t=this;return Q.call(this,e).then((function(n){return n||K.call(t,e)}))};}catch(e){}if(k){var X=function(e){var t=ae.get(e);ve(t.querySelectorAll(this),e.isConnected);},Y=self.customElements,Z=g.createElement,ee=Y.define,te=Y.get,ne=Y.upgrade,re=T||{construct:function(e){return e.call(this)}},oe=re.construct,ae=new S,le=new E,ie=new m,ce=new m,ue=new m,se=new m,fe=[],de=[],he=function(e){return se.get(e)||te.call(Y,e)},ve=p({query:de,handle:function(e,t,n){var r=ue.get(n);if(t&&!r.isPrototypeOf(e)){var o=L(e);we=P(e,r);try{new r.constructor;}finally{we=null,o();}}var a="".concat(t?"":"dis","connectedCallback");a in r&&e[a]();}}).parse,pe=p({query:fe,handle:function(e,t){ae.has(e)&&(t?le.add(e):le.delete(e),de.length&&X.call(de,e));}}).parse,ye=A.prototype.attachShadow;ye&&(A.prototype.attachShadow=function(e){var t=ye.call(this,e);return ae.set(this,t),t});var ge=function(e){if(!ce.has(e)){var t,n=new Promise((function(e){t=e;}));ce.set(e,{$:n,_:t});}return ce.get(e).$},me=e(ge,w),we=null;I(self).filter((function(e){return /^HTML.*Element$/.test(e)})).forEach((function(e){var t=self[e];function n(){var e=this.constructor;if(!ie.has(e))throw new C("Illegal constructor");var n=ie.get(e),r=n.is,o=n.tag;if(r){if(we)return me(we,r);var a=Z.call(g,o);return a.setAttribute("is",r),me(P(a,e.prototype),r)}return oe.call(this,t,[],e)}q(n.prototype=t.prototype,"constructor",{value:n}),q(self,e,{value:n});})),g.createElement=function(e,t){var n=t&&t.is;if(n){var r=se.get(n);if(r&&ie.get(r).tag===e)return new r}var o=Z.call(g,e);return n&&o.setAttribute("is",n),o},Y.get=he,Y.whenDefined=ge,Y.upgrade=function(e){var t=e.getAttribute("is");if(t){var n=se.get(t);if(n)return void me(P(e,n.prototype),t)}ne.call(Y,e);},Y.define=function(e,t,n){if(he(e))throw new N("'".concat(e,"' has already been defined as a custom element"));var r,o=n&&n.extends;ie.set(t,o?{is:e,tag:o}:{is:"",tag:e}),o?(r="".concat(o,'[is="').concat(e,'"]'),ue.set(r,t.prototype),se.set(e,t),de.push(r)):(ee.apply(Y,arguments),fe.push(r=e)),ge(e).then((function(){o?(ve(g.querySelectorAll(r)),le.forEach(X,[r])):pe(g.querySelectorAll(r));})),ce.get(e)._(t);};}}();
|
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: 8.0.0.
|
4
|
+
version: 8.0.0.b
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas von Deyen
|
@@ -436,16 +436,22 @@ dependencies:
|
|
436
436
|
name: view_component
|
437
437
|
requirement: !ruby/object:Gem::Requirement
|
438
438
|
requirements:
|
439
|
-
- - "
|
439
|
+
- - ">="
|
440
440
|
- !ruby/object:Gem::Version
|
441
|
-
version: '3
|
441
|
+
version: '3'
|
442
|
+
- - "<"
|
443
|
+
- !ruby/object:Gem::Version
|
444
|
+
version: '5'
|
442
445
|
type: :runtime
|
443
446
|
prerelease: false
|
444
447
|
version_requirements: !ruby/object:Gem::Requirement
|
445
448
|
requirements:
|
446
|
-
- - "
|
449
|
+
- - ">="
|
447
450
|
- !ruby/object:Gem::Version
|
448
|
-
version: '3
|
451
|
+
version: '3'
|
452
|
+
- - "<"
|
453
|
+
- !ruby/object:Gem::Version
|
454
|
+
version: '5'
|
449
455
|
- !ruby/object:Gem::Dependency
|
450
456
|
name: capybara
|
451
457
|
requirement: !ruby/object:Gem::Requirement
|
@@ -508,14 +514,14 @@ dependencies:
|
|
508
514
|
requirements:
|
509
515
|
- - "~>"
|
510
516
|
- !ruby/object:Gem::Version
|
511
|
-
version: '
|
517
|
+
version: '7.0'
|
512
518
|
type: :development
|
513
519
|
prerelease: false
|
514
520
|
version_requirements: !ruby/object:Gem::Requirement
|
515
521
|
requirements:
|
516
522
|
- - "~>"
|
517
523
|
- !ruby/object:Gem::Version
|
518
|
-
version: '
|
524
|
+
version: '7.0'
|
519
525
|
- !ruby/object:Gem::Dependency
|
520
526
|
name: rails-controller-testing
|
521
527
|
requirement: !ruby/object:Gem::Requirement
|
@@ -635,33 +641,33 @@ executables: []
|
|
635
641
|
extensions: []
|
636
642
|
extra_rdoc_files: []
|
637
643
|
files:
|
638
|
-
- CHANGELOG.md
|
639
|
-
- CODE_OF_CONDUCT.md
|
640
|
-
- CONTRIBUTING.md
|
641
|
-
- Gemfile
|
642
644
|
- LICENSE
|
643
645
|
- README.md
|
644
|
-
- Rakefile
|
645
|
-
- SECURITY.md
|
646
|
-
- alchemy_cms.gemspec
|
647
646
|
- app/assets/builds/alchemy/admin.css
|
648
647
|
- app/assets/builds/alchemy/admin/page-select.css
|
649
648
|
- app/assets/builds/alchemy/admin/print.css
|
650
|
-
- app/assets/builds/alchemy/
|
649
|
+
- app/assets/builds/alchemy/dark-theme.css
|
650
|
+
- app/assets/builds/alchemy/light-theme.css
|
651
651
|
- app/assets/builds/alchemy/preview.min.js
|
652
|
+
- app/assets/builds/alchemy/theme.css
|
652
653
|
- app/assets/builds/alchemy/welcome.css
|
654
|
+
- app/assets/builds/tinymce/skins/content/alchemy-dark/content.min.css
|
653
655
|
- app/assets/builds/tinymce/skins/content/alchemy/content.min.css
|
656
|
+
- app/assets/builds/tinymce/skins/ui/alchemy-dark/content.min.css
|
657
|
+
- app/assets/builds/tinymce/skins/ui/alchemy-dark/skin.min.css
|
654
658
|
- app/assets/builds/tinymce/skins/ui/alchemy/content.min.css
|
655
659
|
- app/assets/builds/tinymce/skins/ui/alchemy/skin.min.css
|
656
660
|
- app/assets/config/alchemy_manifest.js
|
657
661
|
- app/assets/images/alchemy/alchemy-logo.png
|
658
662
|
- app/assets/images/alchemy/alchemy-logo.svg
|
663
|
+
- app/assets/images/alchemy/element_icons/default.svg
|
659
664
|
- app/assets/images/alchemy/favicon.ico
|
660
665
|
- app/assets/images/alchemy/icon-white.svg
|
661
666
|
- app/assets/images/alchemy/icon.svg
|
662
667
|
- app/assets/images/alchemy/icons-sprite.svg
|
663
668
|
- app/assets/images/alchemy/missing-image.svg
|
664
669
|
- app/components/alchemy/admin/attachment_select.rb
|
670
|
+
- app/components/alchemy/admin/element_select.rb
|
665
671
|
- app/components/alchemy/admin/icon.rb
|
666
672
|
- app/components/alchemy/admin/link_dialog/anchor_tab.rb
|
667
673
|
- app/components/alchemy/admin/link_dialog/base_tab.rb
|
@@ -739,7 +745,6 @@ files:
|
|
739
745
|
- app/decorators/alchemy/ingredient_editor.rb
|
740
746
|
- app/helpers/alchemy/admin/attachments_helper.rb
|
741
747
|
- app/helpers/alchemy/admin/base_helper.rb
|
742
|
-
- app/helpers/alchemy/admin/elements_helper.rb
|
743
748
|
- app/helpers/alchemy/admin/form_helper.rb
|
744
749
|
- app/helpers/alchemy/admin/ingredients_helper.rb
|
745
750
|
- app/helpers/alchemy/admin/navigation_helper.rb
|
@@ -756,6 +761,7 @@ files:
|
|
756
761
|
- app/javascript/alchemy_admin/components/action.js
|
757
762
|
- app/javascript/alchemy_admin/components/alchemy_html_element.js
|
758
763
|
- app/javascript/alchemy_admin/components/attachment_select.js
|
764
|
+
- app/javascript/alchemy_admin/components/auto_submit.js
|
759
765
|
- app/javascript/alchemy_admin/components/button.js
|
760
766
|
- app/javascript/alchemy_admin/components/char_counter.js
|
761
767
|
- app/javascript/alchemy_admin/components/clipboard_button.js
|
@@ -765,6 +771,7 @@ files:
|
|
765
771
|
- app/javascript/alchemy_admin/components/element_editor.js
|
766
772
|
- app/javascript/alchemy_admin/components/element_editor/delete_element_button.js
|
767
773
|
- app/javascript/alchemy_admin/components/element_editor/publish_element_button.js
|
774
|
+
- app/javascript/alchemy_admin/components/element_select.js
|
768
775
|
- app/javascript/alchemy_admin/components/elements_window.js
|
769
776
|
- app/javascript/alchemy_admin/components/elements_window_handle.js
|
770
777
|
- app/javascript/alchemy_admin/components/growl.js
|
@@ -827,6 +834,7 @@ files:
|
|
827
834
|
- app/javascript/tinymce/icons/remixicons/index.js
|
828
835
|
- app/javascript/tinymce/plugins/alchemy_link/index.js
|
829
836
|
- app/jobs/alchemy/base_job.rb
|
837
|
+
- app/jobs/alchemy/delete_picture_job.rb
|
830
838
|
- app/jobs/alchemy/publish_page_job.rb
|
831
839
|
- app/mailers/alchemy/base_mailer.rb
|
832
840
|
- app/mailers/alchemy/messages_mailer.rb
|
@@ -907,6 +915,7 @@ files:
|
|
907
915
|
- app/models/alchemy/tag.rb
|
908
916
|
- app/models/concerns/alchemy/dom_ids.rb
|
909
917
|
- app/models/concerns/alchemy/picture_thumbnails.rb
|
918
|
+
- app/models/concerns/alchemy/relatable_resource.rb
|
910
919
|
- app/models/concerns/alchemy/touch_elements.rb
|
911
920
|
- app/serializers/alchemy/attachment_serializer.rb
|
912
921
|
- app/serializers/alchemy/base_serializer.rb
|
@@ -924,10 +933,12 @@ files:
|
|
924
933
|
- app/services/alchemy/dragonfly_to_image_processing.rb
|
925
934
|
- app/services/alchemy/duplicate_element.rb
|
926
935
|
- app/services/alchemy/tag_validations.rb
|
936
|
+
- app/stylesheets/alchemy/_custom-properties.scss
|
927
937
|
- app/stylesheets/alchemy/_defaults.scss
|
928
938
|
- app/stylesheets/alchemy/_extends.scss
|
929
939
|
- app/stylesheets/alchemy/_fonts.scss
|
930
940
|
- app/stylesheets/alchemy/_mixins.scss
|
941
|
+
- app/stylesheets/alchemy/_themes.scss
|
931
942
|
- app/stylesheets/alchemy/_variables.scss
|
932
943
|
- app/stylesheets/alchemy/admin.scss
|
933
944
|
- app/stylesheets/alchemy/admin/archive.scss
|
@@ -938,6 +949,7 @@ files:
|
|
938
949
|
- app/stylesheets/alchemy/admin/clipboard.scss
|
939
950
|
- app/stylesheets/alchemy/admin/dashboard.scss
|
940
951
|
- app/stylesheets/alchemy/admin/dialogs.scss
|
952
|
+
- app/stylesheets/alchemy/admin/element-select.scss
|
941
953
|
- app/stylesheets/alchemy/admin/elements.scss
|
942
954
|
- app/stylesheets/alchemy/admin/errors.scss
|
943
955
|
- app/stylesheets/alchemy/admin/filters.scss
|
@@ -972,10 +984,15 @@ files:
|
|
972
984
|
- app/stylesheets/alchemy/admin/toolbar.scss
|
973
985
|
- app/stylesheets/alchemy/admin/typography.scss
|
974
986
|
- app/stylesheets/alchemy/admin/upload.scss
|
975
|
-
- app/stylesheets/alchemy/
|
987
|
+
- app/stylesheets/alchemy/dark-theme.scss
|
988
|
+
- app/stylesheets/alchemy/light-theme.scss
|
989
|
+
- app/stylesheets/alchemy/theme.scss
|
976
990
|
- app/stylesheets/alchemy/welcome.scss
|
991
|
+
- app/stylesheets/tinymce/skins/content/alchemy-dark/content.scss
|
977
992
|
- app/stylesheets/tinymce/skins/content/alchemy/content.scss
|
978
993
|
- app/stylesheets/tinymce/skins/skintool.json
|
994
|
+
- app/stylesheets/tinymce/skins/ui/alchemy-dark/content.scss
|
995
|
+
- app/stylesheets/tinymce/skins/ui/alchemy-dark/skin.scss
|
979
996
|
- app/stylesheets/tinymce/skins/ui/alchemy/content.scss
|
980
997
|
- app/stylesheets/tinymce/skins/ui/alchemy/fonts/tinymce-mobile.woff
|
981
998
|
- app/stylesheets/tinymce/skins/ui/alchemy/skin.scss
|
@@ -1098,9 +1115,11 @@ files:
|
|
1098
1115
|
- app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb
|
1099
1116
|
- app/views/alchemy/admin/pictures/_form.html.erb
|
1100
1117
|
- app/views/alchemy/admin/pictures/_infos.html.erb
|
1118
|
+
- app/views/alchemy/admin/pictures/_library_sidebar.html.erb
|
1101
1119
|
- app/views/alchemy/admin/pictures/_picture.html.erb
|
1102
1120
|
- app/views/alchemy/admin/pictures/_picture_description_field.html.erb
|
1103
1121
|
- app/views/alchemy/admin/pictures/_picture_to_assign.html.erb
|
1122
|
+
- app/views/alchemy/admin/pictures/_sorting_select.html.erb
|
1104
1123
|
- app/views/alchemy/admin/pictures/_tag_list.html.erb
|
1105
1124
|
- app/views/alchemy/admin/pictures/archive_overlay.js.erb
|
1106
1125
|
- app/views/alchemy/admin/pictures/assign.js.erb
|
@@ -1115,6 +1134,7 @@ files:
|
|
1115
1134
|
- app/views/alchemy/admin/resources/_pagination.html.erb
|
1116
1135
|
- app/views/alchemy/admin/resources/_per_page_select.html.erb
|
1117
1136
|
- app/views/alchemy/admin/resources/_resource_table.html.erb
|
1137
|
+
- app/views/alchemy/admin/resources/_resource_usage_info.html.erb
|
1118
1138
|
- app/views/alchemy/admin/resources/_table_header.html.erb
|
1119
1139
|
- app/views/alchemy/admin/resources/_tag_list.html.erb
|
1120
1140
|
- app/views/alchemy/admin/resources/edit.html.erb
|
@@ -1185,15 +1205,6 @@ files:
|
|
1185
1205
|
- app/views/kaminari/alchemy/_prev_page.html.erb
|
1186
1206
|
- app/views/layouts/alchemy/admin.html.erb
|
1187
1207
|
- app/views/layouts/alchemy/sitemap.xml.erb
|
1188
|
-
- bin/importmap
|
1189
|
-
- bin/rails
|
1190
|
-
- bin/rspec
|
1191
|
-
- bin/setup
|
1192
|
-
- bin/start
|
1193
|
-
- bun.lockb
|
1194
|
-
- bundles/remixicon.mjs
|
1195
|
-
- bundles/shoelace.js
|
1196
|
-
- bundles/tinymce.js
|
1197
1208
|
- config/alchemy/config.yml
|
1198
1209
|
- config/alchemy/modules.yml
|
1199
1210
|
- config/brakeman.ignore
|
@@ -1212,7 +1223,7 @@ files:
|
|
1212
1223
|
- db/migrate/20231113104432_create_page_mutexes.rb
|
1213
1224
|
- db/migrate/20240314105244_create_alchemy_picture_descriptions.rb
|
1214
1225
|
- db/migrate/20250626160259_add_unique_index_to_picture_descriptions.rb
|
1215
|
-
-
|
1226
|
+
- db/migrate/20250905140323_add_created_at_index_to_pictures_and_attachments.rb
|
1216
1227
|
- lib/alchemy.rb
|
1217
1228
|
- lib/alchemy/ability_helper.rb
|
1218
1229
|
- lib/alchemy/admin/locale.rb
|
@@ -1237,6 +1248,7 @@ files:
|
|
1237
1248
|
- lib/alchemy/configurations/format_matchers.rb
|
1238
1249
|
- lib/alchemy/configurations/mailer.rb
|
1239
1250
|
- lib/alchemy/configurations/main.rb
|
1251
|
+
- lib/alchemy/configurations/page_cache.rb
|
1240
1252
|
- lib/alchemy/configurations/preview.rb
|
1241
1253
|
- lib/alchemy/configurations/sitemap.rb
|
1242
1254
|
- lib/alchemy/configurations/uploader.rb
|
@@ -1289,6 +1301,7 @@ files:
|
|
1289
1301
|
- lib/alchemy/test_support/having_crop_action_examples.rb
|
1290
1302
|
- lib/alchemy/test_support/having_picture_thumbnails_examples.rb
|
1291
1303
|
- lib/alchemy/test_support/integration_helpers.rb
|
1304
|
+
- lib/alchemy/test_support/relatable_resource_examples.rb
|
1292
1305
|
- lib/alchemy/test_support/rspec_matchers.rb
|
1293
1306
|
- lib/alchemy/test_support/shared_contexts.rb
|
1294
1307
|
- lib/alchemy/test_support/shared_dom_ids_examples.rb
|
@@ -1298,9 +1311,7 @@ files:
|
|
1298
1311
|
- lib/alchemy/test_support/shared_uploader_examples.rb
|
1299
1312
|
- lib/alchemy/tinymce.rb
|
1300
1313
|
- lib/alchemy/upgrader.rb
|
1301
|
-
- lib/alchemy/upgrader/.keep
|
1302
1314
|
- lib/alchemy/upgrader/eight_zero.rb
|
1303
|
-
- lib/alchemy/upgrader/tasks/.keep
|
1304
1315
|
- lib/alchemy/version.rb
|
1305
1316
|
- lib/alchemy_cms.rb
|
1306
1317
|
- lib/generators/alchemy/base.rb
|
@@ -1352,8 +1363,12 @@ files:
|
|
1352
1363
|
- lib/tasks/alchemy/tidy.rake
|
1353
1364
|
- lib/tasks/alchemy/upgrade.rake
|
1354
1365
|
- lib/tasks/alchemy/usage.rake
|
1355
|
-
- rollup.config.mjs
|
1356
1366
|
- vendor/assets/stylesheets/alchemy_admin/select2.css
|
1367
|
+
- vendor/assets/stylesheets/tinymce/skins/content/dark/content.min.css
|
1368
|
+
- vendor/assets/stylesheets/tinymce/skins/content/default/content.min.css
|
1369
|
+
- vendor/assets/stylesheets/tinymce/skins/ui/oxide-dark/content.min.css
|
1370
|
+
- vendor/assets/stylesheets/tinymce/skins/ui/oxide-dark/skin.min.css
|
1371
|
+
- vendor/assets/stylesheets/tinymce/skins/ui/oxide/skin.min.css
|
1357
1372
|
- vendor/javascript/clipboard.min.js
|
1358
1373
|
- vendor/javascript/cropperjs.min.js
|
1359
1374
|
- vendor/javascript/flatpickr.min.js
|
@@ -1366,7 +1381,6 @@ files:
|
|
1366
1381
|
- vendor/javascript/sortable.min.js
|
1367
1382
|
- vendor/javascript/tinymce.min.js
|
1368
1383
|
- vendor/javascript/ungap-custom-elements.min.js
|
1369
|
-
- vitest.config.js
|
1370
1384
|
homepage: https://alchemy-cms.com
|
1371
1385
|
licenses:
|
1372
1386
|
- BSD-3-Clause
|
@@ -1410,7 +1424,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1410
1424
|
version: '0'
|
1411
1425
|
requirements:
|
1412
1426
|
- ImageMagick (libmagick), v6.6 or greater.
|
1413
|
-
rubygems_version: 3.
|
1427
|
+
rubygems_version: 3.7.2
|
1414
1428
|
specification_version: 4
|
1415
1429
|
summary: A powerful, userfriendly and flexible CMS for Rails
|
1416
1430
|
test_files: []
|