alchemy_cms 6.1.10 → 7.0.0.pre.a

Sign up to get free protection for your applications and to get access to all the features.
Files changed (249) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +0 -3
  3. data/.gitignore +1 -6
  4. data/CHANGELOG.md +19 -44
  5. data/Gemfile +1 -1
  6. data/Rakefile +14 -9
  7. data/alchemy_cms.gemspec +2 -3
  8. data/app/assets/javascripts/alchemy/alchemy.dirty.js.coffee +1 -1
  9. data/app/assets/javascripts/alchemy/alchemy.element_editors.js.coffee +18 -32
  10. data/app/assets/javascripts/alchemy/alchemy.elements_window.js.coffee +2 -2
  11. data/app/assets/javascripts/alchemy/alchemy.gui.js.coffee +2 -2
  12. data/app/assets/javascripts/alchemy/alchemy.link_dialog.js.coffee +27 -29
  13. data/app/assets/stylesheets/alchemy/elements.scss +16 -35
  14. data/app/assets/stylesheets/alchemy/forms.scss +0 -4
  15. data/app/assets/stylesheets/alchemy/node-select.scss +2 -2
  16. data/app/controllers/alchemy/admin/attachments_controller.rb +0 -1
  17. data/app/controllers/alchemy/admin/elements_controller.rb +7 -32
  18. data/app/controllers/alchemy/admin/pages_controller.rb +1 -1
  19. data/app/controllers/alchemy/admin/pictures_controller.rb +1 -1
  20. data/app/controllers/alchemy/admin/resources_controller.rb +1 -18
  21. data/app/controllers/alchemy/api/elements_controller.rb +0 -2
  22. data/app/controllers/alchemy/api/pages_controller.rb +8 -4
  23. data/app/controllers/alchemy/messages_controller.rb +9 -9
  24. data/app/controllers/alchemy/pages_controller.rb +23 -18
  25. data/app/decorators/alchemy/element_editor.rb +10 -30
  26. data/app/helpers/alchemy/admin/elements_helper.rb +0 -2
  27. data/app/helpers/alchemy/elements_block_helper.rb +5 -42
  28. data/app/helpers/alchemy/elements_helper.rb +3 -11
  29. data/app/helpers/alchemy/pages_helper.rb +0 -4
  30. data/app/models/alchemy/attachment.rb +6 -3
  31. data/app/models/alchemy/base_record.rb +2 -0
  32. data/app/models/alchemy/eager_loading.rb +0 -1
  33. data/app/models/alchemy/element/element_ingredients.rb +1 -8
  34. data/app/models/alchemy/element/presenters.rb +9 -25
  35. data/app/models/alchemy/element.rb +2 -18
  36. data/app/models/alchemy/ingredient.rb +17 -6
  37. data/app/models/alchemy/ingredients/audio.rb +2 -0
  38. data/app/models/alchemy/ingredients/datetime.rb +3 -1
  39. data/app/models/alchemy/ingredients/file.rb +7 -0
  40. data/app/models/alchemy/ingredients/headline.rb +6 -0
  41. data/app/models/alchemy/ingredients/link.rb +2 -0
  42. data/app/models/alchemy/ingredients/node.rb +2 -0
  43. data/app/models/alchemy/ingredients/page.rb +2 -0
  44. data/app/models/alchemy/ingredients/picture.rb +11 -0
  45. data/app/models/alchemy/ingredients/richtext.rb +6 -0
  46. data/app/models/alchemy/ingredients/select.rb +1 -0
  47. data/app/models/alchemy/ingredients/text.rb +8 -0
  48. data/app/models/alchemy/ingredients/video.rb +2 -0
  49. data/app/models/alchemy/node.rb +9 -6
  50. data/app/models/alchemy/page/page_elements.rb +5 -26
  51. data/app/models/alchemy/page/page_layouts.rb +0 -14
  52. data/app/models/alchemy/page/page_natures.rb +0 -10
  53. data/app/models/alchemy/page.rb +0 -10
  54. data/app/models/alchemy/picture/transformations.rb +0 -30
  55. data/app/models/alchemy/picture/url.rb +1 -1
  56. data/app/models/alchemy/picture.rb +14 -13
  57. data/app/models/alchemy/picture_thumb/create.rb +7 -18
  58. data/app/models/alchemy/picture_thumb/file_store.rb +33 -0
  59. data/app/models/alchemy/picture_thumb.rb +10 -10
  60. data/app/models/concerns/alchemy/picture_thumbnails.rb +2 -6
  61. data/app/serializers/alchemy/element_serializer.rb +1 -6
  62. data/app/services/alchemy/delete_elements.rb +1 -7
  63. data/app/services/alchemy/duplicate_element.rb +1 -6
  64. data/app/views/alchemy/admin/elements/_element.html.erb +5 -22
  65. data/app/views/alchemy/admin/elements/create.js.erb +1 -1
  66. data/app/views/alchemy/admin/elements/fold.js.erb +2 -2
  67. data/app/views/alchemy/admin/elements/order.js.erb +1 -1
  68. data/app/views/alchemy/admin/elements/update.js.erb +1 -2
  69. data/app/views/alchemy/admin/pages/_external_link.html.erb +2 -2
  70. data/app/views/alchemy/admin/pages/_file_link.html.erb +2 -2
  71. data/app/views/alchemy/admin/pages/_internal_link.html.erb +2 -2
  72. data/app/views/alchemy/admin/pages/_table.html.erb +0 -6
  73. data/app/views/alchemy/admin/pages/_tinymce_custom_config.html.erb +3 -6
  74. data/app/views/alchemy/admin/pages/edit.html.erb +1 -1
  75. data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +1 -3
  76. data/app/views/alchemy/admin/pictures/_infos.html.erb +4 -6
  77. data/app/views/alchemy/admin/resources/_per_page_select.html.erb +1 -1
  78. data/app/views/alchemy/ingredients/_boolean_editor.html.erb +1 -1
  79. data/app/views/alchemy/ingredients/_headline_editor.html.erb +1 -1
  80. data/app/views/alchemy/ingredients/_html_editor.html.erb +1 -1
  81. data/app/views/alchemy/ingredients/_node_editor.html.erb +1 -1
  82. data/app/views/alchemy/ingredients/_picture_editor.html.erb +4 -4
  83. data/app/views/alchemy/ingredients/_select_editor.html.erb +2 -2
  84. data/app/views/alchemy/ingredients/_text_editor.html.erb +1 -1
  85. data/app/views/alchemy/ingredients/shared/_link_tools.html.erb +3 -3
  86. data/app/views/alchemy/pages/_meta_data.html.erb +0 -1
  87. data/app/views/layouts/alchemy/admin.html.erb +5 -1
  88. data/config/alchemy/config.yml +6 -6
  89. data/config/brakeman.ignore +56 -57
  90. data/config/locales/alchemy.en.yml +99 -113
  91. data/config/routes.rb +1 -16
  92. data/db/migrate/20230121212637_alchemy_six_point_one.rb +248 -0
  93. data/lib/alchemy/cache_digests/template_tracker.rb +6 -7
  94. data/lib/alchemy/config.rb +2 -2
  95. data/lib/alchemy/deprecation.rb +1 -1
  96. data/lib/alchemy/errors.rb +0 -11
  97. data/lib/alchemy/hints.rb +10 -10
  98. data/lib/alchemy/permissions.rb +4 -17
  99. data/lib/alchemy/routing_constraints.rb +3 -3
  100. data/lib/alchemy/searchable_resource.rb +38 -0
  101. data/lib/alchemy/seeder.rb +2 -8
  102. data/lib/alchemy/tasks/tidy.rb +0 -38
  103. data/lib/alchemy/test_support/capybara_helpers.rb +69 -0
  104. data/lib/alchemy/test_support/factories/element_factory.rb +0 -6
  105. data/lib/alchemy/test_support/factories/ingredient_factory.rb +1 -1
  106. data/lib/alchemy/test_support/factories/page_factory.rb +4 -2
  107. data/lib/alchemy/test_support/having_picture_thumbnails_examples.rb +0 -20
  108. data/lib/alchemy/test_support/shared_dom_ids_examples.rb +1 -1
  109. data/lib/alchemy/test_support/shared_ingredient_examples.rb +1 -1
  110. data/lib/alchemy/tinymce.rb +1 -18
  111. data/lib/alchemy/upgrader/seven_point_zero.rb +45 -0
  112. data/lib/alchemy/upgrader/tasks/.keep +0 -0
  113. data/lib/alchemy/upgrader.rb +8 -3
  114. data/lib/alchemy/version.rb +1 -1
  115. data/lib/alchemy.rb +0 -19
  116. data/lib/alchemy_cms.rb +1 -2
  117. data/lib/generators/alchemy/elements/elements_generator.rb +0 -1
  118. data/lib/generators/alchemy/elements/templates/view.html.erb +1 -10
  119. data/lib/generators/alchemy/elements/templates/view.html.haml +1 -9
  120. data/lib/generators/alchemy/elements/templates/view.html.slim +1 -9
  121. data/lib/generators/alchemy/install/files/alchemy.en.yml +7 -8
  122. data/lib/generators/alchemy/install/files/application.html.erb +1 -1
  123. data/lib/generators/alchemy/install/install_generator.rb +18 -34
  124. data/lib/generators/alchemy/install/templates/elements.yml.tt +12 -12
  125. data/lib/non_stupid_digest_assets.rb +1 -1
  126. data/lib/tasks/alchemy/thumbnails.rake +2 -21
  127. data/lib/tasks/alchemy/tidy.rake +1 -12
  128. data/lib/tasks/alchemy/upgrade.rake +10 -47
  129. data/package/dist/admin.js +16 -0
  130. data/package/dist/admin.js.map +7 -0
  131. data/package.json +5 -3
  132. metadata +18 -147
  133. data/app/controllers/alchemy/admin/contents_controller.rb +0 -21
  134. data/app/controllers/alchemy/admin/essence_audios_controller.rb +0 -30
  135. data/app/controllers/alchemy/admin/essence_files_controller.rb +0 -31
  136. data/app/controllers/alchemy/admin/essence_pictures_controller.rb +0 -43
  137. data/app/controllers/alchemy/admin/essence_videos_controller.rb +0 -34
  138. data/app/controllers/alchemy/api/contents_controller.rb +0 -52
  139. data/app/decorators/alchemy/content_editor.rb +0 -119
  140. data/app/helpers/alchemy/admin/contents_helper.rb +0 -42
  141. data/app/helpers/alchemy/admin/essences_helper.rb +0 -31
  142. data/app/models/alchemy/content/factory.rb +0 -143
  143. data/app/models/alchemy/content.rb +0 -247
  144. data/app/models/alchemy/element/element_contents.rb +0 -200
  145. data/app/models/alchemy/element/element_essences.rb +0 -133
  146. data/app/models/alchemy/essence_audio.rb +0 -13
  147. data/app/models/alchemy/essence_boolean.rb +0 -20
  148. data/app/models/alchemy/essence_date.rb +0 -25
  149. data/app/models/alchemy/essence_file.rb +0 -49
  150. data/app/models/alchemy/essence_headline.rb +0 -41
  151. data/app/models/alchemy/essence_html.rb +0 -23
  152. data/app/models/alchemy/essence_link.rb +0 -21
  153. data/app/models/alchemy/essence_node.rb +0 -19
  154. data/app/models/alchemy/essence_page.rb +0 -17
  155. data/app/models/alchemy/essence_picture.rb +0 -67
  156. data/app/models/alchemy/essence_picture_view.rb +0 -90
  157. data/app/models/alchemy/essence_richtext.rb +0 -44
  158. data/app/models/alchemy/essence_select.rb +0 -19
  159. data/app/models/alchemy/essence_text.rb +0 -23
  160. data/app/models/alchemy/essence_video.rb +0 -13
  161. data/app/serializers/alchemy/content_serializer.rb +0 -17
  162. data/app/serializers/alchemy/essence_boolean_serializer.rb +0 -10
  163. data/app/serializers/alchemy/essence_date_serializer.rb +0 -10
  164. data/app/serializers/alchemy/essence_file_serializer.rb +0 -13
  165. data/app/serializers/alchemy/essence_html_serializer.rb +0 -10
  166. data/app/serializers/alchemy/essence_link_serializer.rb +0 -13
  167. data/app/serializers/alchemy/essence_picture_serializer.rb +0 -28
  168. data/app/serializers/alchemy/essence_richtext_serializer.rb +0 -11
  169. data/app/serializers/alchemy/essence_select_serializer.rb +0 -10
  170. data/app/serializers/alchemy/essence_text_serializer.rb +0 -22
  171. data/app/views/alchemy/admin/contents/create.js.erb +0 -21
  172. data/app/views/alchemy/admin/essence_audios/edit.html.erb +0 -7
  173. data/app/views/alchemy/admin/essence_files/edit.html.erb +0 -21
  174. data/app/views/alchemy/admin/essence_pictures/destroy.js.erb +0 -5
  175. data/app/views/alchemy/admin/essence_pictures/edit.html.erb +0 -30
  176. data/app/views/alchemy/admin/essence_pictures/save_link.js.erb +0 -3
  177. data/app/views/alchemy/admin/essence_pictures/update.js.erb +0 -8
  178. data/app/views/alchemy/admin/essence_videos/edit.html.erb +0 -12
  179. data/app/views/alchemy/essences/_essence_audio_editor.html.erb +0 -4
  180. data/app/views/alchemy/essences/_essence_audio_view.html.erb +0 -15
  181. data/app/views/alchemy/essences/_essence_boolean_editor.html.erb +0 -11
  182. data/app/views/alchemy/essences/_essence_boolean_view.html.erb +0 -2
  183. data/app/views/alchemy/essences/_essence_date_editor.html.erb +0 -16
  184. data/app/views/alchemy/essences/_essence_date_view.html.erb +0 -10
  185. data/app/views/alchemy/essences/_essence_file_editor.html.erb +0 -54
  186. data/app/views/alchemy/essences/_essence_file_view.html.erb +0 -18
  187. data/app/views/alchemy/essences/_essence_headline_editor.html.erb +0 -36
  188. data/app/views/alchemy/essences/_essence_headline_view.html.erb +0 -10
  189. data/app/views/alchemy/essences/_essence_html_editor.html.erb +0 -10
  190. data/app/views/alchemy/essences/_essence_html_view.html.erb +0 -2
  191. data/app/views/alchemy/essences/_essence_link_editor.html.erb +0 -30
  192. data/app/views/alchemy/essences/_essence_link_view.html.erb +0 -10
  193. data/app/views/alchemy/essences/_essence_node_editor.html.erb +0 -27
  194. data/app/views/alchemy/essences/_essence_node_view.html.erb +0 -1
  195. data/app/views/alchemy/essences/_essence_page_editor.html.erb +0 -26
  196. data/app/views/alchemy/essences/_essence_page_view.html.erb +0 -5
  197. data/app/views/alchemy/essences/_essence_picture_editor.html.erb +0 -59
  198. data/app/views/alchemy/essences/_essence_picture_view.html.erb +0 -6
  199. data/app/views/alchemy/essences/_essence_richtext_editor.html.erb +0 -14
  200. data/app/views/alchemy/essences/_essence_richtext_view.html.erb +0 -4
  201. data/app/views/alchemy/essences/_essence_select_editor.html.erb +0 -28
  202. data/app/views/alchemy/essences/_essence_select_view.html.erb +0 -2
  203. data/app/views/alchemy/essences/_essence_text_editor.html.erb +0 -29
  204. data/app/views/alchemy/essences/_essence_text_view.html.erb +0 -17
  205. data/app/views/alchemy/essences/_essence_video_editor.html.erb +0 -4
  206. data/app/views/alchemy/essences/_essence_video_view.html.erb +0 -19
  207. data/app/views/alchemy/essences/shared/_essence_picture_tools.html.erb +0 -59
  208. data/app/views/alchemy/essences/shared/_linkable_essence_tools.html.erb +0 -20
  209. data/app/views/alchemy/pages/show.rss.builder +0 -21
  210. data/db/migrate/20200226213334_alchemy_four_point_four.rb +0 -313
  211. data/db/migrate/20200423073425_create_alchemy_essence_nodes.rb +0 -11
  212. data/db/migrate/20200504210159_remove_site_id_from_nodes.rb +0 -28
  213. data/db/migrate/20200505215518_add_language_id_foreign_key_to_alchemy_pages.rb +0 -8
  214. data/db/migrate/20200511113603_add_menu_type_to_alchemy_nodes.rb +0 -27
  215. data/db/migrate/20200514091507_make_page_layoutpage_null_false.rb +0 -6
  216. data/db/migrate/20200519073500_remove_visible_from_alchemy_pages.rb +0 -24
  217. data/db/migrate/20200617110713_create_alchemy_picture_thumbs.rb +0 -22
  218. data/db/migrate/20200907111332_remove_tri_state_booleans.rb +0 -33
  219. data/db/migrate/20201207131309_create_page_versions.rb +0 -19
  220. data/db/migrate/20201207135820_add_page_version_id_to_alchemy_elements.rb +0 -76
  221. data/db/migrate/20210205143548_rename_public_on_and_public_until_on_alchemy_pages.rb +0 -10
  222. data/db/migrate/20210326105046_add_sanitized_body_to_alchemy_essence_richtexts.rb +0 -7
  223. data/db/migrate/20210406093436_add_alchemy_essence_headlines.rb +0 -12
  224. data/db/migrate/20210506135919_create_essence_audios.rb +0 -19
  225. data/db/migrate/20210506140258_create_essence_videos.rb +0 -23
  226. data/db/migrate/20210508091432_create_alchemy_ingredients.rb +0 -22
  227. data/db/migrate/20220514072456_restrict_on_delete_page_id_foreign_key_from_alchemy_nodes.rb +0 -13
  228. data/db/migrate/20220622130905_add_playsinline_to_alchemy_essence_videos.rb +0 -9
  229. data/lib/alchemy/essence.rb +0 -250
  230. data/lib/alchemy/tasks/usage.rb +0 -34
  231. data/lib/alchemy/test_support/essence_shared_examples.rb +0 -271
  232. data/lib/alchemy/test_support/factories/content_factory.rb +0 -20
  233. data/lib/alchemy/test_support/factories/essence_audio_factory.rb +0 -7
  234. data/lib/alchemy/test_support/factories/essence_file_factory.rb +0 -7
  235. data/lib/alchemy/test_support/factories/essence_page_factory.rb +0 -7
  236. data/lib/alchemy/test_support/factories/essence_picture_factory.rb +0 -11
  237. data/lib/alchemy/test_support/factories/essence_text_factory.rb +0 -7
  238. data/lib/alchemy/test_support/factories/essence_video_factory.rb +0 -7
  239. data/lib/alchemy/upgrader/five_point_zero.rb +0 -41
  240. data/lib/alchemy/upgrader/six_point_zero.rb +0 -21
  241. data/lib/alchemy/upgrader/tasks/add_page_versions.rb +0 -33
  242. data/lib/alchemy/upgrader/tasks/element_views_updater.rb +0 -34
  243. data/lib/alchemy/upgrader/tasks/harden_gutentag_migrations.rb +0 -29
  244. data/lib/alchemy/upgrader/tasks/ingredients_migrator.rb +0 -73
  245. data/lib/generators/alchemy/essence/essence_generator.rb +0 -49
  246. data/lib/generators/alchemy/essence/templates/editor.html.erb +0 -17
  247. data/lib/generators/alchemy/essence/templates/view.html.erb +0 -2
  248. data/lib/generators/alchemy/install/files/babel.config.js +0 -64
  249. data/lib/tasks/alchemy/usage.rake +0 -44
