alchemy_cms 2.0.pre2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (489) hide show
  1. data/.gitignore +7 -0
  2. data/.yardopts +6 -0
  3. data/Gemfile +8 -0
  4. data/LICENSE +619 -0
  5. data/README.md +113 -0
  6. data/Rakefile +30 -0
  7. data/TODO.txt +1 -0
  8. data/alchemy.gemspec +36 -0
  9. data/app/controllers/admin/attachments_controller.rb +119 -0
  10. data/app/controllers/admin/clipboard_controller.rb +43 -0
  11. data/app/controllers/admin/contents_controller.rb +69 -0
  12. data/app/controllers/admin/elements_controller.rb +137 -0
  13. data/app/controllers/admin/essence_audios_controller.rb +14 -0
  14. data/app/controllers/admin/essence_files_controller.rb +35 -0
  15. data/app/controllers/admin/essence_flashes_controller.rb +14 -0
  16. data/app/controllers/admin/essence_pictures_controller.rb +89 -0
  17. data/app/controllers/admin/essence_videos_controller.rb +14 -0
  18. data/app/controllers/admin/languages_controller.rb +70 -0
  19. data/app/controllers/admin/layoutpages_controller.rb +11 -0
  20. data/app/controllers/admin/pages_controller.rb +244 -0
  21. data/app/controllers/admin/pictures_controller.rb +132 -0
  22. data/app/controllers/admin/trash_controller.rb +25 -0
  23. data/app/controllers/admin/users_controller.rb +75 -0
  24. data/app/controllers/admin_controller.rb +78 -0
  25. data/app/controllers/alchemy_controller.rb +239 -0
  26. data/app/controllers/attachments_controller.rb +30 -0
  27. data/app/controllers/elements_controller.rb +18 -0
  28. data/app/controllers/messages_controller.rb +98 -0
  29. data/app/controllers/pages_controller.rb +137 -0
  30. data/app/controllers/pictures_controller.rb +68 -0
  31. data/app/helpers/admin/attachments_helper.rb +7 -0
  32. data/app/helpers/admin/elements_helper.rb +28 -0
  33. data/app/helpers/admin/pages_helper.rb +3 -0
  34. data/app/helpers/admin/pictures_helper.rb +26 -0
  35. data/app/helpers/alchemy_helper.rb +1168 -0
  36. data/app/helpers/elements_helper.rb +2 -0
  37. data/app/helpers/errors_helper.rb +37 -0
  38. data/app/helpers/layout_helper.rb +37 -0
  39. data/app/helpers/pages_helper.rb +141 -0
  40. data/app/mailers/messages.rb +15 -0
  41. data/app/mailers/notifications.rb +23 -0
  42. data/app/models/attachment.rb +73 -0
  43. data/app/models/cell.rb +63 -0
  44. data/app/models/content.rb +145 -0
  45. data/app/models/element.rb +423 -0
  46. data/app/models/essence_audio.rb +17 -0
  47. data/app/models/essence_date.rb +20 -0
  48. data/app/models/essence_file.rb +17 -0
  49. data/app/models/essence_flash.rb +15 -0
  50. data/app/models/essence_html.rb +19 -0
  51. data/app/models/essence_picture.rb +27 -0
  52. data/app/models/essence_richtext.rb +50 -0
  53. data/app/models/essence_text.rb +28 -0
  54. data/app/models/essence_video.rb +17 -0
  55. data/app/models/folded_page.rb +3 -0
  56. data/app/models/language.rb +75 -0
  57. data/app/models/message.rb +57 -0
  58. data/app/models/page.rb +501 -0
  59. data/app/models/picture.rb +100 -0
  60. data/app/models/user.rb +72 -0
  61. data/app/models/user_session.rb +10 -0
  62. data/app/sweepers/content_sweeper.rb +20 -0
  63. data/app/sweepers/pages_sweeper.rb +46 -0
  64. data/app/sweepers/pictures_sweeper.rb +20 -0
  65. data/app/views/_contact.html.erb +3 -0
  66. data/app/views/_intro.html.erb +3 -0
  67. data/app/views/_news.html.erb +3 -0
  68. data/app/views/_newsletter_layout.html.erb +1 -0
  69. data/app/views/_search.html.erb +3 -0
  70. data/app/views/_standard.html.erb +1 -0
  71. data/app/views/admin/attachments/_attachment.html.erb +58 -0
  72. data/app/views/admin/attachments/_file_to_assign.html.erb +20 -0
  73. data/app/views/admin/attachments/_files_list.html.erb +24 -0
  74. data/app/views/admin/attachments/archive_overlay.html.erb +8 -0
  75. data/app/views/admin/attachments/create.js.erb +6 -0
  76. data/app/views/admin/attachments/edit.html.erb +12 -0
  77. data/app/views/admin/attachments/index.html.erb +30 -0
  78. data/app/views/admin/attachments/new.html.erb +11 -0
  79. data/app/views/admin/clipboard/clear.js.erb +6 -0
  80. data/app/views/admin/clipboard/index.html.erb +19 -0
  81. data/app/views/admin/clipboard/insert.js.erb +14 -0
  82. data/app/views/admin/clipboard/remove.js.erb +10 -0
  83. data/app/views/admin/contents/_missing.html.erb +20 -0
  84. data/app/views/admin/contents/create.js.erb +93 -0
  85. data/app/views/admin/contents/new.html.erb +15 -0
  86. data/app/views/admin/elements/_add_content.html.erb +16 -0
  87. data/app/views/admin/elements/_element.html.erb +22 -0
  88. data/app/views/admin/elements/_element_foot.html.erb +35 -0
  89. data/app/views/admin/elements/_element_head.html.erb +29 -0
  90. data/app/views/admin/elements/_elements_select.html.erb +8 -0
  91. data/app/views/admin/elements/_new_element_form.html.erb +25 -0
  92. data/app/views/admin/elements/_picture_editor.html.erb +25 -0
  93. data/app/views/admin/elements/create.js.erb +20 -0
  94. data/app/views/admin/elements/destroy.js.erb +6 -0
  95. data/app/views/admin/elements/fold.js.erb +37 -0
  96. data/app/views/admin/elements/index.html.erb +33 -0
  97. data/app/views/admin/elements/list.js.erb +20 -0
  98. data/app/views/admin/elements/new.html.erb +33 -0
  99. data/app/views/admin/elements/order.js.erb +7 -0
  100. data/app/views/admin/elements/trash.js.erb +13 -0
  101. data/app/views/admin/elements/update.js.erb +10 -0
  102. data/app/views/admin/essence_files/edit.html.erb +91 -0
  103. data/app/views/admin/essence_pictures/assign.js.erb +15 -0
  104. data/app/views/admin/essence_pictures/crop.html.erb +36 -0
  105. data/app/views/admin/essence_pictures/destroy.js.erb +17 -0
  106. data/app/views/admin/essence_pictures/edit.html.erb +75 -0
  107. data/app/views/admin/essence_pictures/update.js.erb +16 -0
  108. data/app/views/admin/index.html.erb +92 -0
  109. data/app/views/admin/infos.html.erb +5 -0
  110. data/app/views/admin/languages/_form.html.erb +34 -0
  111. data/app/views/admin/languages/_language.html.erb +35 -0
  112. data/app/views/admin/languages/edit.html.erb +1 -0
  113. data/app/views/admin/languages/index.html.erb +41 -0
  114. data/app/views/admin/languages/new.html.erb +1 -0
  115. data/app/views/admin/layoutpages/_layoutpage.html.erb +80 -0
  116. data/app/views/admin/layoutpages/index.html.erb +75 -0
  117. data/app/views/admin/leave.html.erb +11 -0
  118. data/app/views/admin/login.html.erb +46 -0
  119. data/app/views/admin/logout.html.erb +5 -0
  120. data/app/views/admin/pages/_contactform_links.html.erb +66 -0
  121. data/app/views/admin/pages/_create_language_form.html.erb +42 -0
  122. data/app/views/admin/pages/_external_link.html.erb +54 -0
  123. data/app/views/admin/pages/_file_link.html.erb +52 -0
  124. data/app/views/admin/pages/_internal_link.html.erb +47 -0
  125. data/app/views/admin/pages/_new_page_form.html.erb +29 -0
  126. data/app/views/admin/pages/_page.html.erb +114 -0
  127. data/app/views/admin/pages/_page_for_links.html.erb +43 -0
  128. data/app/views/admin/pages/_page_infos.html.erb +3 -0
  129. data/app/views/admin/pages/_page_status.html.erb +9 -0
  130. data/app/views/admin/pages/_sitemap.html.erb +99 -0
  131. data/app/views/admin/pages/configure.html.erb +71 -0
  132. data/app/views/admin/pages/configure_external.html.erb +40 -0
  133. data/app/views/admin/pages/destroy.js.erb +12 -0
  134. data/app/views/admin/pages/edit.html.erb +185 -0
  135. data/app/views/admin/pages/flush.js.erb +2 -0
  136. data/app/views/admin/pages/fold.js.erb +4 -0
  137. data/app/views/admin/pages/index.html.erb +108 -0
  138. data/app/views/admin/pages/link.html.erb +30 -0
  139. data/app/views/admin/pages/locked.html.erb +3 -0
  140. data/app/views/admin/pages/new.html.erb +50 -0
  141. data/app/views/admin/pages/show.html.erb +1 -0
  142. data/app/views/admin/pages/sort.js.erb +6 -0
  143. data/app/views/admin/pages/unlock.js.erb +8 -0
  144. data/app/views/admin/pages/update.js.erb +19 -0
  145. data/app/views/admin/partials/_flash.html.erb +4 -0
  146. data/app/views/admin/partials/_flash_notices.html.erb +5 -0
  147. data/app/views/admin/partials/_mainnavigation_entry.html.erb +27 -0
  148. data/app/views/admin/partials/_pagination_links.html.erb +7 -0
  149. data/app/views/admin/partials/_per_page_links.html.erb +17 -0
  150. data/app/views/admin/partials/_remote_pagination_links.html.erb +11 -0
  151. data/app/views/admin/partials/_remote_search_form.html.erb +36 -0
  152. data/app/views/admin/partials/_search_form.html.erb +17 -0
  153. data/app/views/admin/partials/_sub_navigation.html.erb +14 -0
  154. data/app/views/admin/partials/_upload_form.html.erb +116 -0
  155. data/app/views/admin/pictures/_archive_overlay_images.html.erb +17 -0
  156. data/app/views/admin/pictures/_filter_and_size_bar.html.erb +88 -0
  157. data/app/views/admin/pictures/_picture.html.erb +36 -0
  158. data/app/views/admin/pictures/_picture_to_assign.html.erb +32 -0
  159. data/app/views/admin/pictures/_pictures_list.html.erb +12 -0
  160. data/app/views/admin/pictures/archive_overlay.html.erb +3 -0
  161. data/app/views/admin/pictures/create.js.erb +12 -0
  162. data/app/views/admin/pictures/index.html.erb +56 -0
  163. data/app/views/admin/pictures/new.html.erb +11 -0
  164. data/app/views/admin/pictures/show_in_window.html.erb +1 -0
  165. data/app/views/admin/pictures/update.js.erb +11 -0
  166. data/app/views/admin/signup.html.erb +16 -0
  167. data/app/views/admin/trash/index.html.erb +25 -0
  168. data/app/views/admin/users/_table.html.erb +54 -0
  169. data/app/views/admin/users/_user.html.erb +36 -0
  170. data/app/views/admin/users/edit.html.erb +6 -0
  171. data/app/views/admin/users/index.html.erb +41 -0
  172. data/app/views/admin/users/new.html.erb +6 -0
  173. data/app/views/attachments/show.html.erb +1 -0
  174. data/app/views/elements/_article_editor.html.erb +4 -0
  175. data/app/views/elements/_article_view.html.erb +25 -0
  176. data/app/views/elements/_bild_editor.html.erb +1 -0
  177. data/app/views/elements/_bild_text_editor.html.erb +2 -0
  178. data/app/views/elements/_bild_text_view.html.erb +9 -0
  179. data/app/views/elements/_bild_view.html.erb +9 -0
  180. data/app/views/elements/_claim_editor.html.erb +1 -0
  181. data/app/views/elements/_claim_view.html.erb +1 -0
  182. data/app/views/elements/_contactform_editor.html.erb +7 -0
  183. data/app/views/elements/_contactform_view.html.erb +92 -0
  184. data/app/views/elements/_editor_not_found.html.erb +5 -0
  185. data/app/views/elements/_footnote_editor.html.erb +1 -0
  186. data/app/views/elements/_footnote_view.html.erb +5 -0
  187. data/app/views/elements/_header_editor.html.erb +1 -0
  188. data/app/views/elements/_header_view.html.erb +1 -0
  189. data/app/views/elements/_headline_editor.html.erb +1 -0
  190. data/app/views/elements/_headline_view.html.erb +1 -0
  191. data/app/views/elements/_image_mosaic_editor.html.erb +2 -0
  192. data/app/views/elements/_image_mosaic_view.html.erb +12 -0
  193. data/app/views/elements/_intro_editor.html.erb +1 -0
  194. data/app/views/elements/_intro_image_text_editor.html.erb +3 -0
  195. data/app/views/elements/_intro_image_text_view.html.erb +16 -0
  196. data/app/views/elements/_intro_view.html.erb +3 -0
  197. data/app/views/elements/_news_editor.html.erb +3 -0
  198. data/app/views/elements/_news_view.html.erb +11 -0
  199. data/app/views/elements/_searchresult_editor.html.erb +1 -0
  200. data/app/views/elements/_searchresult_view.html.erb +42 -0
  201. data/app/views/elements/_sitemap_editor.html.erb +3 -0
  202. data/app/views/elements/_sitemap_view.html.erb +38 -0
  203. data/app/views/elements/_sitename_editor.html.erb +1 -0
  204. data/app/views/elements/_sitename_view.html.erb +1 -0
  205. data/app/views/elements/_subheadline_editor.html.erb +1 -0
  206. data/app/views/elements/_subheadline_view.html.erb +5 -0
  207. data/app/views/elements/_text_editor.html.erb +1 -0
  208. data/app/views/elements/_text_view.html.erb +3 -0
  209. data/app/views/elements/_view_not_found.html.erb +1 -0
  210. data/app/views/elements/show.html.erb +6 -0
  211. data/app/views/elements/show.js.erb +11 -0
  212. data/app/views/essences/_essence_audio_editor.html.erb +1 -0
  213. data/app/views/essences/_essence_audio_view.html.erb +33 -0
  214. data/app/views/essences/_essence_date_editor.html.erb +12 -0
  215. data/app/views/essences/_essence_date_view.html.erb +7 -0
  216. data/app/views/essences/_essence_file_editor.html.erb +63 -0
  217. data/app/views/essences/_essence_file_view.html.erb +6 -0
  218. data/app/views/essences/_essence_flash_editor.html.erb +1 -0
  219. data/app/views/essences/_essence_flash_view.html.erb +26 -0
  220. data/app/views/essences/_essence_html_editor.html.erb +8 -0
  221. data/app/views/essences/_essence_html_view.html.erb +1 -0
  222. data/app/views/essences/_essence_picture_editor.html.erb +70 -0
  223. data/app/views/essences/_essence_picture_tools.html.erb +60 -0
  224. data/app/views/essences/_essence_picture_view.html.erb +42 -0
  225. data/app/views/essences/_essence_richtext_editor.html.erb +9 -0
  226. data/app/views/essences/_essence_richtext_view.html.erb +5 -0
  227. data/app/views/essences/_essence_text_editor.html.erb +82 -0
  228. data/app/views/essences/_essence_text_view.html.erb +11 -0
  229. data/app/views/essences/_essence_video_editor.html.erb +1 -0
  230. data/app/views/essences/_essence_video_view.html.erb +35 -0
  231. data/app/views/layouts/alchemy.html.erb +60 -0
  232. data/app/views/layouts/login.html.erb +60 -0
  233. data/app/views/layouts/pages.html.erb +31 -0
  234. data/app/views/layouts/sitemap.xml.erb +4 -0
  235. data/app/views/messages/mail.text.erb +10 -0
  236. data/app/views/messages/new.html.erb +1 -0
  237. data/app/views/notifications/admin_user_created.text.erb +13 -0
  238. data/app/views/notifications/registered_user_created.text.erb +10 -0
  239. data/app/views/page_layouts/_contact.html.erb +14 -0
  240. data/app/views/page_layouts/_external.html.erb +1 -0
  241. data/app/views/page_layouts/_intro.html.erb +14 -0
  242. data/app/views/page_layouts/_layout_footer.html.erb +14 -0
  243. data/app/views/page_layouts/_layout_header.html.erb +14 -0
  244. data/app/views/page_layouts/_news.html.erb +14 -0
  245. data/app/views/page_layouts/_newsletter_layout.html.erb +1 -0
  246. data/app/views/page_layouts/_search.html.erb +14 -0
  247. data/app/views/page_layouts/_standard.html.erb +14 -0
  248. data/app/views/pages/show.html.erb +1 -0
  249. data/app/views/pages/show.rss.builder +27 -0
  250. data/app/views/pages/sitemap.xml.erb +8 -0
  251. data/app/views/partials/_navigation_image_link.html.erb +14 -0
  252. data/app/views/partials/_navigation_link.html.erb +20 -0
  253. data/app/views/partials/_navigation_renderer.html.erb +23 -0
  254. data/app/views/pictures/show.gif.flexi +19 -0
  255. data/app/views/pictures/show.jpg.flexi +19 -0
  256. data/app/views/pictures/show.png.flexi +19 -0
  257. data/app/views/pictures/thumbnail.png.flexi +13 -0
  258. data/app/views/pictures/zoom.png.flexi +3 -0
  259. data/assets/images/ajax_loader.gif +0 -0
  260. data/assets/images/alchemy-logo.png +0 -0
  261. data/assets/images/flags.png +0 -0
  262. data/assets/images/gui/navi-tab.png +0 -0
  263. data/assets/images/gui/shading.png +0 -0
  264. data/assets/images/gui/shading_90.png +0 -0
  265. data/assets/images/gui/toggle.png +0 -0
  266. data/assets/images/icons.png +0 -0
  267. data/assets/images/jquery-sb/select_arrow.gif +0 -0
  268. data/assets/images/jquery-sb/select_arrow_bg.gif +0 -0
  269. data/assets/images/jquery-sb/select_arrow_bg_hover.gif +0 -0
  270. data/assets/images/jquery-ui/ui-icons_666666_256x240.png +0 -0
  271. data/assets/images/placeholder.png +0 -0
  272. data/assets/images/swfupload/browse_button.png +0 -0
  273. data/assets/javascripts/alchemy.element_editor_selector.js +88 -0
  274. data/assets/javascripts/alchemy.growler.js +44 -0
  275. data/assets/javascripts/alchemy.image_cropper.js +56 -0
  276. data/assets/javascripts/alchemy.js +892 -0
  277. data/assets/javascripts/alchemy.link_overlay.js +221 -0
  278. data/assets/javascripts/alchemy.page_sorter.js +42 -0
  279. data/assets/javascripts/alchemy.preview.js +145 -0
  280. data/assets/javascripts/jquery-ui.js +428 -0
  281. data/assets/javascripts/jquery.Jcrop.min.js +246 -0
  282. data/assets/javascripts/jquery.dialogextend.min.js +8 -0
  283. data/assets/javascripts/jquery.in-place-edit.js +171 -0
  284. data/assets/javascripts/jquery.js +18 -0
  285. data/assets/javascripts/jquery.rails.js +315 -0
  286. data/assets/javascripts/jquery.sb.min.js +14 -0
  287. data/assets/javascripts/jquery.scrollTo-1.4.2-min.js +11 -0
  288. data/assets/javascripts/jquery.ui.nestedSortable.js +291 -0
  289. data/assets/javascripts/jquery.ui.tabspaging.js +281 -0
  290. data/assets/javascripts/swfupload/fileprogress.js +203 -0
  291. data/assets/javascripts/swfupload/handlers.js +171 -0
  292. data/assets/javascripts/swfupload/queue.js +98 -0
  293. data/assets/javascripts/swfupload/swfupload.js +980 -0
  294. data/assets/javascripts/swfupload/swfupload.swf +0 -0
  295. data/assets/javascripts/tiny_mce/jquery.tinymce.js +1 -0
  296. data/assets/javascripts/tiny_mce/langs/de.js +1 -0
  297. data/assets/javascripts/tiny_mce/langs/en.js +223 -0
  298. data/assets/javascripts/tiny_mce/license.txt +504 -0
  299. data/assets/javascripts/tiny_mce/plugins/alchemy_link/editor_plugin.js +43 -0
  300. data/assets/javascripts/tiny_mce/plugins/alchemy_link/langs/de.js +4 -0
  301. data/assets/javascripts/tiny_mce/plugins/alchemy_link/langs/en.js +4 -0
  302. data/assets/javascripts/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -0
  303. data/assets/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm +109 -0
  304. data/assets/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +1 -0
  305. data/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/alchemy/window.css +402 -0
  306. data/assets/javascripts/tiny_mce/plugins/inlinepopups/template.htm +387 -0
  307. data/assets/javascripts/tiny_mce/plugins/lists/editor_plugin.js +1 -0
  308. data/assets/javascripts/tiny_mce/plugins/paste/editor_plugin.js +1 -0
  309. data/assets/javascripts/tiny_mce/plugins/paste/js/pastetext.js +36 -0
  310. data/assets/javascripts/tiny_mce/plugins/paste/js/pasteword.js +51 -0
  311. data/assets/javascripts/tiny_mce/plugins/paste/langs/de_dlg.js +1 -0
  312. data/assets/javascripts/tiny_mce/plugins/paste/langs/en_dlg.js +5 -0
  313. data/assets/javascripts/tiny_mce/plugins/paste/pastetext.htm +27 -0
  314. data/assets/javascripts/tiny_mce/plugins/paste/pasteword.htm +21 -0
  315. data/assets/javascripts/tiny_mce/plugins/table/cell.htm +180 -0
  316. data/assets/javascripts/tiny_mce/plugins/table/css/cell.css +17 -0
  317. data/assets/javascripts/tiny_mce/plugins/table/css/row.css +25 -0
  318. data/assets/javascripts/tiny_mce/plugins/table/css/table.css +13 -0
  319. data/assets/javascripts/tiny_mce/plugins/table/editor_plugin.js +1 -0
  320. data/assets/javascripts/tiny_mce/plugins/table/js/cell.js +319 -0
  321. data/assets/javascripts/tiny_mce/plugins/table/js/merge_cells.js +27 -0
  322. data/assets/javascripts/tiny_mce/plugins/table/js/row.js +237 -0
  323. data/assets/javascripts/tiny_mce/plugins/table/js/table.js +450 -0
  324. data/assets/javascripts/tiny_mce/plugins/table/langs/de_dlg.js +1 -0
  325. data/assets/javascripts/tiny_mce/plugins/table/langs/en_dlg.js +75 -0
  326. data/assets/javascripts/tiny_mce/plugins/table/merge_cells.htm +32 -0
  327. data/assets/javascripts/tiny_mce/plugins/table/row.htm +158 -0
  328. data/assets/javascripts/tiny_mce/plugins/table/table.htm +188 -0
  329. data/assets/javascripts/tiny_mce/themes/advanced/about.htm +52 -0
  330. data/assets/javascripts/tiny_mce/themes/advanced/anchor.htm +26 -0
  331. data/assets/javascripts/tiny_mce/themes/advanced/charmap.htm +51 -0
  332. data/assets/javascripts/tiny_mce/themes/advanced/color_picker.htm +74 -0
  333. data/assets/javascripts/tiny_mce/themes/advanced/editor_template.js +1 -0
  334. data/assets/javascripts/tiny_mce/themes/advanced/image.htm +80 -0
  335. data/assets/javascripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  336. data/assets/javascripts/tiny_mce/themes/advanced/img/flash.gif +0 -0
  337. data/assets/javascripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  338. data/assets/javascripts/tiny_mce/themes/advanced/img/iframe.gif +0 -0
  339. data/assets/javascripts/tiny_mce/themes/advanced/img/pagebreak.gif +0 -0
  340. data/assets/javascripts/tiny_mce/themes/advanced/img/quicktime.gif +0 -0
  341. data/assets/javascripts/tiny_mce/themes/advanced/img/realmedia.gif +0 -0
  342. data/assets/javascripts/tiny_mce/themes/advanced/img/shockwave.gif +0 -0
  343. data/assets/javascripts/tiny_mce/themes/advanced/img/trans.gif +0 -0
  344. data/assets/javascripts/tiny_mce/themes/advanced/img/video.gif +0 -0
  345. data/assets/javascripts/tiny_mce/themes/advanced/img/windowsmedia.gif +0 -0
  346. data/assets/javascripts/tiny_mce/themes/advanced/js/about.js +73 -0
  347. data/assets/javascripts/tiny_mce/themes/advanced/js/anchor.js +42 -0
  348. data/assets/javascripts/tiny_mce/themes/advanced/js/charmap.js +355 -0
  349. data/assets/javascripts/tiny_mce/themes/advanced/js/color_picker.js +329 -0
  350. data/assets/javascripts/tiny_mce/themes/advanced/js/image.js +247 -0
  351. data/assets/javascripts/tiny_mce/themes/advanced/js/link.js +153 -0
  352. data/assets/javascripts/tiny_mce/themes/advanced/js/source_editor.js +56 -0
  353. data/assets/javascripts/tiny_mce/themes/advanced/langs/de.js +1 -0
  354. data/assets/javascripts/tiny_mce/themes/advanced/langs/de_dlg.js +1 -0
  355. data/assets/javascripts/tiny_mce/themes/advanced/langs/en.js +68 -0
  356. data/assets/javascripts/tiny_mce/themes/advanced/langs/en_dlg.js +54 -0
  357. data/assets/javascripts/tiny_mce/themes/advanced/link.htm +57 -0
  358. data/assets/javascripts/tiny_mce/themes/advanced/shortcuts.htm +47 -0
  359. data/assets/javascripts/tiny_mce/themes/advanced/skins/default/content.css +47 -0
  360. data/assets/javascripts/tiny_mce/themes/advanced/skins/default/dialog.css +117 -0
  361. data/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  362. data/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  363. data/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  364. data/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  365. data/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  366. data/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  367. data/assets/javascripts/tiny_mce/themes/advanced/skins/default/ui.css +214 -0
  368. data/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/content.css +23 -0
  369. data/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css +105 -0
  370. data/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css +102 -0
  371. data/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/content.css +46 -0
  372. data/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +117 -0
  373. data/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  374. data/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  375. data/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  376. data/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +217 -0
  377. data/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +8 -0
  378. data/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
  379. data/assets/javascripts/tiny_mce/themes/advanced/source_editor.htm +25 -0
  380. data/assets/javascripts/tiny_mce/themes/simple/langs/de.js +1 -0
  381. data/assets/javascripts/tiny_mce/tiny_mce.js +1 -0
  382. data/assets/javascripts/tiny_mce/tiny_mce_popup.js +5 -0
  383. data/assets/javascripts/tiny_mce/utils/editable_selects.js +70 -0
  384. data/assets/javascripts/tiny_mce/utils/form_utils.js +210 -0
  385. data/assets/javascripts/tiny_mce/utils/mctabs.js +162 -0
  386. data/assets/javascripts/tiny_mce/utils/validate.js +252 -0
  387. data/assets/stylesheets/Jcrop.gif +0 -0
  388. data/assets/stylesheets/alchemy.css +3629 -0
  389. data/assets/stylesheets/alchemy_tinymce_content.css +94 -0
  390. data/assets/stylesheets/alchemy_tinymce_dialog.css +415 -0
  391. data/assets/stylesheets/default/img/tabs.gif +0 -0
  392. data/assets/stylesheets/elements.css +900 -0
  393. data/assets/stylesheets/flags.css +1 -0
  394. data/assets/stylesheets/ie6.css +18 -0
  395. data/assets/stylesheets/jquery-ui-1.8.7.alchemy.css +2023 -0
  396. data/assets/stylesheets/jquery.Jcrop.css +35 -0
  397. data/assets/stylesheets/jquery.sb.css +244 -0
  398. data/assets/stylesheets/standard_set.css +374 -0
  399. data/bin/alchemy +347 -0
  400. data/config/alchemy/config.yml +199 -0
  401. data/config/alchemy/elements.yml +219 -0
  402. data/config/alchemy/page_layouts.yml +65 -0
  403. data/config/asset_packages.yml +32 -0
  404. data/config/authorization_rules.rb +96 -0
  405. data/config/initializers/authorization.rb +4 -0
  406. data/config/initializers/cache_storage.rb +1 -0
  407. data/config/initializers/fast_gettext.rb +2 -0
  408. data/config/initializers/tiny_mce_hammer.rb +32 -0
  409. data/config/locales/de.yml +370 -0
  410. data/config/locales/en.yml +364 -0
  411. data/config/routes.rb +141 -0
  412. data/db/migrate/20100607143125_create_pages.rb +34 -0
  413. data/db/migrate/20100607144254_create_elements.rb +20 -0
  414. data/db/migrate/20100607145256_create_contents.rb +18 -0
  415. data/db/migrate/20100607145719_create_users.rb +32 -0
  416. data/db/migrate/20100607150611_create_pictures.rb +16 -0
  417. data/db/migrate/20100607150812_create_attachments.rb +16 -0
  418. data/db/migrate/20100607153647_create_folded_pages.rb +13 -0
  419. data/db/migrate/20100607161345_create_essence_texts.rb +19 -0
  420. data/db/migrate/20100607162339_create_elements_pages.rb +12 -0
  421. data/db/migrate/20100607193638_create_essence_pictures.rb +23 -0
  422. data/db/migrate/20100607193646_create_essence_richtexts.rb +16 -0
  423. data/db/migrate/20100607193653_create_essence_htmls.rb +13 -0
  424. data/db/migrate/20100609111653_create_essence_dates.rb +13 -0
  425. data/db/migrate/20100609111809_create_essence_files.rb +15 -0
  426. data/db/migrate/20100609111821_create_essence_flashes.rb +16 -0
  427. data/db/migrate/20100609111837_create_essence_videos.rb +18 -0
  428. data/db/migrate/20100616150753_create_essence_audios.rb +17 -0
  429. data/db/migrate/20100812085225_add_crop_from_and_crop_size_to_essence_pictures.rb +11 -0
  430. data/db/migrate/20100909140701_change_essence_htmls_source_column_type.rb +9 -0
  431. data/db/migrate/20101109150312_alter_pages_visible_column_default.rb +9 -0
  432. data/db/migrate/20101109151812_create_languages.rb +19 -0
  433. data/db/migrate/20101216151419_add_language_id_to_pages.rb +19 -0
  434. data/db/migrate/20101216155216_add_index_to_languages.rb +9 -0
  435. data/db/migrate/20101216173323_add_default_to_languages.rb +9 -0
  436. data/db/migrate/20101218130049_add_urlname_index_to_pages.rb +9 -0
  437. data/db/migrate/20110115123343_remove_css_class_default_from_essence_pictures.rb +11 -0
  438. data/db/migrate/20110224105120_change_pages_visible_default.rb +11 -0
  439. data/db/migrate/20110228182659_remove_default_page_layout_from_pages.rb +11 -0
  440. data/db/migrate/20110414163140_remove_display_name_from_elements.rb +11 -0
  441. data/db/migrate/20110511100516_rename_essence_texts_title_to_link_title.rb +9 -0
  442. data/db/migrate/20110529130429_create_cells.rb +14 -0
  443. data/db/migrate/20110529130500_add_cell_id_to_elements.rb +11 -0
  444. data/db/migrate/20110530102804_change_pages_page_layout_column.rb +11 -0
  445. data/db/migrate/20110707190728_add_render_size_to_essence_pictures.rb +9 -0
  446. data/db/migrate/20110711142057_change_open_link_in_new_window_to_link_target.rb +19 -0
  447. data/lib/alchemy.rb +24 -0
  448. data/lib/alchemy/config.rb +51 -0
  449. data/lib/alchemy/controller.rb +79 -0
  450. data/lib/alchemy/engine.rb +29 -0
  451. data/lib/alchemy/essence.rb +178 -0
  452. data/lib/alchemy/file_utilz.rb +73 -0
  453. data/lib/alchemy/page_layout.rb +66 -0
  454. data/lib/alchemy/remote_pagination_link_renderer.rb +17 -0
  455. data/lib/alchemy/seeder.rb +112 -0
  456. data/lib/alchemy/version.rb +5 -0
  457. data/lib/extensions/action_view.rb +17 -0
  458. data/lib/extensions/array.rb +25 -0
  459. data/lib/extensions/hash.rb +34 -0
  460. data/lib/middleware/flash_session_cookie.rb +22 -0
  461. data/lib/rails/generators/alchemy/elements/elements_generator.rb +35 -0
  462. data/lib/rails/generators/alchemy/elements/templates/editor.html.erb +9 -0
  463. data/lib/rails/generators/alchemy/elements/templates/view.html.erb +21 -0
  464. data/lib/rails/generators/alchemy/page_layouts/page_layouts_generator.rb +32 -0
  465. data/lib/rails/generators/alchemy/page_layouts/templates/layout.html.erb +1 -0
  466. data/lib/rails/generators/alchemy/plugin/plugin_generator.rb +29 -0
  467. data/lib/rails/generators/alchemy/plugin/templates/authorization_rules.rb +5 -0
  468. data/lib/rails/generators/alchemy/plugin/templates/config.yml +30 -0
  469. data/lib/rails/generators/alchemy/plugin/templates/init.rb +4 -0
  470. data/lib/rails/generators/alchemy/plugin/templates/routes.rb +4 -0
  471. data/lib/rails/generators/alchemy/scaffold/scaffold_generator.rb +35 -0
  472. data/lib/rails/generators/alchemy/scaffold/templates/elements.yml +91 -0
  473. data/lib/rails/generators/alchemy/scaffold/templates/page_layouts.yml +29 -0
  474. data/lib/rails/templates/alchemy.rb +14 -0
  475. data/lib/tasks/fleximage.rake +154 -0
  476. data/lib/tasks/gettext.rake +75 -0
  477. data/lib/tasks/install.rake +123 -0
  478. data/lib/tasks/upgrade.rake +211 -0
  479. data/lib/translation_extras/alchemy_core_modules.rb +11 -0
  480. data/lib/vendor/i18n_label.rb +23 -0
  481. data/locale/alchemy.pot +1728 -0
  482. data/locale/de/LC_MESSAGES/alchemy.mo +0 -0
  483. data/locale/de/alchemy.po +1774 -0
  484. data/locale/en/LC_MESSAGES/alchemy.mo +0 -0
  485. data/locale/en/alchemy.po +1742 -0
  486. data/locale/missing_translations.rb +4 -0
  487. data/locale/model_attributes.rb +56 -0
  488. data/recipes/alchemy_capistrano_tasks.rb +83 -0
  489. metadata +769 -0
