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.

Files changed (182) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -0
  3. data/app/assets/builds/alchemy/admin/page-select.css +1 -1
  4. data/app/assets/builds/alchemy/admin.css +1 -1
  5. data/app/assets/builds/alchemy/dark-theme.css +1 -0
  6. data/app/assets/builds/alchemy/light-theme.css +1 -0
  7. data/app/assets/builds/alchemy/theme.css +1 -0
  8. data/app/assets/builds/alchemy/welcome.css +1 -1
  9. data/app/assets/builds/tinymce/skins/content/alchemy/content.min.css +1 -1
  10. data/app/assets/builds/tinymce/skins/content/alchemy-dark/content.min.css +1 -0
  11. data/app/assets/builds/tinymce/skins/ui/alchemy/skin.min.css +1 -1
  12. data/app/assets/builds/tinymce/skins/ui/alchemy-dark/content.min.css +1 -0
  13. data/app/assets/builds/tinymce/skins/ui/alchemy-dark/skin.min.css +1 -0
  14. data/app/assets/images/alchemy/element_icons/default.svg +1 -0
  15. data/app/assets/images/alchemy/icons-sprite.svg +1 -1
  16. data/app/components/alchemy/admin/element_select.rb +39 -0
  17. data/app/components/alchemy/ingredients/datetime_view.rb +4 -2
  18. data/app/controllers/alchemy/admin/attachments_controller.rb +2 -0
  19. data/app/controllers/alchemy/admin/elements_controller.rb +2 -0
  20. data/app/controllers/alchemy/admin/pages_controller.rb +2 -0
  21. data/app/controllers/alchemy/admin/pictures_controller.rb +19 -33
  22. data/app/controllers/alchemy/pages_controller.rb +19 -2
  23. data/app/controllers/concerns/alchemy/admin/resource_filter.rb +1 -0
  24. data/app/helpers/alchemy/admin/attachments_helper.rb +5 -5
  25. data/app/helpers/alchemy/pages_helper.rb +1 -1
  26. data/app/javascript/alchemy_admin/components/auto_submit.js +20 -0
  27. data/app/javascript/alchemy_admin/components/datepicker.js +8 -5
  28. data/app/javascript/alchemy_admin/components/element_editor/delete_element_button.js +3 -2
  29. data/app/javascript/alchemy_admin/components/element_editor.js +25 -15
  30. data/app/javascript/alchemy_admin/components/element_select.js +43 -0
  31. data/app/javascript/alchemy_admin/components/index.js +5 -0
  32. data/app/javascript/alchemy_admin/components/link_buttons.js +6 -2
  33. data/app/javascript/alchemy_admin/components/remote_select.js +5 -1
  34. data/app/javascript/alchemy_admin/components/tinymce.js +93 -16
  35. data/app/javascript/alchemy_admin/dialog.js +1 -1
  36. data/app/javascript/alchemy_admin/file_editors.js +1 -1
  37. data/app/javascript/alchemy_admin/image_loader.js +4 -2
  38. data/app/javascript/alchemy_admin/picture_editors.js +7 -4
  39. data/app/javascript/alchemy_admin/picture_selector.js +4 -4
  40. data/app/jobs/alchemy/delete_picture_job.rb +12 -0
  41. data/app/models/alchemy/attachment.rb +2 -9
  42. data/app/models/alchemy/element.rb +1 -0
  43. data/app/models/alchemy/element_definition.rb +30 -0
  44. data/app/models/alchemy/ingredient.rb +1 -1
  45. data/app/models/alchemy/language.rb +2 -7
  46. data/app/models/alchemy/page/page_naming.rb +4 -11
  47. data/app/models/alchemy/page/page_natures.rb +16 -11
  48. data/app/models/alchemy/page.rb +1 -6
  49. data/app/models/alchemy/page_definition.rb +1 -1
  50. data/app/models/alchemy/picture.rb +6 -17
  51. data/app/models/alchemy/site/layout.rb +1 -0
  52. data/app/models/alchemy/site.rb +1 -6
  53. data/app/models/alchemy/storage_adapter/dragonfly/picture_url.rb +7 -2
  54. data/app/models/alchemy/storage_adapter/dragonfly.rb +24 -2
  55. data/app/models/concerns/alchemy/relatable_resource.rb +28 -0
  56. data/app/stylesheets/alchemy/_custom-properties.scss +162 -0
  57. data/app/stylesheets/alchemy/_mixins.scss +12 -24
  58. data/app/stylesheets/alchemy/_themes.scss +540 -0
  59. data/app/stylesheets/alchemy/admin/archive.scss +28 -8
  60. data/app/stylesheets/alchemy/admin/attachments.scss +10 -33
  61. data/app/stylesheets/alchemy/admin/base.scss +4 -1
  62. data/app/stylesheets/alchemy/admin/buttons.scss +7 -32
  63. data/app/stylesheets/alchemy/admin/dialogs.scss +17 -7
  64. data/app/stylesheets/alchemy/admin/element-select.scss +11 -0
  65. data/app/stylesheets/alchemy/admin/elements.scss +94 -33
  66. data/app/stylesheets/alchemy/admin/filters.scss +8 -9
  67. data/app/stylesheets/alchemy/admin/flatpickr.scss +12 -27
  68. data/app/stylesheets/alchemy/admin/form_fields.scss +0 -15
  69. data/app/stylesheets/alchemy/admin/forms.scss +3 -8
  70. data/app/stylesheets/alchemy/admin/frame.scss +5 -7
  71. data/app/stylesheets/alchemy/admin/icons.scss +0 -9
  72. data/app/stylesheets/alchemy/admin/image_library.scss +13 -55
  73. data/app/stylesheets/alchemy/admin/navigation.scss +1 -11
  74. data/app/stylesheets/alchemy/admin/node-select.scss +1 -10
  75. data/app/stylesheets/alchemy/admin/notices.scss +5 -4
  76. data/app/stylesheets/alchemy/admin/page-select.scss +16 -0
  77. data/app/stylesheets/alchemy/admin/pagination.scss +1 -8
  78. data/app/stylesheets/alchemy/admin/preview_window.scss +12 -1
  79. data/app/stylesheets/alchemy/admin/resource_info.scss +106 -3
  80. data/app/stylesheets/alchemy/admin/search.scss +1 -1
  81. data/app/stylesheets/alchemy/admin/selects.scss +58 -31
  82. data/app/stylesheets/alchemy/admin/shoelace.scss +32 -62
  83. data/app/stylesheets/alchemy/admin/sitemap.scss +1 -1
  84. data/app/stylesheets/alchemy/admin/tables.scss +3 -3
  85. data/app/stylesheets/alchemy/admin/tags.scss +18 -35
  86. data/app/stylesheets/alchemy/admin/toolbar.scss +0 -6
  87. data/app/stylesheets/alchemy/admin/typography.scss +2 -5
  88. data/app/stylesheets/alchemy/admin.scss +1 -1
  89. data/app/stylesheets/alchemy/dark-theme.scss +5 -0
  90. data/app/stylesheets/alchemy/light-theme.scss +6 -0
  91. data/app/stylesheets/alchemy/theme.scss +13 -0
  92. data/app/stylesheets/tinymce/skins/content/alchemy/content.scss +8 -8
  93. data/app/stylesheets/tinymce/skins/content/alchemy-dark/content.scss +70 -0
  94. data/app/stylesheets/tinymce/skins/ui/alchemy/skin.scss +28 -43
  95. data/app/stylesheets/tinymce/skins/ui/alchemy-dark/content.scss +1 -0
  96. data/app/stylesheets/tinymce/skins/ui/alchemy-dark/skin.scss +3784 -0
  97. data/app/views/alchemy/admin/attachments/_files_list.html.erb +20 -10
  98. data/app/views/alchemy/admin/attachments/assign.js.erb +4 -3
  99. data/app/views/alchemy/admin/attachments/show.html.erb +55 -43
  100. data/app/views/alchemy/admin/crop.html.erb +1 -1
  101. data/app/views/alchemy/admin/elements/_form.html.erb +9 -9
  102. data/app/views/alchemy/admin/elements/_header.html.erb +4 -1
  103. data/app/views/alchemy/admin/ingredients/_picture_fields.html.erb +1 -1
  104. data/app/views/alchemy/admin/pages/info.html.erb +1 -1
  105. data/app/views/alchemy/admin/partials/_search_form.html.erb +1 -0
  106. data/app/views/alchemy/admin/pictures/_archive.html.erb +12 -22
  107. data/app/views/alchemy/admin/pictures/_archive_overlay.html.erb +1 -6
  108. data/app/views/alchemy/admin/pictures/_form.html.erb +1 -1
  109. data/app/views/alchemy/admin/pictures/_infos.html.erb +21 -52
  110. data/app/views/alchemy/admin/pictures/_library_sidebar.html.erb +7 -0
  111. data/app/views/alchemy/admin/pictures/_picture.html.erb +14 -20
  112. data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +20 -16
  113. data/app/views/alchemy/admin/pictures/_sorting_select.html.erb +13 -0
  114. data/app/views/alchemy/admin/pictures/_tag_list.html.erb +1 -1
  115. data/app/views/alchemy/admin/pictures/edit_multiple.html.erb +1 -6
  116. data/app/views/alchemy/admin/pictures/index.html.erb +3 -12
  117. data/app/views/alchemy/admin/pictures/show.html.erb +10 -5
  118. data/app/views/alchemy/admin/resources/_filter_bar.html.erb +5 -15
  119. data/app/views/alchemy/admin/resources/_resource_usage_info.html.erb +36 -0
  120. data/app/views/alchemy/admin/styleguide/index.html.erb +118 -66
  121. data/app/views/alchemy/base/error_notice.html.erb +1 -1
  122. data/app/views/alchemy/ingredients/_page_editor.html.erb +0 -1
  123. data/app/views/alchemy/ingredients/_richtext_editor.html.erb +0 -1
  124. data/app/views/alchemy/ingredients/_select_editor.html.erb +1 -2
  125. data/app/views/layouts/alchemy/admin.html.erb +22 -17
  126. data/config/locales/alchemy.en.yml +26 -8
  127. data/db/migrate/20250905140323_add_created_at_index_to_pictures_and_attachments.rb +14 -0
  128. data/lib/alchemy/configurations/format_matchers.rb +1 -1
  129. data/lib/alchemy/configurations/main.rb +7 -0
  130. data/lib/alchemy/configurations/page_cache.rb +19 -0
  131. data/lib/alchemy/engine.rb +16 -7
  132. data/lib/alchemy/install/tasks.rb +0 -12
  133. data/lib/alchemy/name_conversions.rb +6 -0
  134. data/lib/alchemy/tasks/tidy.rb +18 -0
  135. data/lib/alchemy/test_support/factories/picture_factory.rb +1 -0
  136. data/lib/alchemy/test_support/relatable_resource_examples.rb +58 -0
  137. data/lib/alchemy/tinymce.rb +0 -1
  138. data/lib/alchemy/version.rb +1 -1
  139. data/lib/alchemy.rb +2 -11
  140. data/lib/generators/alchemy/install/install_generator.rb +21 -10
  141. data/lib/generators/alchemy/install/templates/alchemy.rb.tt +10 -6
  142. data/lib/tasks/alchemy/tidy.rake +6 -0
  143. data/lib/tasks/alchemy/usage.rake +2 -0
  144. data/vendor/assets/stylesheets/tinymce/skins/content/dark/content.min.css +1 -0
  145. data/vendor/assets/stylesheets/tinymce/skins/content/default/content.min.css +1 -0
  146. data/vendor/assets/stylesheets/tinymce/skins/ui/oxide/skin.min.css +1 -0
  147. data/vendor/assets/stylesheets/tinymce/skins/ui/oxide-dark/content.min.css +1 -0
  148. data/vendor/assets/stylesheets/tinymce/skins/ui/oxide-dark/skin.min.css +1 -0
  149. data/vendor/javascript/clipboard.min.js +1 -1
  150. data/vendor/javascript/cropperjs.min.js +1 -1
  151. data/vendor/javascript/handlebars.min.js +3 -3
  152. data/vendor/javascript/jquery.min.js +1 -1
  153. data/vendor/javascript/select2.min.js +3 -3
  154. data/vendor/javascript/shoelace.min.js +92 -76
  155. data/vendor/javascript/sortable.min.js +2 -2
  156. data/vendor/javascript/tinymce.min.js +1 -1
  157. data/vendor/javascript/ungap-custom-elements.min.js +2 -2
  158. metadata +46 -32
  159. data/CHANGELOG.md +0 -2100
  160. data/CODE_OF_CONDUCT.md +0 -13
  161. data/CONTRIBUTING.md +0 -73
  162. data/Gemfile +0 -78
  163. data/Rakefile +0 -102
  164. data/SECURITY.md +0 -13
  165. data/alchemy_cms.gemspec +0 -97
  166. data/app/assets/builds/alchemy/custom-properties.css +0 -1
  167. data/app/helpers/alchemy/admin/elements_helper.rb +0 -25
  168. data/app/stylesheets/alchemy/custom-properties.css +0 -244
  169. data/bin/importmap +0 -4
  170. data/bin/rails +0 -9
  171. data/bin/rspec +0 -3
  172. data/bin/setup +0 -30
  173. data/bin/start +0 -17
  174. data/bun.lockb +0 -0
  175. data/bundles/remixicon.mjs +0 -153
  176. data/bundles/shoelace.js +0 -12
  177. data/bundles/tinymce.js +0 -22
  178. data/eslint.config.js +0 -18
  179. data/lib/alchemy/upgrader/.keep +0 -0
  180. data/lib/alchemy/upgrader/tasks/.keep +0 -0
  181. data/rollup.config.mjs +0 -108
  182. data/vitest.config.js +0 -21