@@ -1,9 +1,7 @@
1
1
  en:
2
-
3
2
  # = Alchemy Translations
4
3
  # All translations used in Alchemy CMS are inside this alchemy namespace.
5
4
  alchemy:
6
-
7
5
  # == Translations for page_layout names
8
6
  # Just use the page_layouts name like defined inside the config/alchemy/page_layouts.yml file and translate it.
9
7
  #
@@ -30,25 +28,24 @@ en:
30
28
  #
31
29
  element_names:
32
30
 
33
- # == Translated names for contents in elements.
34
- # Used for the content editor label inside the element editor view (The elements window)
31
+ # == Translated names for ingredients in elements.
32
+ # Used for the ingredient editor label inside the element editor view (The elements window)
35
33
  #
36
- # Tip: You can translate content names globally for all contents of this name, or specificly for an element.
37
- # To do so, just place the content_name under the element name
34
+ # Tip: You can translate ingredient roles globally for all ingredients with this role, or specificly for an element.
35
+ # To do so, just place the ingredient role under the element name
38
36
  #
39
37
  # Example:
40
38
  #
41
39
  # en:
42
40
  # alchemy:
43
- # content_names:
41
+ # ingredient_roles:
44
42
  # headline: Headline
45
43
  # news_article:
46
44
  # headline: News Headline