@@ -0,0 +1,347 @@
1
+ #!/usr/bin/env ruby
2
+ begin
3
+ require "rubygems"
4
+ require "thor"
5
+ rescue LoadError
6
+ raise LoadError, "\n\nThor not installed. Please run: gem install thor\n\n"
7
+ end
8
+
9
+ class Alchemy < Thor
10
+
11
+ include Thor::Actions
12
+
13
+ desc "new PROJECT", "Creates a new Alchemy project."
14
+ method_option :scm, :type => :string, :aliases => "-s", :desc => "Type of scm to use for this project. Leave blank for none."
15
+ def new(project)
16
+ project = project.downcase.strip.gsub(/ /, '_')
17
+ if yes?("Install Alchemy into ./#{project}? (y/N)")
18
+
19
+ say "Installing...", :yellow
20
+
21
+ if system "rails new #{project} -m #{File.join(File.dirname(__FILE__), '..', 'lib', 'rails', 'templates', 'alchemy.rb')} -d mysql -JT"
22
+
23
+ @application = project
24
+
25
+ create_database_yml
26
+
27
+ with_standard_set = yes?("\nDo you want to install Alchemys Standardset? (y/N)")
28
+
29
+ %x[
30
+ cd ./#{project}
31
+ rails g alchemy:scaffold#{' --with-standard-set' if with_standard_set}
32
+ rm ./public/index.html
33
+ rm ./public/images/rails.png
34
+ ]
35
+
36
+ if options[:scm]
37
+
38
+ %x[
39
+ cd ./#{project}
40
+ rm -rf ./tmp/*
41
+ rm -rf ./log/*
42
+ mkdir -p ./index
43
+ mkdir -p ./uploads
44
+ ]
45
+
46
+ case options[:scm]
47
+ when 'svn'
48
+ server = ask("\nURL of your svn server? (http://svn.magiclabs.de/customers)")
49
+ server = "http://svn.magiclabs.de/customers" if server.empty?
50
+ repository = ask("\nName of the repository? (#{project})")
51
+ repository = project if repository.empty?
52
+
53
+ say "\nImporting #{project} into #{server}/#{repository} ...", :yellow
54
+ output = %x[svn import ./#{project} #{server}/#{repository} -m 'initial import by Alchemy installer']; imported = $?.success?
55
+
56
+ if imported
57
+
58
+ say "Removing and checking out again...", :yellow
59
+ %x[
60
+ rm -rf ./#{project}
61
+ svn co #{server}/#{repository}
62
+ ]
63
+
64
+ say "Committing ignores...", :yellow
65
+ %x[
66
+ cd ./#{project}
67
+ svn propset svn:ignore '*' tmp/ log/ index/ uploads/
68
+ svn propset svn:ignore 'alchemy' ./public/images ./public/stylesheets ./public/javascripts
69
+ svn propset svn:ignore 'pictures' ./public
70
+ svn propset svn:ignore 'database.yml' ./config
71
+ svn commit -m 'set ignores'
72
+ ]
73
+
74
+ # deploy.rb
75
+ if yes? "\nUse Capistrano for deployment? (y/N)"
76
+ @repository_url = "#{server}/#{repository}"
77
+
78
+ # ssh settings
79
+ @ssh_user = ask "SSH User:"
80
+ @ssh_password = ask "SSH Password:"
81
+ standard_port = 12312
82
+ @ssh_port = ask "SSH Port (#{standard_port}):"
83
+ @ssh_port = standard_port if @ssh_port.empty?
84
+
85
+ # db settings
86
+ @db_user = ask "Database User (#{@ssh_user}):"
87
+ @db_user = @ssh_user if @db_user.empty?
88
+ @db_password = ask "Database Password:"
89
+ standard_db_name = "usr_#{@db_user}_1"
90
+ @db_name = ask "Database Name (#{standard_db_name}):"
91
+ @db_name = standard_db_name if @db_name.empty?
92
+ standard_host = "localhost"
93
+ @db_host = ask "Database Host (#{standard_host}):"
94
+ @db_host = standard_host if @db_host.empty?
95
+ standard_socket = '/var/run/mysqld/mysqld.sock'
96
+ @db_socket = ask "Database Socket (#{standard_socket}):"
97
+ @db_socket = standard_socket if @db_socket.empty?
98
+
99
+ # deploy_path
100
+ standard_path = "/var/www/#{@ssh_user}/html/alchemy"
101
+ @deploy_path = ask "Deploy Path (#{standard_path}):"
102
+ @deploy_path = standard_path if @deploy_path.empty?
103
+
104
+ # scm settings
105
+ @scm_user = ask "Subversion User:"
106
+ @scm_password = ask "Subversion Password:"
107
+
108
+ # server settings
109
+ @server = ask "Hostname/IP of server to deploy to:"
110
+
111
+ create_deploy_rb
112
+
113
+ say "\nCapifying...", :yellow
114
+
115
+ %x[
116
+ cd #{project}
117
+ capify .
118
+ svn add ./config/deploy.rb ./Capfile
119
+ svn commit -m 'capified'
120
+ ]
121
+
122
+ end
123
+
124
+ else
125
+ say "Error while importing!", :red
126
+ end
127
+
128
+ when 'git'
129
+ gitignore = <<-GIT
130
+ log/*
131
+ tmp/*
132
+ .DS_Store
133
+ upload/*
134
+ index/*
135
+ public/**/alchemy
136
+ public/pictures
137
+ config/database.yml
138
+ GIT
139
+ %x[
140
+ cd #{project}
141
+ echo #{gitignore} > #{project}/.gitignore
142
+ touch ./index/.gitkeep
143
+ touch ./uploads/.gitkeep
144
+ git init .
145
+ git commit -am 'inital commit'
146
+ ]
147
+ end
148
+
149
+ end
150
+
151
+ %x[
152
+ cd ./#{project}
153
+ rake alchemy:prepare db:create db:migrate db:seed
154
+ ]
155
+
156
+ readme = <<-EOF
157
+ \nSuccessfully installed Alchemy into ./#{project}
158
+
159
+ Next steps:
160
+
161
+ 1. Go into your projects folder:
162
+
163
+ cd ./#{project}
164
+
165
+ 2. Start your local Rails server:
166
+
167
+ rails server
168
+
169
+ 3. Open a browser and enter the following URL:
170
+
171
+ http://localhost:3000
172
+
173
+ 4. Follow the instructions to complete the installation!
174
+
175
+ Thank you for using Alchemy!
176
+
177
+ EOF
178
+ say readme, :green
179
+
180
+ else
181
+ say "\nError while installation!\n", :red
182
+ end
183
+
184
+ else
185
+ return
186
+ end
187
+ end
188
+
189
+ private
190
+
191
+ def create_database_yml
192
+ @db_root_password = ask("\nPlease provide your local root password for mysql (Leave blank for none):")
193
+ local_standard_socket = '/tmp/mysql.sock'
194
+ @db_local_socket = ask("\nPlease provide your local mysql socket (#{local_standard_socket}):")
195
+ @db_local_socket = local_standard_socket if @db_local_socket.empty?
196
+ create_file "./#{@application}/config/database.yml" do
197
+ <<-DATABASE
198
+ development:
199
+ adapter: mysql2
200
+ encoding: utf8
201
+ reconnect: false
202
+ database: #{@application}_development
203
+ pool: 5
204
+ username: root
205
+ password: #{@db_root_password}
206
+ socket: #{@db_local_socket}
207
+
208
+ # Warning: The database defined as "test" will be erased and
209
+ # re-generated from your development database when you run "rake".
210
+ # Do not set this db to the same as development or production.
211
+ test:
212
+ adapter: mysql2
213
+ encoding: utf8
214
+ reconnect: false
215
+ database: #{@application}_test
216
+ pool: 5
217
+ username: root
218
+ password: #{@db_root_password}
219
+ socket: #{@db_local_socket}
220
+
221
+ production:
222
+ adapter: mysql2
223
+ encoding: utf8
224
+ reconnect: false
225
+ database: #{@application}_production
226
+ pool: 5
227
+ username: root
228
+ password: #{@db_root_password}
229
+ socket: #{@db_local_socket}
230
+ DATABASE
231
+ end
232
+ end
233
+
234
+ def create_deploy_rb
235
+ create_file "./#{@application}/config/deploy.rb" do
236
+ <<-DEPLOY
237
+ # set the applicationname here
238
+ set :application, "#{@application}"
239
+
240
+ # set the apps repository url
241
+ set :repository_url, "#{@repository_url}"
242
+
243
+ # ssh user settings. please change to customers
244
+ set :user, "#{@ssh_user}"
245
+ set :password, "#{@ssh_password}"
246
+ set :port, #{@ssh_port}
247
+ set :use_sudo, false
248
+
249
+ # database
250
+ set :database_user, "#{@db_user}"
251
+ set :database_password, "#{@db_password}"
252
+ set :database_name, "#{@db_name}"
253
+ set :database_host, "#{@db_host}"
254
+ set :database_socket, "#{@db_socket}"
255
+
256
+ # domain names
257
+ role :app, "#{@server}"
258
+ role :web, "#{@server}"
259
+ role :db, "#{@server}", :primary => true
260
+
261
+ # set the public webserver path
262
+ set :deploy_to, "#{@deploy_path}"
263
+
264
+ set :scm, :subversion
265
+ set :scm_user, "#{@scm_user}"
266
+ set :scm_password, "#{@scm_password}"
267
+
268
+ set :repository, Proc.new{ "--username \#{scm_user} --password \#{scm_password} \#{repository_url}" }
269
+
270
+ after "deploy:setup", "alchemy:shared_folders:create"
271
+ after "deploy:setup", "alchemy:database_yml:create"
272
+
273
+ after "deploy:symlink", "alchemy:shared_folders:symlink"
274
+ after "deploy:symlink", "alchemy:database_yml:symlink"
275
+
276
+ before "deploy:restart", "deploy:migrate"
277
+ before "deploy:restart", "alchemy:db:migrate"
278
+
279
+ before "deploy:restart", "deploy:seed"
280
+ before "deploy:restart", "alchemy:assets:copy"
281
+
282
+ after "deploy", "deploy:cleanup"
283
+
284
+ namespace :logs do
285
+ desc "show last 50 lines of production.log"
286
+ task :tail do
287
+ run "tail -n50 \#{shared_path}/log/production.log"
288
+ end
289
+
290
+ desc "watch tail of production.log and wait for additional data to be appended to the input"
291
+ task :watch do
292
+ stream("tail -f \#{shared_path}/log/production.log")
293
+ end
294
+ end
295
+
296
+ namespace :alchemy do
297
+
298
+ namespace :database_yml do
299
+
300
+ desc "Creates the database.yml file for server database"
301
+ task :create, :roles => :app do
302
+ db_config = ERB.new <<-EOF
303
+ production:
304
+ adapter: mysql2
305
+ encoding: utf8
306
+ database: \#{database_name}
307
+ username: \#{database_user}
308
+ password: \#{database_password}
309
+ host: \#{database_host}
310
+ socket: \#{database_socket}
311
+ EOF
312
+ run "mkdir -p \#{shared_path}/config"
313
+ put db_config.result, "\#{shared_path}/config/database.yml"
314
+ end
315
+
316
+ desc ""
317
+ task :symlink do
318
+ run "ln -nfs \#{shared_path}/config/database.yml \#{current_path}/config/"
319
+ end
320
+
321
+ end
322
+
323
+ end
324
+
325
+ namespace :deploy do
326
+ desc "Overwrite for the internal Capistrano deploy:start task."
327
+ task :start, :roles => :app do
328
+ run "echo 'Nothing to start'"
329
+ end
330
+
331
+ desc "Restart the server"
332
+ task :restart, :roles => :app do
333
+ run "touch \#{current_path}/tmp/restart.txt"
334
+ end
335
+
336
+ desc 'Seeds the database'
337
+ task :seed, :roles => :app, :except => { :no_release => true } do
338
+ run "cd \#{current_path} && RAILS_ENV=production rake db:seed"
339
+ end
340
+ end
341
+ DEPLOY
342
+ end
343
+ end
344
+
345
+ end
346
+
347
+ Alchemy.start
@@ -0,0 +1,199 @@
1
+ # = Configuration
2
+ #
3
+ # == This is the global Alchemy configuration file
4
+ # Please override your apps settings in your config/alchemy/config.yml file.
5
+ # You can use a handy rake task to generate it.
6
+ #
7
+ # rake alchemy:app_structure:create:config
8
+
9
+ # The amount of time of inactivity in minutes after which the user is kicked out of his current session.
10
+ # Only active in production environment!!!
11
+ :auto_logout_time: 30
12
+
13
+ # === Redirect options
14
+ # redirect_index: You can set to redirect (an 301 permanent, for all you SEO geeks ^_^) to first child page (typically the homepage) the index/intro page if it's not visible.
15
+ # So you don't get an 404 error if the language root page is not visible.
16
+ # redirect_to_public_child: Alchemy redirects to the first public child page found, if a page is not visible.
17
+ :redirect_index: true
18
+ :redirect_to_public_child: true
19
+
20
+ # Enabling the Ferret fulltext search engine.
21
+ # Tip! For best performance and stability install a crontab that reindexes ferrets search index periodly.
22
+ # Example: cd ~/html/alchemy/current && RAILS_ENV=production rake ferret:rebuild_index
23
+ :ferret: false
24
+
25
+ # === Pagecaching
26
+ # Enable/Disable pagecaching globally.
27
+ # Hint: You can enable/disable page caching for single Alchemy::PageLayouts in the page_layout.yml file.
28
+ :cache_pages: true
29
+
30
+ # === Sitemap
31
+ # Alchemy renders a nice HTML (<ul><li> style) and XML (Google conform!) Sitemap for you.
32
+ # Just place a sitemap element for a page layout in your page_layouts.yml file. Alchemy does the rest.
33
+ # ==== Options:
34
+ # show_root: Show language root page in sitemap?
35
+ # show_flag: enables the Checkbox in Page#update overlay. So your customer can set the visibilit of pages in the sitemap.
36
+ :sitemap:
37
+ :show_root: true
38
+ :show_flag: false
39
+
40
+ # === Picture rendering settings
41
+ # Alchemy uses Fleximage and RMagick to render images. Use {:image_size => "XXXxYYY", :crop => BOOLEAN [true]} to resize images.
42
+ # See https://github.com/Squeegy/fleximage for further infos.
43
+ # ==== Options:
44
+ # output_image_jpg_quality: If rendered as JPG this is the quality setting for it.
45
+ # preprocess_image_resize: Large images are downsized after upload to save diskspace.
46
+ # image_store_format: Masterimage storage format. Images are rendered from this master image, so a lossless format (png) is strongly recommended.
47
+ # image_output_format: Globally image output format setting.
48
+ # TIP: You can always override the output format in the options of your Essence. I.e. {:format => :gif}
49
+ :output_image_jpg_quality: 85
50
+ :preprocess_image_resize: 1000x1000
51
+ :image_store_format: png
52
+ :image_output_format: jpg
53
+
54
+ # Set available translations for your customers.
55
+ # Currently available translations are German and English.
56
+ :translations:
57
+ - :language_code: de
58
+ :language: Deutsch
59
+ - :language_code: en
60
+ :language: English
61
+
62
+ default_translation: de
63
+
64
+ # Default language for your homepgae.
65
+ default_language:
66
+ code: de
67
+ name: Deutsch
68
+ page_layout: intro
69
+ frontpage_name: Intro
70
+
71
+ # === Mailer Settings:
72
+ #
73
+ # To send Mails via contact forms you can create your form fields here and set which fields are to be validated.
74
+ #
75
+ # ==== Options:
76
+ #
77
+ # fields: An Array from Hashes with fieldname as keys and type as values. Types are ActiveRecord column types (i.e. string, text, boolean, etc.).
78
+ # validate_fields: A Hash with fieldname as key and a Hash (with :message as key and a message_id as value) as value
79
+ #
80
+ # ==== Translating validation messages:
81
+ #
82
+ # The message_id is passed through I18n.t so you can translate it in your language yml file.
83
+ #
84
+ # Example:
85
+ #
86
+ # de:
87
+ # alchemy:
88
+ # contactform:
89
+ # validations:
90
+ # enter_name: 'Bitte geben Sie einen Namen an'
91
+ #
92
+ :mailer:
93
+ :page_layout_name: contact
94
+ :forward_to_page: false
95
+ :mail_success_page: thanks
96
+ :fields: [salutation, firstname, lastname, address, zip, city, phone, email, message]
97
+ :validate_fields:
98
+ :lastname:
99
+ :message: enter_name
100
+ :email:
101
+ :message: enter_mail
102
+
103
+ # === User roles
104
+ # You can add own user roles. To set permissions for this roles please add an authorization_rules.rb file in your config folder.
105
+ # Further documentation for the auth system used please visit:
106
+ # https://github.com/stffn/declarative_authorization/blob/master/README.rdoc
107
+ #
108
+ # ==== Translating Userroles
109
+ # Userroles can be translated inside your the language yml file under:
110
+ # alchemy:
111
+ # user_roles:
112
+ # rolename: Name of the role
113
+ :user_roles: [registered, author, editor, admin]
114
+
115
+ # === Uploader Settings
116
+ # Allow filetypes to upload.
117
+ # Pass * to allow all kind of files.
118
+ :uploader:
119
+ :allowed_filetypes:
120
+ :pictures: [jpg, jpeg, gif, png, psd, pdf]
121
+ :attachments: [*]
122
+
123
+ # === Link Target Options
124
+ # Values for the link target selectbox inside the page link overlay.
125
+ # The value gets attached as a data-link-target attribute to the link.
126
+ #
127
+ # == Example:
128
+ # Open all links set to overlay inside an jQuery UI Dialog Window.
129
+ #
130
+ # jQuery(a[data-link-target="overlay"]).dialog();
131
+ :link_target_options: [blank]
132
+
133
+ # == Alchemy core plugins configuration
134
+
135
+ alchemy_plugins:
136
+
137
+ - name: dashboard
138
+ navigation:
139
+ name: 'home'
140
+ controller: 'admin'
141
+ action: index
142
+ icon: home
143
+ sub_navigation:
144
+ - name: 'home'
145
+ controller: 'admin'
146
+ action: index
147
+
148
+ - name: pages
149
+ navigation:
150
+ name: 'module: pages'
151
+ controller: 'admin/pages'
152
+ action: index
153
+ icon: pages
154
+ sub_navigation:
155
+ - name: 'module: pages'
156
+ controller: 'admin/pages'
157
+ action: index
158
+ - name: 'module: layoutpages'
159
+ controller: 'admin/layoutpages'
160
+ action: index
161
+ nested:
162
+ - controller: 'admin/pages'
163
+ action: edit
164
+
165
+ - name: languages
166
+ navigation:
167
+ name: 'module: languages'
168
+ controller: 'admin/languages'
169
+ action: index
170
+ icon: languages
171
+ sub_navigation:
172
+ - name: 'module: languages'
173
+ controller: 'admin/languages'
174
+ action: index
175
+
176
+ - name: users
177
+ navigation:
178
+ name: 'module: users'
179
+ controller: 'admin/users'
180
+ action: index
181
+ icon: users
182
+ sub_navigation:
183
+ - name: 'module: users'
184
+ controller: 'admin/users'
185
+ action: index
186
+
187
+ - name: archive
188
+ navigation:
189
+ controller: 'admin/pictures'
190
+ action: index
191
+ name: 'module: library'
192
+ icon: library
193
+ sub_navigation:
194
+ - name: 'module: images'
195
+ controller: 'admin/pictures'
196
+ action: index
197
+ - name: 'module: attachments'
198
+ controller: 'admin/attachments'
199
+ action: index