data/CODE_OF_CONDUCT.md DELETED
@@ -1,13 +0,0 @@
1
- # Contributor Code of Conduct
2
-
3
- As contributors and maintainers of AlchemyCMS, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
4
-
5
- We are committed to making participation in AlchemyCMS a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion.
6
-
7
- Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
8
-
9
- AlchemyCMS maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. AlchemyCMS maintainers who do not follow the Code of Conduct may be removed from the AlchemyCMS team.
10
-
11
- Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the AlchemyCMS maintainers.
12
-
13
- This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
data/CONTRIBUTING.md DELETED
@@ -1,73 +0,0 @@
1
- Alchemy CMS is an open source project and we encourage contributions. Please read these
2
- contributors guidelines and our code of conduct before contributing.
3
-
4
- ## Filing an issue
5
-
6
- When filing an issue on the Alchemy CMS project, please provide these details:
7
-
8
- * A comprehensive list of steps to reproduce the issue.
9
- * What you're *expecting* to happen compared with what's *actually* happening.
10
- * The version of Alchemy *and* the version of Rails.
11
- * Your application's complete Gemfile, as text (*not as an image*)
12
- * Any relevant stack traces ("Full trace" preferred)
13
-
14
- In 99% of cases, this information is enough to determine the cause and solution
15
- to the problem that is being described.
16
-
17
- Please remember to format code using triple backticks (\`\`\`) so that it is neatly
18
- formatted when the issue is posted.
19
-
20
- ## Pull requests
21
-
22
- We gladly accept pull requests to fix bugs and, in some circumstances, add new
23
- features to Alchemy.
24
-
25
- NOTE: Please discuss new features at the public Alchemy Trello board
26
- and/or the Alchemy discussion board, before sending a pull request.
27
-
28
- Here's a quick guide:
29
-
30
- 1. Fork the repo.
31
-
32
- 2. Run the tests. We only take pull requests with passing tests, and it's great
33
- to know that you have a clean slate:
34
-
35
- $ bundle exec rake
36
-
37
- 3. Create new branch then make changes and add tests for your changes. Only
38
- refactoring and documentation changes require no new tests. If you are adding
39
- functionality or fixing a bug, we need tests!
40
-
41
- 4. Push to your fork and submit a pull request. If the changes will apply cleanly
42
- to the latest stable branches and main branch, you will only need to submit one
43
- pull request.
44
-
45
- 5. If a PR does not apply cleanly to one of its targeted branches, then a separate
46
- PR should be created that does. For instance, if a PR applied to main & 2.7-stable but not 2.8-stable, then there should be one PR for main & 2.7-stable and another, separate PR for 2.8-stable.
47
-
48
- At this point you're waiting on us. We like to at least comment on, if not
49
- accept pull requests. We may suggest some changes or improvements or alternatives.
50
-
51
- Some things that will increase the chance that your pull request is accepted,
52
- taken straight from the Ruby on Rails guide:
53
-
54
- * Use Rails idioms and helpers
55
- * Include tests that fail without your code, and pass with it
56
- * Update the documentation, the surrounding one, examples elsewhere, guides,
57
- whatever is affected by your contribution
58
-
59
- Please follow these syntax guides:
60
-
61
- * Two spaces, no tabs.
62
- * No trailing whitespace. Blank lines should not have any space.
63
- * Add a new line at the end of every file.
64
- * Prefer `&&`/`||` over `and`/`or`.
65
- * `MyClass.my_method(my_arg)` not `my_method( my_arg )` or `my_method my_arg`.
66
- * `a = b` and not `a=b`.
67
- * `a_method { |block| ... }` and not `a_method { | block | ... }`
68
- * Follow the conventions you see used in the source already.
69
- * `->` symbol over lambda
70
- * This `{a: 'b'}` is a hash, this `{ a + b }` is a block.
71
- * Ruby 1.9 hash syntax over Ruby 1.8 hash syntax
72
-
73
- And in case we didn't emphasize it enough: we love tests!
data/Gemfile DELETED
@@ -1,78 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source "https://rubygems.org"
4
-
5
- gemspec
6
-
7
- rails_version = ENV.fetch("RAILS_VERSION", "8.0")
8
- gem "rails", "~> #{rails_version}.0"
9
-
10
- if ENV["DB"].nil? || ENV["DB"] == "sqlite"
11
- gem "sqlite3", (rails_version == "7.0") ? "~> 1.7" : "~> 2.0"
12
- end
13
- if ENV["DB"] == "mysql" || ENV["DB"] == "mariadb"
14
- gem "mysql2", "~> 0.5.1"
15
- end
16
- gem "pg", "~> 1.0" if ENV["DB"] == "postgresql"
17
-
18
- gem "alchemy_i18n", github: "AlchemyCMS/alchemy_i18n", branch: "main"
19
-
20
- if ENV["ALCHEMY_STORAGE_ADAPTER"] == "active_storage"
21
- gem "ruby-vips"
22
- end
23
-
24
- group :development, :test do
25
- gem "execjs", "~> 2.10.0"
26
- gem "rubocop", require: false
27
- gem "standard", "~> 1.25", require: false
28
-
29
- # Still need Sprockets for tests
30
- gem "sprockets", "~> 4.2", ">= 4.2.1", require: false
31
-
32
- if ENV["GITHUB_ACTIONS"]
33
- gem "simplecov-cobertura", "~> 2.1"
34
-
35
- # https://github.com/hotwired/turbo-rails/issues/512
36
- if rails_version == "7.1"
37
- gem "actioncable", "~> #{rails_version}.0"
38
- end
39
-
40
- # concurrent-ruby v1.3.5 has removed the dependency on logger,
41
- # effecting Rails 6.1 up to including 7.0.
42
- # https://github.com/rails/rails/pull/54264
43
- if ("6.1".to_f.."7.0".to_f).cover?(rails_version.to_f)
44
- gem "concurrent-ruby", "< 1.3.5"
45
- end
46
- else
47
- gem "launchy"
48
- gem "annotate"
49
- gem "bumpy"
50
- gem "yard"
51
- gem "redcarpet"
52
- gem "debug"
53
- gem "listen"
54
- gem "localeapp", "~> 3.0", require: false
55
- gem "dotenv", "~> 3.0"
56
- gem "github_fast_changelog", require: false
57
- gem "active_record_query_trace", require: false
58
- gem "rack-mini-profiler", require: false
59
- gem "brakeman", require: false
60
- end
61
- end
62
-
63
- # Ruby 3.1 split out the net-smtp gem
64
- # Necessary until https://github.com/mikel/mail/pull/1439
65
- # got merged and released.
66
- if Gem.ruby_version >= Gem::Version.new("3.1.0")
67
- gem "net-smtp", "~> 0.5.1", require: false
68
- end
69
-
70
- gem "web-console", "~> 4.2", group: :development
71
-
72
- gem "rails_live_reload", "~> 0.5.0"
73
-
74
- gem "dartsass-rails", "~> 0.5.0"
75
-
76
- gem "propshaft", "~> 1.0"
77
-
78
- gem "gem-release", "~> 2.2"
data/Rakefile DELETED
@@ -1,102 +0,0 @@
1
- begin
2
- require "bundler/setup"
3
- rescue LoadError
4
- puts "You must `gem install bundler` and `bundle install` to run rake tasks"
5
- end
6
-
7
- begin
8
- require "rdoc/task"
9
- rescue LoadError
10
- require "rdoc/rdoc"
11
- require "rake/rdoctask"
12
- RDoc::Task = Rake::RDocTask
13
- end
14
-
15
- desc "Generate documentation for Alchemy CMS."
16
- RDoc::Task.new(:rdoc) do |rdoc|
17
- rdoc.rdoc_dir = "rdoc"
18
- rdoc.title = "Alchemy CMS"
19
- rdoc.options << "--line-numbers" << "--inline-source"
20
- rdoc.rdoc_files.include("README.md")
21
- rdoc.rdoc_files.include("config/alchemy/*.yml")
22
- rdoc.rdoc_files.include("lib/**/*.rb")
23
- rdoc.rdoc_files.include("app/**/*.rb")
24
- end
25
-
26
- APP_RAKEFILE = File.expand_path("spec/dummy/Rakefile", __dir__)
27
- load "rails/tasks/engine.rake"
28
-
29
- require "rspec/core"
30
- require "rspec/core/rake_task"
31
-
32
- RSpec::Core::RakeTask.new(:spec)
33
-
34
- task default: ["alchemy:spec:prepare", :spec]
35
-
36
- Bundler::GemHelper.install_tasks
37
-
38
- namespace :alchemy do
39
- namespace :spec do
40
- desc "Prepares database for testing Alchemy"
41
- task :prepare do
42
- system(
43
- <<~BASH
44
- cd spec/dummy && \
45
- export RAILS_ENV=test && \
46
- bin/rake db:create && \
47
- bin/rake db:environment:set && \
48
- bin/rake db:migrate:reset && \
49
- bin/rails g alchemy:install --skip --skip-demo-files --auto-accept --skip-db-create && \
50
- bin/rails dartsass:build && \
51
- cd -
52
- BASH
53
- ) || fail
54
- end
55
- end
56
-
57
- namespace :changelog do
58
- desc "Update CHANGELOG from GitHub (Set GITHUB_ACCESS_TOKEN and PREVIOUS_VERSION to a version you want to write changelog changes for)"
59
- task :update do
60
- original_file = "./CHANGELOG.md"
61
- new_file = original_file + ".new"
62
- backup = original_file + ".old"
63
- changes = `git rev-list v#{ENV["PREVIOUS_VERSION"]}..HEAD | bundle exec github_fast_changelog AlchemyCMS/alchemy_cms`.split("\n")
64
- changelog = File.read(original_file)
65
- File.open(new_file, "w") do |file|
66
- file.puts "# Changelog"
67
- file.puts ""
68
- file.puts "## Unreleased"
69
- file.puts ""
70
- changes.each do |change|
71
- next if changelog.include?(change)
72
- file.puts change
73
- end
74
- File.foreach(original_file) do |line|
75
- next if line.include?("# Changelog")
76
- file.puts line
77
- end
78
- file.puts ""
79
- end
80
- File.rename(original_file, backup)
81
- File.rename(new_file, original_file)
82
- File.delete(backup)
83
- end
84
- end
85
-
86
- desc "Release a new version of Alchemy to rubygems.org"
87
- task :release do
88
- require_relative "lib/alchemy/version"
89
- ENV["PREVIOUS_VERSION"] = Alchemy::VERSION
90
- system("bundle exec gem bump --version #{ENV.fetch("VERSION", "patch")}")
91
- load "./lib/alchemy/version.rb"
92
- new_version = Alchemy::VERSION
93
- Rake::Task["alchemy:changelog:update"].invoke
94
- changelog = File.read("CHANGELOG.md").gsub(/(##) Unreleased/, "## #{new_version} (#{Time.now.strftime("%Y-%m-%d")})")
95
- File.open("CHANGELOG.md", "w") { |file| file.puts changelog }
96
- system("git add CHANGELOG.md")
97
- system("git commit --amend --no-edit")
98
- system("gem tag")
99
- Rake::Task["release"].invoke
100
- system("git push --follow-tags")
101
- end
102
- end
data/SECURITY.md DELETED
@@ -1,13 +0,0 @@
1
- # Security Policy
2
-
3
- ## Supported Versions
4
-
5
- We support the current major and last minor version of the previous major version with security fixes.
6
-
7
- ## Reporting a Vulnerability
8
-
9
- Please send a preferably encrypted email to alchemy@blish.cloud
10
-
11
- PGP public key finger print
12
-
13
- 52D3 2070 4BF3 E5C5 035C  BC71 17E9 E620 A96B 4CE0
data/alchemy_cms.gemspec DELETED
@@ -1,97 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- lib = File.expand_path("lib", __dir__)
4
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require "alchemy/version"
6
-
7
- Gem::Specification.new do |gem|
8
- gem.name = "alchemy_cms"
9
- gem.version = Alchemy::VERSION
10
- gem.platform = Gem::Platform::RUBY
11
- gem.authors = ["Thomas von Deyen", "Robin Boening", "Marc Schettke", "Hendrik Mans", "Carsten Fregin", "Martin Meyerhoff"]
12
- gem.email = ["alchemy@blish.cloud"]
13
- gem.homepage = "https://alchemy-cms.com"
14
- gem.summary = "A powerful, userfriendly and flexible CMS for Rails"
15
- gem.description = "Alchemy is a powerful, userfriendly and flexible Rails CMS."
16
- gem.requirements << "ImageMagick (libmagick), v6.6 or greater."
17
- gem.required_ruby_version = ">= 3.1.0"
18
- gem.license = "BSD-3-Clause"
19
- gem.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^spec/|bun\.lockdb|package\.json|^\.}) }
20
- gem.require_paths = ["lib"]
21
-
22
- gem.metadata["homepage_uri"] = gem.homepage
23
- gem.metadata["source_code_uri"] = "https://github.com/AlchemyCMS/alchemy_cms"
24
- gem.metadata["changelog_uri"] = "https://github.com/AlchemyCMS/alchemy_cms/blob/main/CHANGELOG.md"
25
-
26
- %w[
27
- actionmailer
28
- actionpack
29
- actionview
30
- activejob
31
- activemodel
32
- activerecord
33
- activestorage
34
- activesupport
35
- railties
36
- ].each do |rails_gem|
37
- gem.add_runtime_dependency rails_gem, [">= 7.1", "< 8.1"]
38
- end
39
-
40
- gem.add_runtime_dependency "active_model_serializers", ["~> 0.10.14"]
41
- gem.add_runtime_dependency "acts_as_list", [">= 0.3", "< 2"]
42
- gem.add_runtime_dependency "awesome_nested_set", ["~> 3.1", ">= 3.7.0"]
43
- gem.add_runtime_dependency "cancancan", [">= 2.1", "< 4.0"]
44
- gem.add_runtime_dependency "csv", ["~> 3.3"]
45
- gem.add_runtime_dependency "dragonfly", ["~> 1.4"]
46
- gem.add_runtime_dependency "gutentag", ["~> 2.2", ">= 2.2.1"]
47
- gem.add_runtime_dependency "image_processing", ["~> 1.14"]
48
- gem.add_runtime_dependency "importmap-rails", ["~> 2.0"]
49
- gem.add_runtime_dependency "kaminari", ["~> 1.1"]
50
- gem.add_runtime_dependency "originator", ["~> 3.1"]
51
- gem.add_runtime_dependency "ransack", [">= 1.8", "< 5.0"]
52
- gem.add_runtime_dependency "simple_form", [">= 4.0", "< 6"]
53
- gem.add_runtime_dependency "turbo-rails", [">= 1.4", "< 2.1"]
54
- gem.add_runtime_dependency "view_component", ["~> 3.0"]
55
-
56
- gem.add_development_dependency "capybara", ["~> 3.0"]
57
- gem.add_development_dependency "capybara-screenshot", ["~> 1.0"]
58
- gem.add_development_dependency "capybara-shadowdom", ["~> 0.3"]
59
- gem.add_development_dependency "factory_bot_rails", ["~> 6.0"]
60
- gem.add_development_dependency "puma", ["~> 6.0"]
61
- gem.add_development_dependency "rails-controller-testing", ["~> 1.0"]
62
- gem.add_development_dependency "rspec-activemodel-mocks", ["~> 1.0"]
63
- case ENV.fetch("RAILS_VERSION", "8.0")
64
- when "7.1"
65
- gem.add_development_dependency "rspec-rails", ["~> 7.1"]
66
- else
67
- gem.add_development_dependency "rspec-rails", ["~> 8.0"]
68
- end
69
- gem.add_development_dependency "simplecov", ["~> 0.20"]
70
- gem.add_development_dependency "selenium-webdriver", ["~> 4.10"]
71
- gem.add_development_dependency "webmock", ["~> 3.3"]
72
- gem.add_development_dependency "shoulda-matchers", ["~> 6.0"]
73
- gem.add_development_dependency "timecop", ["~> 0.9"]
74
-
75
- gem.post_install_message = <<~MSG
76
- -------------------------------------------------------------
77
- Thank you for installing Alchemy CMS
78
- -------------------------------------------------------------
79
-
80
- - Complete the installation in an existing Rails application:
81
-
82
- $ bin/rake alchemy:install
83
-
84
- - Complete the upgrade of an existing Alchemy installation:
85
-
86
- $ bin/rake alchemy:upgrade
87
-
88
- and follow the onscreen instructions.
89
-
90
- Need help? Try:
91
-
92
- * https://stackoverflow.com/questions/tagged/alchemy-cms
93
- * https://slackin.alchemy-cms.com
94
- -------------------------------------------------------------
95
-
96
- MSG
97
- end
@@ -1 +0,0 @@
1
- :root{--spacing-0: 2px;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-7: 28px;--spacing-8: 32px;--font-mono: Menlo, Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace;--font-sans: "Open Sans", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Verdana, Tahoma, sans-serif;--font-size_small: 10px;--font-size_medium: 12px;--font-size_large: 16px;--font-weight_normal: 500;--font-weight_bold: 700;--font-default: var(--font-size_medium) var(--font-sans);--body-background-color: var(--color-grey_very_light);--border-radius_medium: 3px;--border-width_small: 1px;--border-style: solid;--border-color: hsla(0deg, 0%, 69%, 0.5);--border-inset-color: hsla(0deg, 0%, 79%, 0.5);--border-default: var(--border-width_small) var(--border-style) var(--border-color);--button-bg-color: var(--color-white);--button-border-color: var(--border-color);--button-box-shadow: 0 1px 1px -1px hsl(0deg, 0%, 20%);--button-focus-border-color: var(--color-orange_dark);--button-focus-box-shadow: 0 1px 1px 0 var(--button-focus-border-color);--button-hover-bg-color: transparent;--button-hover-border-color: hsla(0deg, 0%, 59%, 0.5);--button-text-color: var(--text-color);--button-text-shadow: none;--button-secondary-bg-color: transparent;--button-secondary-border-color: var(--border-color);--button-secondary-text-color: var(--text-color);--color-blue_very_light: hsl(203deg, 32%, 97%);--color-blue_light: hsl(203deg, 32%, 85%);--color-blue_medium: hsl(212deg, 52%, 36%);--color-blue_dark: hsl(212deg, 52%, 26%);--color-green_very_light: hsl(88deg, 47%, 88%);--color-green_light: hsl(127deg, 25%, 69%);--color-green_medium: hsl(127deg, 25%, 48%);--color-green_dark: hsl(128deg, 32%, 26%);--color-yellow_light: hsl(60deg, 81%, 92%);--color-yellow_medium: hsl(56deg, 68%, 85%);--color-yellow_dark: hsl(56deg, 53%, 29%);--color-orange_medium: hsl(42deg, 100%, 74%);--color-orange_dark: hsl(28deg, 77%, 68%);--color-orange_very_dark: hsl(28deg, 77%, 48%);--color-red_very_light: hsl(0deg, 47%, 88%);--color-red_light: hsl(0deg, 25%, 69%);--color-red_medium: hsl(0deg, 51%, 42%);--color-red_dark: hsl(0deg, 51%, 25%);--color-grey_very_light: hsl(0deg, 0%, 97%);--color-grey_light: hsl(0deg, 0%, 94%);--color-grey_medium: hsl(0deg, 0%, 78%);--color-grey_dark: hsl(0deg, 0%, 40%);--color-grey_very_dark: hsl(0deg, 0%, 20%);--color-white: hsl(0deg, 0%, 100%);--datepicker-bg-color: var(--color-white);--datepicker-box-shadow: 1px 0 0 var(--color-grey_light), -1px 0 0 var(--color-grey_light), 0 1px 0 var(--color-grey_light), 0 -1px 0 var(--color-grey_light), 0 3px 13px rgba(0, 0, 0, 0.08);--datepicker-text-color: var(--text-color);--datepicker-text-hover-color: var(--color-orange_dark);--datepicker-day-hover-bg: var(--color-grey_light);--datepicker-today-border-color: var(--color-grey_dark);--datepicker-today-hover-bg-color: var(--color-grey_dark);--datepicker-today-hover-text-color: var(--color-white);--datepicker-selected-bg-color: var(--color-blue_medium);--datepicker-selected-text-color: var(--color-white);--dialog-header-color: var(--color-blue_dark);--dialog-header-text-color: var(--color-white);--dialog-box-shadow: 0 var(--spacing-2) var(--spacing-4) hsla(0deg, 0%, 14%, 0.5);--dialog-overlay-color: hsla(0deg, 0%, 39%, 0.4);--dialog-background-color: var(--color-grey_very_light);--element-header-bg-color: transparent;--element-header-active-bg-color: var(--color-blue_dark);--element-header-active-color: var(--color-white);--element-header-deprecated-bg-color: hsla(29deg, 95%, 84%, 0.25);--element-deprecated-border-color: hsl(29deg, 95%, 84%);--focus-color: hsla(28deg, 77%, 68%, 0.75);--form-field-background-color: var(--color-white);--form-field-border-color: var(--border-color) var(--border-color) var(--border-inset-color) var(--border-inset-color);--form-field-box-shadow: inset 0 0 1px var(--color-grey_light);--form-field-text-color: var(--text-color);--form-field-disabled-text-color: hsl(0deg, 0%, 53%);--form-field-disabled-bg-color: hsla(0deg, 0%, 100%, 0.5);--form-field-error-bg-color: hsl(0deg, 47%, 96%);--form-field-error-box-shadow: inset 0 0 1px hsla(0deg, 25%, 69%, 0.5);--header-background: hsl(0deg, 0%, 85%);--hint-background-color: var(--color-yellow_light);--hint-text-color: hsl(49deg, 18%, 30%);--icon-button-linked-color: hsla(42deg, 100%, 74%, 0.75);--icon-button-linked-hover-color: hsla(42deg, 100%, 64%, 0.75);--icon-button-linked-border-color: hsl(42deg, 100%, 64%);--icon-button-linked-hover-border-color: hsl(42deg, 100%, 54%);--icon-color: hsla(224deg, 23%, 26%, 0.75);--main-menu-bg-color: var(--color-blue_dark);--main-menu-active-bg-color: var(--color-orange_dark);--main-menu-active-text-color: var(--color-blue_dark);--main-menu-text-color: var(--color-white);--main-menu-icon-color: var(--color-white);--notice-success-background-color: hsl(88deg, 47%, 88%);--notice-success-border-color: hsl(127deg, 25%, 69%);--notice-success-text-color: hsl(128deg, 32%, 26%);--notice-info-background-color: hsl(215deg, 63%, 87%);--notice-info-border-color: hsl(222deg, 25%, 61%);--notice-info-text-color: hsl(225deg, 53%, 29%);--notice-warning-background-color: hsl(56deg, 68%, 85%);--notice-warning-border-color: hsl(55deg, 25%, 69%);--notice-warning-text-color: hsl(56deg, 53%, 29%);--notice-error-background-color: hsl(0deg, 47%, 88%);--notice-error-border-color: hsl(0deg, 25%, 69%);--notice-error-text-color: hsl(0deg, 51%, 42%);--pagination-background-color: var(--color-grey_very_light);--select-hover-bg-color: var(--color-blue_dark);--select-hover-text-color: var(--color-white);--sidebar-width: 232px;--sitemap-page-background-color: hsla(0deg, 0%, 100%, 0.75);--sitemap-page-hover-color: hsla(60deg, 81%, 92%, 0.5);--sitemap-info-background-color: hsla(0deg, 0%, 100%, 0.5);--sitemap-highlight-color: hsla(57deg, 100%, 82%, 0.5);--table-row-even-background-color: var(--color-white);--table-row-odd-background-color: hsla(0deg, 0%, 100%, 0.5);--table-row-hover-color: hsla(60deg, 81%, 92%, 0.5);--text-color: hsla(224deg, 23%, 26%, 0.8);--text-color-muted: hsla(224deg, 23%, 26%, 0.5);--text-link-color: var(--color-orange_very_dark);--text-shadow-light: 0 0 var(--spacing-1) hsla(0deg, 0%, 100%, 0.5);--thumbnail-background: linear-gradient( 45deg, var(--color-grey_light) 25%, transparent 25% ) 0.5em 0.5em/1em 1em, linear-gradient(-45deg, var(--color-grey_light) 25%, transparent 25%) -0.5em 0/1em 1em, linear-gradient(45deg, transparent 75%, var(--color-grey_light) 75%) 0 0/1em 1em, linear-gradient(-45deg, transparent 75%, var(--color-grey_light) 75%) 0 0.5em/1em 1em var(--color-grey_medium);--toolbar-bg-color: var(--color-grey_light);--tooltip-background-color: var(--color-blue_dark);--transition-duration: 250ms;--transition-easing: linear;--tabs_indicator-color: var(--color-orange_dark);--tabs_track-color: var(--color-grey_light);--sl-input-label-color: var(--text-color);--file-upload-failed-text-color: var(--color-red_medium);--file-upload-text-color: var(--text-color);--file-upload_background-color: hsla(0deg, 0%, 80%, 0.8);--file-upload_single-upload-background-color: var(--color-grey_light);--file-upload_progress-track-color: var(--color-blue_very_light);--file-upload_progress-indicator-color: var(--color-blue_dark);--file-upload_progress-indicator-color-canceled: hsla(0deg, 0%, 60%, 0.8);--file-upload_progress-indicator-color-failed: var(--color-red_medium);--file-upload_progress-indicator-color-invalid: var(--color-red_medium);--file-upload_progress-indicator-color-successful: var(--color-green_medium);--file-upload_progress-indicator-color-upload-finished: var( --color-blue_dark )}.alchemy-light{color-scheme:light}
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Alchemy
4
- module Admin
5
- module ElementsHelper
6
- include Alchemy::Admin::IngredientsHelper
7
-
8
- # Returns an elements array for select helper.
9
- #
10
- # @param [Array] elements definitions
11
- # @return [Array]
12
- #
13
- def elements_for_select(elements)
14
- return [] if elements.nil?
15
-
16
- elements.map do |e|
17
- [
18
- Element.display_name_for(e.name),
19
- e.name
20
- ]
21
- end.tap(&:sort!)
22
- end
23
- end
24
- end
25
- end
@@ -1,244 +0,0 @@
1
- :root {
2
- /* Sizes */
3
- --spacing-0: 2px;
4
- --spacing-1: 4px;
5
- --spacing-2: 8px;
6
- --spacing-3: 12px;
7
- --spacing-4: 16px;
8
- --spacing-5: 20px;
9
- --spacing-6: 24px;
10
- --spacing-7: 28px;
11
- --spacing-8: 32px;
12
-
13
- /* Font Families */
14
- --font-mono: Menlo, Monaco, "Bitstream Vera Sans Mono", "Lucida Console",
15
- Terminal, monospace;
16
- --font-sans: "Open Sans", "Lucida Grande", "Lucida Sans Unicode",
17
- "Lucida Sans", Verdana, Tahoma, sans-serif;
18
-
19
- /* Font Size - at the moment only in Pixel, because the base font size is 12px */
20
- --font-size_small: 10px; /* 0.875rem */
21
- --font-size_medium: 12px; /* 1rem */
22
- --font-size_large: 16px; /* 1.25 rem */
23
-
24
- --font-weight_normal: 500;
25
- --font-weight_bold: 700;
26
-
27
- --font-default: var(--font-size_medium) var(--font-sans);
28
-
29
- --body-background-color: var(--color-grey_very_light);
30
-
31
- /* Borders */
32
- --border-radius_medium: 3px;
33
- --border-width_small: 1px;
34
- --border-style: solid;
35
- --border-color: hsla(0deg, 0%, 69%, 0.5);
36
- --border-inset-color: hsla(0deg, 0%, 79%, 0.5);
37
- --border-default: var(--border-width_small) var(--border-style)
38
- var(--border-color);
39
-
40
- /* Buttons */
41
- --button-bg-color: var(--color-white);
42
- --button-border-color: var(--border-color);
43
- --button-box-shadow: 0 1px 1px -1px hsl(0deg, 0%, 20%);
44
- --button-focus-border-color: var(--color-orange_dark);
45
- --button-focus-box-shadow: 0 1px 1px 0 var(--button-focus-border-color);
46
- --button-hover-bg-color: transparent;
47
- --button-hover-border-color: hsla(0deg, 0%, 59%, 0.5);
48
- --button-text-color: var(--text-color);
49
- --button-text-shadow: none;
50
- --button-secondary-bg-color: transparent;
51
- --button-secondary-border-color: var(--border-color);
52
- --button-secondary-text-color: var(--text-color);
53
-
54
- /* Colors */
55
- --color-blue_very_light: hsl(203deg, 32%, 97%);
56
- --color-blue_light: hsl(203deg, 32%, 85%);
57
- --color-blue_medium: hsl(212deg, 52%, 36%);
58
- --color-blue_dark: hsl(212deg, 52%, 26%);
59
-
60
- --color-green_very_light: hsl(88deg, 47%, 88%);
61
- --color-green_light: hsl(127deg, 25%, 69%);
62
- --color-green_medium: hsl(127deg, 25%, 48%);
63
- --color-green_dark: hsl(128deg, 32%, 26%);
64
-
65
- --color-yellow_light: hsl(60deg, 81%, 92%);
66
- --color-yellow_medium: hsl(56deg, 68%, 85%);
67
- --color-yellow_dark: hsl(56deg, 53%, 29%);
68
-
69
- --color-orange_medium: hsl(42deg, 100%, 74%);
70
- --color-orange_dark: hsl(28deg, 77%, 68%);
71
- --color-orange_very_dark: hsl(28deg, 77%, 48%);
72
-
73
- --color-red_very_light: hsl(0deg, 47%, 88%);
74
- --color-red_light: hsl(0deg, 25%, 69%);
75
- --color-red_medium: hsl(0deg, 51%, 42%);
76
- --color-red_dark: hsl(0deg, 51%, 25%);
77
-
78
- --color-grey_very_light: hsl(0deg, 0%, 97%);
79
- --color-grey_light: hsl(0deg, 0%, 94%);
80
- --color-grey_medium: hsl(0deg, 0%, 78%);
81
- --color-grey_dark: hsl(0deg, 0%, 40%);
82
- --color-grey_very_dark: hsl(0deg, 0%, 20%);
83
-
84
- --color-white: hsl(0deg, 0%, 100%);
85
-
86
- /* Datepicker */
87
- --datepicker-bg-color: var(--color-white);
88
- --datepicker-box-shadow: 1px 0 0 var(--color-grey_light),
89
- -1px 0 0 var(--color-grey_light), 0 1px 0 var(--color-grey_light),
90
- 0 -1px 0 var(--color-grey_light), 0 3px 13px rgba(0, 0, 0, 0.08);
91
- --datepicker-text-color: var(--text-color);
92
- --datepicker-text-hover-color: var(--color-orange_dark);
93
- --datepicker-day-hover-bg: var(--color-grey_light);
94
- --datepicker-today-border-color: var(--color-grey_dark);
95
- --datepicker-today-hover-bg-color: var(--color-grey_dark);
96
- --datepicker-today-hover-text-color: var(--color-white);
97
- --datepicker-selected-bg-color: var(--color-blue_medium);
98
- --datepicker-selected-text-color: var(--color-white);
99
-
100
- /* Dialogs */
101
- --dialog-header-color: var(--color-blue_dark);
102
- --dialog-header-text-color: var(--color-white);
103
- --dialog-box-shadow: 0 var(--spacing-2) var(--spacing-4)
104
- hsla(0deg, 0%, 14%, 0.5);
105
- --dialog-overlay-color: hsla(0deg, 0%, 39%, 0.4);
106
- --dialog-background-color: var(--color-grey_very_light);
107
-
108
- /* Elements */
109
- --element-header-bg-color: transparent;
110
- --element-header-active-bg-color: var(--color-blue_dark);
111
- --element-header-active-color: var(--color-white);
112
- --element-header-deprecated-bg-color: hsla(29deg, 95%, 84%, 0.25);
113
- --element-deprecated-border-color: hsl(29deg, 95%, 84%);
114
-
115
- /* Focus Status */
116
- --focus-color: hsla(28deg, 77%, 68%, 0.75);
117
-
118
- /* Form Fields */
119
- --form-field-background-color: var(--color-white);
120
- --form-field-border-color: var(--border-color) var(--border-color)
121
- var(--border-inset-color) var(--border-inset-color);
122
- --form-field-box-shadow: inset 0 0 1px var(--color-grey_light);
123
- --form-field-text-color: var(--text-color);
124
- --form-field-disabled-text-color: hsl(0deg, 0%, 53%);
125
- --form-field-disabled-bg-color: hsla(0deg, 0%, 100%, 0.5);
126
- --form-field-error-bg-color: hsl(0deg, 47%, 96%);
127
- --form-field-error-box-shadow: inset 0 0 1px hsla(0deg, 25%, 69%, 0.5);
128
-
129
- /* Header */
130
- --header-background: hsl(0deg, 0%, 85%);
131
-
132
- /* Hints */
133
- --hint-background-color: var(--color-yellow_light);
134
- --hint-text-color: hsl(49deg, 18%, 30%);
135
-
136
- /* Icon Buttons */
137
- --icon-button-linked-color: hsla(42deg, 100%, 74%, 0.75);
138
- --icon-button-linked-hover-color: hsla(42deg, 100%, 64%, 0.75);
139
- --icon-button-linked-border-color: hsl(42deg, 100%, 64%);
140
- --icon-button-linked-hover-border-color: hsl(42deg, 100%, 54%);
141
-
142
- /* Icons */
143
- --icon-color: hsla(224deg, 23%, 26%, 0.75);
144
-
145
- /* Main Menu */
146
- --main-menu-bg-color: var(--color-blue_dark);
147
- --main-menu-active-bg-color: var(--color-orange_dark);
148
- --main-menu-active-text-color: var(--color-blue_dark);
149
- --main-menu-text-color: var(--color-white);
150
- --main-menu-icon-color: var(--color-white);
151
-
152
- /* Notices */
153
- --notice-success-background-color: hsl(88deg, 47%, 88%);
154
- --notice-success-border-color: hsl(127deg, 25%, 69%);
155
- --notice-success-text-color: hsl(128deg, 32%, 26%);
156
-
157
- --notice-info-background-color: hsl(215deg, 63%, 87%);
158
- --notice-info-border-color: hsl(222deg, 25%, 61%);
159
- --notice-info-text-color: hsl(225deg, 53%, 29%);
160
-
161
- --notice-warning-background-color: hsl(56deg, 68%, 85%);
162
- --notice-warning-border-color: hsl(55deg, 25%, 69%);
163
- --notice-warning-text-color: hsl(56deg, 53%, 29%);
164
-
165
- --notice-error-background-color: hsl(0deg, 47%, 88%);
166
- --notice-error-border-color: hsl(0deg, 25%, 69%);
167
- --notice-error-text-color: hsl(0deg, 51%, 42%);
168
-
169
- /* Pagination */
170
- --pagination-background-color: var(--color-grey_very_light);
171
-
172
- /* Selects */
173
- --select-hover-bg-color: var(--color-blue_dark);
174
- --select-hover-text-color: var(--color-white);
175
-
176
-
177
- /* Sidebar */
178
- --sidebar-width: 232px;
179
-
180
- /* Sitemap */
181
- --sitemap-page-background-color: hsla(0deg, 0%, 100%, 0.75);
182
- --sitemap-page-hover-color: hsla(60deg, 81%, 92%, 0.5);
183
- --sitemap-info-background-color: hsla(0deg, 0%, 100%, 0.5);
184
- --sitemap-highlight-color: hsla(57deg, 100%, 82%, 0.5);
185
-
186
- /* Tables */
187
- --table-row-even-background-color: var(--color-white);
188
- --table-row-odd-background-color: hsla(0deg, 0%, 100%, 0.5);
189
- --table-row-hover-color: hsla(60deg, 81%, 92%, 0.5);
190
-
191
- /* Text */
192
- --text-color: hsla(224deg, 23%, 26%, 0.8);
193
- --text-color-muted: hsla(224deg, 23%, 26%, 0.5);
194
- --text-link-color: var(--color-orange_very_dark);
195
- --text-shadow-light: 0 0 var(--spacing-1) hsla(0deg, 0%, 100%, 0.5);
196
-
197
- /* Thumbnails */
198
- --thumbnail-background: linear-gradient(
199
- 45deg,
200
- var(--color-grey_light) 25%,
201
- transparent 25%
202
- )
203
- 0.5em 0.5em/1em 1em,
204
- linear-gradient(-45deg, var(--color-grey_light) 25%, transparent 25%) -0.5em
205
- 0/1em 1em,
206
- linear-gradient(45deg, transparent 75%, var(--color-grey_light) 75%) 0 0/1em
207
- 1em,
208
- linear-gradient(-45deg, transparent 75%, var(--color-grey_light) 75%) 0
209
- 0.5em/1em 1em var(--color-grey_medium);
210
-
211
- /* Toolbar */
212
- --toolbar-bg-color: var(--color-grey_light);
213
-
214
- /* Tooltips */
215
- --tooltip-background-color: var(--color-blue_dark);
216
-
217
- /* Transitions */
218
- --transition-duration: 250ms;
219
- --transition-easing: linear;
220
-
221
- /* Shoelace */
222
- --tabs_indicator-color: var(--color-orange_dark);
223
- --tabs_track-color: var(--color-grey_light);
224
- --sl-input-label-color: var(--text-color);
225
-
226
- /* File Upload */
227
- --file-upload-failed-text-color: var(--color-red_medium);
228
- --file-upload-text-color: var(--text-color);
229
- --file-upload_background-color: hsla(0deg, 0%, 80%, 0.8);
230
- --file-upload_single-upload-background-color: var(--color-grey_light);
231
- --file-upload_progress-track-color: var(--color-blue_very_light);
232
- --file-upload_progress-indicator-color: var(--color-blue_dark);
233
- --file-upload_progress-indicator-color-canceled: hsla(0deg, 0%, 60%, 0.8);
234
- --file-upload_progress-indicator-color-failed: var(--color-red_medium);
235
- --file-upload_progress-indicator-color-invalid: var(--color-red_medium);
236
- --file-upload_progress-indicator-color-successful: var(--color-green_medium);
237
- --file-upload_progress-indicator-color-upload-finished: var(
238
- --color-blue_dark
239
- );
240
- }
241
-
242
- .alchemy-light {
243
- color-scheme: light;
244
- }
data/bin/importmap DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require_relative "../spec/dummy/config/application"
4
- require "importmap/commands"