47
45
  # image_caption: Caption
48
46
  # show_caption: Show Caption
49
47
  #
50
- content_names:
51
-
48
+ ingredient_roles:
52
49
 
53
50
  # === Translations for menu names
54
51
  # Used for the translations of the names of root menu nodes.
@@ -128,7 +125,6 @@ en:
128
125
  last_upload: Last upload only
129
126
  recent: Recently uploaded only
130
127
  without_tag: Without tag
131
- deletable: Not linked by file content
132
128
  attachment:
133
129
  by_file_type:
134
130
  name: File Type
@@ -140,38 +136,39 @@ en:
140
136
  last_upload: Last upload only
141
137
  recent: Recently uploaded only
142
138
  without_tag: Without tag
139
+ deletable: Not linked by file content
143
140
 
144
- # === Translations for content validations
145
- # Used when a user did not enter (correct) values to the content field.
141
+ # === Translations for ingredient validations
142
+ # Used when a user did not enter (correct) values to the ingredient field.
146
143
  #
147
- # Tip: You can define the validation messages translations different for each element and content
144
+ # Tip: You can define the validation messages translations different for each element and ingredient
148
145
  #
149
146
  # Example:
150
147
  #
151
148
  # en:
152
149
  # alchemy:
153
- # content_validations:
150
+ # ingredient_validations:
154
151
  # contactform:
155
152
  # success_page:
156
153
  # blank: 'Please choose a follow up page.'
157
154
  # mail_to:
158
155
  # blank: 'Please provide an email address where the contact inquiries will be delivered to.'
159
156
  #
160
- content_validations:
157
+ ingredient_validations:
161
158
  errors:
162
159
  blank: "%{field} can't be blank"
163
- invalid: '%{field} has wrong format'
164
- taken: '%{field} has already been taken'
160
+ invalid: "%{field} has wrong format"
161
+ taken: "%{field} has already been taken"
165
162
 
166
- default_content_texts:
163
+ default_ingredient_texts:
167
164
  lorem: "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
168
165
  corporate_lorem: "Appropriately enable sustainable growth strategies vis-a-vis holistic materials. Energistically orchestrate open-source e-tailers vis-a-vis plug-and-play best practices. Uniquely plagiarize client-centric opportunities whereas plug-and-play ideas. Distinctively reconceptualize backward-compatible partnerships vis-a-vis reliable total linkage. Interactively fabricate highly efficient networks for clicks-and-mortar content. Collaboratively reconceptualize holistic markets via 2.0 architectures."
169
166
 
170
- essence_pictures:
167
+ picture_ingredients:
171
168
  css_classes:
172
- left: 'Left from text'
173
- right: 'Right from text'
174
- no_float: 'Above the text'
169
+ left: "Left from text"
170
+ right: "Right from text"
171
+ no_float: "Above the text"
175
172
 
176
173
  ingredient_values:
177
174
  boolean:
@@ -181,32 +178,32 @@ en:
181
178
  # == Contactform translations
182
179
  contactform:
183
180
  labels:
184
- salutation: 'Salutation'
185
- choose: 'Please choose'
186
- mr: 'Mr.'
187
- mrs: 'Mrs.'
188
- firstname: 'Firstname'
189
- lastname: 'Lastname'
190
- address: 'Street / No.'
191
- zip: 'Zipcode / City'
192
- phone: 'Telephone'
193
- email: 'Email'
194
- message: 'Message'
195
- send: 'Send'
196
- mandatory_fields: '*Mandatory fields.'
181
+ salutation: "Salutation"
182
+ choose: "Please choose"
183
+ mr: "Mr."
184
+ mrs: "Mrs."
185
+ firstname: "Firstname"
186
+ lastname: "Lastname"
187
+ address: "Street / No."
188
+ zip: "Zipcode / City"
189
+ phone: "Telephone"
190
+ email: "Email"
191
+ message: "Message"
192
+ send: "Send"
193
+ mandatory_fields: "*Mandatory fields."
197
194
  # The flash message shown after successfully sending the message.
198
195
  messages:
199
- success: 'Your message was delivered successfully.'
196
+ success: "Your message was delivered successfully."
200
197
 
201
198
  # == Translated language names for translation select
202
199
  translations:
203
- de: 'DE'
204
- en: 'EN'
205
- es: 'ES'
206
- it: 'IT'
207
- fr: 'FR'
208
- nl: 'NL'
209
- ru: 'RU'
200
+ de: "DE"
201
+ en: "EN"
202
+ es: "ES"
203
+ it: "IT"
204
+ fr: "FR"
205
+ nl: "NL"
206
+ ru: "RU"
210
207
 
211
208
  # == User roles translations
212
209
  user_roles:
@@ -227,18 +224,18 @@ en:
227
224
  aliases: Enter additional domains this site should be accessible by. Please separate them by space or new line.
228
225
 
229
226
  add_nested_element: "Add %{name}"
230
- anchor: 'Anchor'
227
+ anchor: "Anchor"
231
228
  anchor_link_headline: You can link to an anchor from the current page.
232
229
  automatic_anchor_notice: The anchor is generated automatically.
233
230
  attribute_fixed: Value can't be changed for this page type
234
- back: 'back'
231
+ back: "back"
235
232
  locked_pages: "Active pages"
236
233
  "Add a page": "Add a page"
237
234
  "Add global page": "Add global page"
238
235
  "Add page link": "Add page link"
239
236
  "Alchemy is open software and itself uses open software and free resources:": "Alchemy is open software and itself uses open software and free resources:"
240
- "Alchemy is up to date": 'Alchemy is up to date'
241
- 'An error happened': 'An error happened'
237
+ "Alchemy is up to date": "Alchemy is up to date"
238
+ "An error happened": "An error happened"
242
239
  "Change password": "Change password"
243
240
  "Choose page": "Choose page"
244
241
  "Clear selection": "Clear selection"
@@ -252,7 +249,6 @@ en:
252
249
  "Delete image": "Delete image"
253
250
  "Delete element": "Delete element"
254
251
  "Do you really want to clear the clipboard?": "Do you really want to clear the clipboard?"
255
- "Do you really want to delete this content?": "Do you really want to delete this content?"
256
252
  "Drag an element over to the element window to restore it": "Drag an element over to the element window to restore it"
257
253
  "Edit Picturemask": "Edit picturemask"
258
254
  "Edit image": "Edit image"
@@ -318,11 +314,9 @@ en:
318
314
  "Reload Preview": "Reload Preview"
319
315
  "Remove item from clipboard": "Remove item from clipboard"
320
316
  "Remove tag filter": "Remove tag filter"
321
- "Remove this content": "Remove this content"
322
317
  "Reset Imagemask": "Reset mask"
323
318
  "Reset password instructions": "Reset password instructions"
324
319
  "Select all": "Select all"
325
- "Select an content": "Select a content"
326
320
  "Select style": "Select style"
327
321
  "Send reset instructions": "Send reset instructions"
328
322
  show_elements: "Show Elements"
@@ -335,8 +329,6 @@ en:
335
329
  "Site successfully removed": "Website successfully removed."
336
330
  "Site successfully updated": "Website successfully updated."
337
331
  "Size": "Size"
338
- "Successfully added content": "Successfully added %{content}"
339
- "Successfully deleted content": "Successfully deleted %{content}"
340
332
  "Successfully deleted element": "Successfully deleted %{element}"
341
333
  "Tags": "Tags"
342
334
  "These pictures could not be deleted, because they were in use": "These pictures could not be deleted, because they were in use: %{names}"
@@ -351,9 +343,7 @@ en:
351
343
  "Attachment Preview": "Attachment Preview"
352
344
  "Visit page": "Visit page"
353
345
  "Warning!": "Warning!"
354
- content_definition_missing: "Warning: Content is missing its definition. Please check the elements.yml"
355
- content_deprecated: "WARNING! This content is deprecated and will be removed soon. Please do not use it anymore."
356
- ingredient_deprecated: "WARNING! This content is deprecated and will be removed soon. Please do not use it anymore."
346
+ ingredient_deprecated: "WARNING! This field is deprecated and will be removed soon. Please do not use it anymore."
357
347
  element_definition_missing: "WARNING! Missing element definition. Please check your elements.yml file."
358
348
  element_deprecated: "WARNING! This element is deprecated and will be removed soon. Please do not use it anymore."
359
349
  page_definition_missing: "WARNING! Missing page layout definition. Please check your page_layouts.yml file."
@@ -391,15 +381,13 @@ en:
391
381
  confirm_to_delete_menu: "Do you really want to delete this menu?"
392
382
  confirm_to_delete_node: "Do you really want to delete this menu node?"
393
383
  confirm_to_delete_page: "Do you really want to delete this page?"
394
- content_essence_not_found: "Content essence not found"
395
- content_not_found: "Field for content not present."
396
- content_validations_headline: "Please check marked fields below"
384
+ ingredient_validations_headline: "Please check marked fields below"
397
385
  copy: "copy"
398
386
  copy_element: "Copy this element"
399
387
  copy_page: "Copy page"
400
388
  "Could not delete Pictures": "Could not delete Pictures"
401
389
  copy_language_tree_heading: "Copy pages"
402
- country_code_placeholder: 'i.e. US (optional)'
390
+ country_code_placeholder: "i.e. US (optional)"
403
391
  country_code_foot_note: "You only need to set a country code if you want to support multiple countries with the same language."
404
392
  create: "create"
405
393
  "Create language": "Create a new language"
@@ -416,7 +404,7 @@ en:
416
404
  delete_menu: "Delete this menu"
417
405
  delete_node: "Delete this menu node"
418
406
  delete_page: "Delete this page"
419
- delete_tag: 'Delete tag'
407
+ delete_tag: "Delete tag"
420
408
  document: "File"
421
409
  download_csv: "Download CSV"
422
410
  download_file: "Download file '%{filename}'"
@@ -429,13 +417,13 @@ en:
429
417
  edit_node: "Edit menu node"
430
418
  edit_page: "Edit this page"
431
419
  edit_page_properties: "Edit page properties"
432
- edit_tag: 'Edit tag'
420
+ edit_tag: "Edit tag"
433
421
  edit_selected_pictures: "Edit selected pictures"
434
422
  element_editor_not_found: "Error within this Element"
435
423
  element_of_type: "Element"
436
424
  element_saved: "Saved element."
437
425
  enter_external_link: "Please enter the URL you want to link with"
438
- explain_cropping: "<p>Move the frame and change its size with the mouse or arrow keys to adjust the image mask. Click on \"apply\" when you are satisfied with your selection.</p><p>If you want to return to the original centered image mask like it was defined in the layout, click \"reset\" and \"apply\" afterwards.</p>"
426
+ explain_cropping: '<p>Move the frame and change its size with the mouse or arrow keys to adjust the image mask. Click on "apply" when you are satisfied with your selection.</p><p>If you want to return to the original centered image mask like it was defined in the layout, click "reset" and "apply" afterwards.</p>'
439
427
  explain_publishing: "Publish current page content"
440
428
  explain_unlocking: "Leave page and unlock it for other users."
441
429
  external_link_notice_1: "Please enter the complete url with http:// or a similar protocol."
@@ -474,7 +462,7 @@ en:
474
462
  "item removed from clipboard": "Removed %{name} from clipboard"
475
463
  javascript_disabled_headline: "Javascript is disabled!"
476
464
  javascript_disabled_text: "Alchemy needs Javascript to run smoothly. Please enable it in your browser settings."
477
- language_code_placeholder: 'i.e. en'
465
+ language_code_placeholder: "i.e. en"
478
466
  language_pages_copied: "Language tree successfully copied."
479
467
  left: "left"
480
468
  legacy_url_info_text: "A link is a redirect from an old URL to the current URL of this page. This redirect happens with a <a href='https://support.google.com/webmasters/answer/93633' target='_blank'>301 status code</a>."
@@ -529,10 +517,10 @@ en:
529
517
  alchemy/site: "<h2>You do not have any websites yet.</h2><p>In order to serve requests you need to create a website first.</p><p>This form has been filled with sensible defaults that work in most cases.</p>"
530
518
  no_search_results: "Your search did not return any results."
531
519
  "not a valid image": "This is not an valid image."
532
- "or": 'or'
533
- or_replace_it_with_an_existing_tag: 'Or replace it with an existing tag'
520
+ "or": "or"
521
+ or_replace_it_with_an_existing_tag: "Or replace it with an existing tag"
534
522
  "Page created": "Page: '%{name}' created."
535
- page_infos: 'Page info'
523
+ page_infos: "Page info"
536
524
  page_properties: "Page properties"
537
525
  page_public: "published"
538
526
  page_published: "Published page"
@@ -567,26 +555,26 @@ en:
567
555
  position_in_text: "Position in text"
568
556
  preview_size: "Preview size"
569
557
  preview_sizes:
570
- '240': '240px (small phone)'
571
- '320': '320px (iPhone)'
572
- '480': '480px (small Tablet)'
573
- '768': '768px (iPad - Portrait)'
574
- '1024': '1024px (iPad - Landscape)'
575
- '1280': '1280px (Desktop)'
558
+ "240": "240px (small phone)"
559
+ "320": "320px (iPhone)"
560
+ "480": "480px (small Tablet)"
561
+ "768": "768px (iPad - Portrait)"
562
+ "1024": "1024px (iPad - Landscape)"
563
+ "1280": "1280px (Desktop)"
576
564
  preview_url: Preview
577
565
  publish_page_language_not_public: Cannot publish page if language is not public
578
566
  publish_page_not_allowed: You have not the permission to publish this page
579
- recently_uploaded_only: 'Recently uploaded only'
567
+ recently_uploaded_only: "Recently uploaded only"
580
568
  "regular method": "Regular method"
581
569
  remove: "Remove"
582
570
  rename_file: "Rename this file."
583
571
  rename: "Rename"
584
572
  replace: replace
585
573
  replace_file: Replace file
586
- 'Replaced Tag': "Tag '%{old_tag}' was replaced with '%{new_tag}'"
574
+ "Replaced Tag": "Tag '%{old_tag}' was replaced with '%{new_tag}'"
587
575
  resources:
588
576
  relation_select:
589
- blank: '- none -'
577
+ blank: "- none -"
590
578
  right: "right"
591
579
  robot_follow: "robot may follow links."
592
580
  robot_index: "allow robot to index."
@@ -601,7 +589,7 @@ en:
601
589
  show_eq: "Show EQ"
602
590
  show_navigation: "Show in navigation"
603
591
  show_page_in_sitemap: "Show page in sitemap."
604
- signup_mail_delivery_error: 'Signup mail could not be delivered. Please check your mail settings.'
592
+ signup_mail_delivery_error: "Signup mail could not be delivered. Please check your mail settings."
605
593
  small_thumbnails: "Small thumbnails"
606
594
  subject: "Subject"
607
595
  successfully_added_element: "Successfully added new element."
@@ -611,7 +599,7 @@ en:
611
599
  swap_image: "Change image"
612
600
  insert_image: "Insert image"
613
601
  tag_list: Tags
614
- tags_get_created_if_used_the_first_time: 'Tags get created if used the first time.'
602
+ tags_get_created_if_used_the_first_time: "Tags get created if used the first time."
615
603
  this_picture_is_used_on_these_pages: "This picture is used on following pages"
616
604
  title: "Title"
617
605
  to_alchemy: "To Alchemy"
@@ -652,9 +640,9 @@ en:
652
640
  "Successfully updated": "Successfully updated"
653
641
  "Successfully removed": "Successfully removed"
654
642
  "Nothing found": "Nothing found."
655
- complete: 'Abgeschlossen'
656
- "Update available": 'Update available'
657
- "Update status unavailable": 'Update status unavailable'
643
+ complete: "Abgeschlossen"
644
+ "Update available": "Update available"
645
+ "Update status unavailable": "Update status unavailable"
658
646
  "Uploading": "Uploading"
659
647
  cannot_signup_more_then_once: "You can't signup more then once."
660
648
  confirm_to_delete_user: "Do you really want to delete this user?"
@@ -672,11 +660,11 @@ en:
672
660
 
673
661
  # Simple form translations
674
662
  forms:
675
- "yes": 'Yes'
676
- "no": 'No'
663
+ "yes": "Yes"
664
+ "no": "No"
677
665
  required:
678
- text: 'required'
679
- mark: '*'
666
+ text: "required"
667
+ mark: "*"
680
668
  error_notification:
681
669
  default_message: "Please review the problems below:"
682
670
 
@@ -691,7 +679,7 @@ en:
691
679
  formats:
692
680
  alchemy:
693
681
  default: "%m.%d.%Y %H:%M"
694
- essence_date: "%Y-%m-%d"
682
+ ingredient_date: "%Y-%m-%d"
695
683
  page_status: "%m.%d.%Y %H:%M"
696
684
  short_datetime: "%d %b %H:%M"
697
685
  time: "%H:%M"
@@ -699,21 +687,19 @@ en:
699
687
  # Translations for error messages.
700
688
  errors:
701
689
  models:
702
- alchemy/content:
703
- attributes:
704
- name:
705
- taken: 'is already taken in this element.'
706
- essence:
707
- validation_failed: 'Validation failed.'
708
690
  alchemy/element:
709
691
  attributes:
710
692
  name:
711
693
  blank: "^Please choose an element."
694
+ alchemy/ingredient:
695
+ attributes:
696
+ role:
697
+ taken: "is already taken in this element."
712
698
  alchemy/language:
713
699
  attributes:
714
700
  language_code:
715
- invalid: '^Format of languagecode is not valid. Please use exactly two lowercase characters.'
716
- taken: 'is already taken for this country code.'
701
+ invalid: "^Format of languagecode is not valid. Please use exactly two lowercase characters."
702
+ taken: "is already taken for this country code."
717
703
  locale:
718
704
  missing_file: "Localization not found for given language code. Please choose an existing one."
719
705
  alchemy/page:
@@ -740,28 +726,21 @@ en:
740
726
  # Translations for Alchemy models
741
727
  activemodel:
742
728
  models:
743
- alchemy/essence_headline:
744
- one: Headline
745
- other: Headline
746
729
  alchemy/message:
747
730
  one: Message
748
731
  other: Messages
749
732
  alchemy/admin/preview_url: Internal
750
733
  attributes:
751
- alchemy/essence_headline:
752
- body: Headline
753
- level: Level
754
- size: Size
755
734
  alchemy/message:
756
- salutation: 'Salutation'
757
- firstname: 'Firstname'
758
- lastname: 'Lastname'
759
- address: 'Street / No.'
760
- zip: 'Zipcode'
735
+ salutation: "Salutation"
736
+ firstname: "Firstname"
737
+ lastname: "Lastname"
738
+ address: "Street / No."
739
+ zip: "Zipcode"
761
740
  city: City
762
- phone: 'Telephone'
763
- email: 'Email'
764
- message: 'Message'
741
+ phone: "Telephone"
742
+ email: "Email"
743
+ message: "Message"
765
744
 
766
745
  # Translations for Alchemy database models
767
746
  activerecord:
@@ -770,7 +749,7 @@ en:
770
749
  alchemy/node:
771
750
  attributes:
772
751
  base:
773
- essence_nodes_present: "This menu item is in use inside an Alchemy element on the following pages: %{page_names}."
752
+ node_ingredients_present: "This menu item is in use inside an Alchemy element on the following pages: %{page_names}."
774
753
  alchemy/site:
775
754
  attributes:
776
755
  languages:
@@ -793,6 +772,9 @@ en:
793
772
  alchemy/element:
794
773
  one: "Element"
795
774
  other: "Elements"
775
+ alchemy/ingredients/headline:
776
+ one: Headline
777
+ other: Headline
796
778
  alchemy/legacy_page_url:
797
779
  one: "Link"
798
780
  other: "Links"
@@ -832,9 +814,15 @@ en:
832
814
  name: "Name"
833
815
  public: "visible"
834
816
  tag_list: Tags
835
- alchemy/essence_file:
817
+ alchemy/ingredient:
818
+ dom_id: Anchor
819
+ alchemy/ingredients/file:
836
820
  css_class: Style
837
- alchemy/essence_picture:
821
+ alchemy/ingredients/headline:
822
+ value: Headline
823
+ level: Level
824
+ size: Size
825
+ alchemy/ingredients/picture:
838
826
  caption: "Caption"
839
827
  title: "Title"
840
828
  alt_tag: "Alternative text"
@@ -847,8 +835,6 @@ en:
847
835
  crop_from: Crop from
848
836
  crop_size: Crop size
849
837
  picture_id: Bild
850
- alchemy/ingredient:
851
- dom_id: Anchor
852
838
  alchemy/language:
853
839
  country_code: "Country code"
854
840
  language_code: "Language code"
data/config/routes.rb CHANGED
@@ -16,8 +16,6 @@ Alchemy::Engine.routes.draw do
16
16
  end
17
17
 
18
18
  namespace :admin, { path: Alchemy.admin_path, constraints: Alchemy.admin_constraints } do
19
- resources :contents, only: [:create]
20
-
21
19
  resources :nodes
22
20
 
23
21
  resources :pages do
@@ -41,7 +39,6 @@ Alchemy::Engine.routes.draw do
41
39
  end
42
40
 
43
41
  resources :elements do
44
- resources :contents
45
42
  collection do
46
43
  post :order
47
44
  end
@@ -73,20 +70,12 @@ Alchemy::Engine.routes.draw do
73
70
  end
74
71
  end
75
72
 
76
- resources :essence_audios, only: [:edit, :update]
77
-
78
73
  concern :croppable do
79
74
  member do
80
75
  get :crop
81
76
  end
82
77
  end
83
78
 
84
- resources :essence_pictures, only: [:edit, :update], concerns: [:croppable]
85
-
86
- resources :essence_files, only: [:edit, :update]
87
-
88
- resources :essence_videos, only: [:edit, :update]
89
-
90
79
  resources :ingredients, only: [:edit, :update], concerns: [:croppable]
91
80
 
92
81
  resources :legacy_page_urls
@@ -125,13 +114,9 @@ Alchemy::Engine.routes.draw do
125
114
  resources :elements, only: :show
126
115
 
127
116
  namespace :api, defaults: { format: "json" } do
128
- resources :contents, only: [:index, :show]
129
117
  resources :ingredients, only: [:index]
130
118
 
131
- resources :elements, only: [:index, :show] do
132
- get "/contents" => "contents#index", as: "contents"
133
- get "/contents/:name" => "contents#show", as: "content"
134
- end
119
+ resources :elements, only: [:index, :show]
135
120
 
136
121
  resources :pages, only: [:index] do
137
122
  get "elements" => "elements#index", as: "elements"