skylinecms 3.1.0 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (540) hide show
  1. data/.gitignore +5 -0
  2. data/CHANGELOG +51 -1
  3. data/Gemfile +8 -0
  4. data/Rakefile +0 -43
  5. data/app/controllers/skyline/application_controller.rb +30 -26
  6. data/app/controllers/skyline/articles_controller.rb +8 -28
  7. data/app/controllers/skyline/authentications_controller.rb +6 -8
  8. data/app/controllers/skyline/browser/links_controller.rb +12 -8
  9. data/app/controllers/skyline/browser/tabs/linkables_controller.rb +9 -0
  10. data/app/controllers/skyline/browser/tabs/media_library/media_files_controller.rb +0 -12
  11. data/app/controllers/skyline/content/editors/editable_list_controller.rb +0 -4
  12. data/app/controllers/skyline/content/editors/joinable_list_controller.rb +1 -19
  13. data/app/controllers/skyline/content_controller.rb +14 -30
  14. data/app/controllers/skyline/content_items_controller.rb +3 -9
  15. data/app/controllers/skyline/content_sections_controller.rb +3 -10
  16. data/app/controllers/skyline/link_section_links_controller.rb +2 -10
  17. data/app/controllers/skyline/media/data_controller.rb +24 -14
  18. data/app/controllers/skyline/media/dirs_controller.rb +12 -26
  19. data/app/controllers/skyline/media/files_controller.rb +12 -28
  20. data/app/controllers/skyline/publications_controller.rb +0 -12
  21. data/app/controllers/skyline/published_publications_controller.rb +0 -4
  22. data/app/controllers/skyline/sections_controller.rb +4 -18
  23. data/app/controllers/skyline/site/media_files_data_controller.rb +11 -13
  24. data/app/controllers/skyline/site/pages_controller.rb +4 -3
  25. data/app/controllers/skyline/skyline2_controller.rb +1 -1
  26. data/app/controllers/skyline/users_controller.rb +7 -31
  27. data/app/controllers/skyline/variant_current_editor_controller.rb +5 -5
  28. data/app/controllers/skyline/variants_controller.rb +3 -3
  29. data/app/helpers/skyline/application_helper.rb +16 -5
  30. data/app/helpers/skyline/button_helper.rb +12 -18
  31. data/app/helpers/skyline/content_helper.rb +11 -11
  32. data/app/helpers/skyline/dialog_helper.rb +3 -2
  33. data/app/helpers/skyline/editors/checkable_list.rb +4 -2
  34. data/app/helpers/skyline/editors/date_time.rb +1 -1
  35. data/app/helpers/skyline/editors/display.rb +1 -1
  36. data/app/helpers/skyline/editors/editable_list.rb +13 -8
  37. data/app/helpers/skyline/editors/editor.rb +10 -10
  38. data/app/helpers/skyline/editors/list.rb +2 -2
  39. data/app/helpers/skyline/editors/page_browser.rb +1 -0
  40. data/app/helpers/skyline/editors/wysiwyg.rb +2 -3
  41. data/app/helpers/skyline/form_helper.rb +36 -0
  42. data/app/helpers/skyline/media/files_helper.rb +1 -1
  43. data/app/helpers/skyline/message_generator.rb +13 -4
  44. data/app/helpers/skyline/pages_helper.rb +1 -1
  45. data/app/helpers/skyline/plugin_helper.rb +1 -1
  46. data/app/helpers/skyline/presenters/presenter.rb +12 -8
  47. data/app/helpers/skyline/ref_object_helper.rb +9 -7
  48. data/app/helpers/skyline/translation_helper.rb +1 -1
  49. data/app/helpers/skyline/tree_helper.rb +1 -3
  50. data/app/middleware/skyline/flash_session_cookie_middleware.rb +6 -1
  51. data/app/middleware/skyline/plugins_loader_middleware.rb +1 -1
  52. data/app/middleware/skyline/sprockets_middleware.rb +1 -1
  53. data/app/models/skyline/article.rb +94 -26
  54. data/app/models/skyline/article_version.rb +22 -9
  55. data/app/models/skyline/image_ref.rb +1 -1
  56. data/app/models/skyline/inline_ref.rb +78 -62
  57. data/app/models/skyline/link_ref.rb +1 -1
  58. data/app/models/skyline/media_cache.rb +4 -2
  59. data/app/models/skyline/media_file.rb +2 -5
  60. data/app/models/skyline/media_node.rb +2 -2
  61. data/app/models/skyline/object_ref.rb +2 -2
  62. data/app/models/skyline/page.rb +8 -6
  63. data/app/models/skyline/page_fragment.rb +4 -2
  64. data/app/models/skyline/publication.rb +1 -1
  65. data/app/models/skyline/sections/content_collection_section.rb +1 -1
  66. data/app/models/skyline/sections/link_section.rb +1 -1
  67. data/app/models/skyline/user.rb +17 -7
  68. data/app/models/skyline/user_preference.rb +1 -1
  69. data/app/models/skyline/variant.rb +11 -5
  70. data/app/templates/skyline/page/default/index.html.erb +1 -1
  71. data/app/templates/skyline/sections/raw_section/default/index.html.erb +1 -1
  72. data/app/templates/skyline/sections/wysiwyg_section/default/index.html.erb +1 -1
  73. data/app/views/skyline/articles/_currently_editing.html.erb +1 -1
  74. data/app/views/skyline/articles/_meta.html.erb +24 -11
  75. data/app/views/skyline/articles/_security.html.erb +2 -2
  76. data/app/views/skyline/articles/_takeover_action.html.erb +1 -1
  77. data/app/views/skyline/articles/edit.html.erb +29 -16
  78. data/app/views/skyline/articles/edit_preview_only.html.erb +2 -2
  79. data/app/views/skyline/articles/index.html.erb +2 -2
  80. data/app/views/skyline/articles/page/_header.html.erb +1 -1
  81. data/app/views/skyline/articles/page/_index.html.erb +9 -3
  82. data/app/views/skyline/articles/page_fragment/_index.html.erb +7 -2
  83. data/app/views/skyline/articles/update.js.erb +20 -0
  84. data/app/views/skyline/authentications/new.html.erb +1 -1
  85. data/app/views/skyline/browser/links/_index.html.erb +2 -0
  86. data/app/views/skyline/browser/tabs/linkables/_index.html.erb +29 -0
  87. data/app/views/skyline/browser/tabs/linkables/_show.html.erb +67 -0
  88. data/app/views/skyline/browser/tabs/linkables/show.js.erb +4 -0
  89. data/app/views/skyline/browser/tabs/media_library/_index.html.erb +2 -2
  90. data/app/views/skyline/browser/tabs/media_library/media_files/_index.html.erb +4 -35
  91. data/app/views/skyline/browser/tabs/media_library/media_files/_show.html.erb +1 -3
  92. data/app/views/skyline/browser/tabs/media_library/media_files/index.js.erb +1 -0
  93. data/app/views/skyline/browser/tabs/media_library/media_files/show.js.erb +1 -0
  94. data/app/views/skyline/browser/tabs/pages/_index.html.erb +1 -1
  95. data/app/views/skyline/content/_add.rhtml +6 -1
  96. data/app/views/skyline/content/_filter.rhtml +1 -1
  97. data/app/views/skyline/content/_import.html.erb +1 -1
  98. data/app/views/skyline/content/_index.html.erb +2 -2
  99. data/app/views/skyline/content/_meta.html.erb +2 -2
  100. data/app/views/skyline/content/create.rhtml +1 -1
  101. data/app/views/skyline/content/edit.rhtml +1 -1
  102. data/app/views/skyline/content/editors/editable_list/new.js.erb +2 -0
  103. data/app/views/skyline/content/editors/joinable_list/_add.html.erb +17 -10
  104. data/app/views/skyline/content/editors/joinable_list/_list.html.erb +24 -8
  105. data/app/views/skyline/content/editors/joinable_list/cancel.js.erb +1 -0
  106. data/app/views/skyline/content/editors/joinable_list/index.js.erb +1 -0
  107. data/app/views/skyline/content/editors/joinable_list/new.js.erb +5 -0
  108. data/app/views/skyline/content/field.js.erb +2 -0
  109. data/app/views/skyline/content/import.js.erb +4 -0
  110. data/app/views/skyline/content/order.js.erb +6 -0
  111. data/app/views/skyline/content/presenters/_table.html.erb +1 -1
  112. data/app/views/skyline/content_items/_content_item.html.erb +2 -2
  113. data/app/views/skyline/content_items/new.js.erb +6 -0
  114. data/app/views/skyline/content_sections/_tags.html.erb +2 -2
  115. data/app/views/skyline/content_sections/new.js.erb +6 -0
  116. data/app/views/skyline/link_section_links/_form.html.erb +1 -1
  117. data/app/views/skyline/link_section_links/new.js.erb +4 -0
  118. data/app/views/skyline/locales/show.js.erb +3 -3
  119. data/app/views/skyline/media/dirs/_edit.html.erb +9 -7
  120. data/app/views/skyline/media/dirs/edit.js.erb +1 -0
  121. data/app/views/skyline/media/dirs/index.html.erb +16 -6
  122. data/app/views/skyline/media/dirs/index.js.erb +6 -0
  123. data/app/views/skyline/media/dirs/show.js.erb +5 -0
  124. data/app/views/skyline/media/files/_edit.html.erb +13 -11
  125. data/app/views/skyline/media/files/_index.html.erb +2 -2
  126. data/app/views/skyline/media/files/_new.html.erb +2 -2
  127. data/app/views/skyline/media/files/edit.js.erb +4 -0
  128. data/app/views/skyline/media/files/index.js.erb +4 -0
  129. data/app/views/skyline/media/files/update.js.erb +8 -0
  130. data/app/views/skyline/publications/_index.html.erb +2 -2
  131. data/app/views/skyline/publications/index.js.erb +9 -0
  132. data/app/views/skyline/sections/_content_collection_section.html.erb +6 -6
  133. data/app/views/skyline/sections/_content_item_section.html.erb +1 -1
  134. data/app/views/skyline/sections/_form.html.erb +4 -4
  135. data/app/views/skyline/sections/_link_section.html.erb +6 -1
  136. data/app/views/skyline/sections/_splitter_section.html.erb +1 -1
  137. data/app/views/skyline/sections/_wysiwyg_section.html.erb +2 -2
  138. data/app/views/skyline/sections/new.js.erb +12 -0
  139. data/app/views/skyline/settings/edit.html.erb +1 -1
  140. data/app/views/skyline/shared/_head.html.erb +3 -0
  141. data/app/views/skyline/shared/_header_area.html.erb +5 -5
  142. data/app/views/skyline/users/_edit.html.erb +1 -1
  143. data/app/views/skyline/users/_form.html.erb +1 -1
  144. data/app/views/skyline/users/_new.html.erb +1 -1
  145. data/app/views/skyline/users/create.js.erb +2 -0
  146. data/app/views/skyline/users/edit.js.erb +1 -0
  147. data/app/views/skyline/users/index.html.erb +21 -6
  148. data/app/views/skyline/users/new.js.erb +1 -0
  149. data/app/views/skyline/users/update.js.erb +2 -0
  150. data/config/initializers/dependencies.rb +1 -17
  151. data/config/initializers/gem_dependencies.rb +10 -0
  152. data/config/initializers/locales.rb +8 -1
  153. data/config/initializers/middlewares.rb +7 -3
  154. data/config/initializers/observers.rb +6 -4
  155. data/config/locales/en-US.yml +44 -34
  156. data/config/locales/nl-NL.yml +45 -33
  157. data/config/routes.rb +65 -74
  158. data/db/migrate/20090508145820_create_skyline_pages.rb +2 -2
  159. data/db/migrate/20090508145852_create_skyline_page_versions.rb +2 -2
  160. data/db/migrate/20090508150149_create_skyline_sections.rb +1 -1
  161. data/db/migrate/20090610142139_add_skyline_tags_taggable_type.rb +2 -2
  162. data/db/migrate/20090624154251_create_skyline_link_section_links.rb +1 -1
  163. data/db/migrate/20100120113953_remove_unused_articles_index.rb +1 -1
  164. data/db/migrate/20110816080626_add_skyline_test_article_data.rb +13 -0
  165. data/db/migrate/20111101092405_rename_indexes.rb +24 -0
  166. data/doc/INSTALL.md +54 -27
  167. data/doc/MIGRATION.md +27 -2
  168. data/lib/skyline.rb +2 -1
  169. data/lib/skyline/authentication/user.rb +80 -0
  170. data/lib/skyline/belongs_to_referable.rb +1 -1
  171. data/lib/skyline/cli/init.rb +14 -26
  172. data/lib/skyline/cli/init/templates/config/initializers/skyline_configuration.rb +0 -1
  173. data/lib/skyline/configuration.rb +74 -32
  174. data/lib/skyline/content/content.rb +7 -6
  175. data/lib/skyline/content/field_meta_data.rb +2 -2
  176. data/lib/skyline/content/stack.rb +1 -1
  177. data/lib/skyline/content_item_section_selectable.rb +4 -4
  178. data/lib/skyline/deprecated/version3_0_8.rb +2 -2
  179. data/lib/skyline/engine.rb +37 -0
  180. data/lib/skyline/form_builder.rb +8 -8
  181. data/lib/skyline/linkable.rb +28 -0
  182. data/lib/skyline/plugins/manager.rb +77 -0
  183. data/lib/skyline/plugins/plugin.rb +89 -0
  184. data/lib/skyline/rendering/helpers/renderer_helper.rb +1 -1
  185. data/lib/skyline/rendering/renderer.rb +27 -13
  186. data/lib/skyline/route_constraint.rb +15 -0
  187. data/lib/skyline/settings.rb +9 -7
  188. data/lib/skyline/taggable.rb +2 -2
  189. data/lib/skyline/version.rb +4 -4
  190. data/lib/skylinecms.rb +5 -3
  191. data/lib/tasks/database.rake +2 -2
  192. data/public/skyline/javascripts/src/application.js +5 -4
  193. data/public/skyline/javascripts/src/rails.js +165 -0
  194. data/public/skyline/javascripts/src/sections.js +6 -9
  195. data/public/skyline/javascripts/src/skyline.editor/src/plugins/autoresize/editor_plugin.js +72 -27
  196. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylineimage/dialog.js +13 -12
  197. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinelink/dialog.js +7 -7
  198. data/public/skyline/javascripts/src/skyline.editor/src/skyline.editor.js +4 -3
  199. data/public/skyline/javascripts/src/skyline.editor/src/theme.js +101 -536
  200. data/public/skyline/javascripts/src/skyline.editor/test/multiple_editors.html +1 -0
  201. data/public/skyline/javascripts/src/skyline.editor/test/single.html +56 -0
  202. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/changelog.txt +1410 -1091
  203. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/accessibility.html +101 -0
  204. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/custom_formats.html +1 -1
  205. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/full.html +12 -12
  206. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/lists/media_list.js +5 -1
  207. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.flv +0 -0
  208. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/menu.html +2 -1
  209. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/skins.html +4 -4
  210. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/word.html +3 -2
  211. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/langs/en.js +1 -170
  212. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js +1 -5
  213. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm +30 -29
  214. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js +1 -1
  215. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js +1 -1
  216. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm +34 -31
  217. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js +32 -13
  218. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js +1 -43
  219. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js +21 -17
  220. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js +1 -52
  221. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm +35 -30
  222. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin.js +1 -1
  223. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js +31 -9
  224. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autolink/editor_plugin.js +1 -0
  225. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autolink/editor_plugin_src.js +172 -0
  226. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js +1 -1
  227. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js +23 -5
  228. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js +1 -1
  229. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js +14 -5
  230. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js +1 -1
  231. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +1 -1
  232. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js +1 -1
  233. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +34 -21
  234. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm +15 -14
  235. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
  236. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif +0 -0
  237. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif +0 -0
  238. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif +0 -0
  239. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif +0 -0
  240. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif +0 -0
  241. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js +1 -20
  242. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example_dependency/editor_plugin.js +1 -0
  243. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example_dependency/editor_plugin_src.js +50 -0
  244. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css +3 -42
  245. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js +1 -1
  246. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +315 -63
  247. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm +18 -330
  248. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js +199 -438
  249. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js +1 -85
  250. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -1
  251. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +12 -4
  252. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm +2 -1
  253. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +1 -1
  254. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +80 -16
  255. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  256. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  257. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  258. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  259. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  260. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +1 -1
  261. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js +1 -1
  262. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js +2 -0
  263. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js +1 -1
  264. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js +31 -28
  265. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/lists/editor_plugin.js +1 -0
  266. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/lists/editor_plugin_src.js +781 -0
  267. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/css/media.css +5 -4
  268. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js +1 -1
  269. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js +703 -295
  270. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/js/media.js +361 -602
  271. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/langs/en_dlg.js +1 -103
  272. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/media.htm +365 -285
  273. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/moxieplayer.swf +0 -0
  274. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js +1 -1
  275. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +4 -3
  276. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js +1 -1
  277. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +7 -2
  278. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js +1 -1
  279. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js +1 -4
  280. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js +1 -1
  281. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js +148 -239
  282. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js +1 -5
  283. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js +1 -1
  284. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +4 -0
  285. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +18 -6
  286. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js +1 -16
  287. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm +17 -16
  288. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js +1 -1
  289. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +55 -38
  290. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/js/props.js +3 -9
  291. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js +1 -63
  292. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/props.htm +515 -398
  293. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js +1 -1
  294. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js +122 -112
  295. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/cell.htm +16 -14
  296. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js +1 -1
  297. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js +1364 -1139
  298. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js +44 -11
  299. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/row.js +18 -18
  300. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/table.js +15 -14
  301. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js +1 -74
  302. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm +11 -11
  303. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/row.htm +12 -9
  304. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/table.htm +54 -53
  305. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/js/template.js +1 -1
  306. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js +1 -15
  307. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js +1 -1
  308. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js +1 -1
  309. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js +1 -1
  310. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js +36 -20
  311. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +6 -5
  312. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +6 -5
  313. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +6 -5
  314. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm +5 -4
  315. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm +9 -8
  316. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +1 -1
  317. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +6 -6
  318. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm +11 -10
  319. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +1 -16
  320. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js +2 -12
  321. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +3 -5
  322. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +4 -13
  323. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js +1 -32
  324. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/about.htm +3 -5
  325. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm +5 -5
  326. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm +39 -40
  327. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm +10 -9
  328. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js +1 -1
  329. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js +195 -54
  330. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/image.htm +51 -51
  331. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  332. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/flash.gif +0 -0
  333. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  334. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/iframe.gif +0 -0
  335. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/{plugins/pagebreak → themes/advanced}/img/pagebreak.gif +0 -0
  336. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/quicktime.gif +0 -0
  337. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/{plugins/media → themes/advanced}/img/realmedia.gif +0 -0
  338. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/shockwave.gif +0 -0
  339. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/{plugins/media → themes/advanced}/img/trans.gif +0 -0
  340. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/video.gif +0 -0
  341. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/{plugins/media → themes/advanced}/img/windowsmedia.gif +0 -0
  342. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js +1 -0
  343. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js +5 -0
  344. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js +26 -6
  345. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js +108 -32
  346. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js +12 -6
  347. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js +4 -7
  348. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js +6 -12
  349. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js +1 -62
  350. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js +1 -51
  351. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/link.htm +27 -28
  352. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/shortcuts.htm +47 -0
  353. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css +14 -1
  354. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  355. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  356. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  357. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css +5 -4
  358. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/highcontrast/content.css +24 -0
  359. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css +105 -0
  360. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css +102 -0
  361. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css +12 -0
  362. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +1 -0
  363. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  364. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  365. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  366. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +8 -6
  367. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +1 -1
  368. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +1 -1
  369. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm +3 -3
  370. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js +1 -1
  371. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js +1 -2
  372. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif +0 -0
  373. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/langs/en.js +1 -11
  374. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce.js +1 -1
  375. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_popup.js +1 -1
  376. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_src.js +7838 -5579
  377. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/editable_selects.js +1 -1
  378. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/form_utils.js +14 -4
  379. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/mctabs.js +95 -10
  380. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/validate.js +35 -3
  381. data/public/skyline/javascripts/src/skyline/src/drag.js +10 -7
  382. data/public/skyline/javascripts/src/skyline/src/layout.js +13 -12
  383. data/public/skyline/javascripts/src/skyline/src/menubutton.js +1 -3
  384. data/public/skyline/javascripts/src/skyline/src/sortable.js +7 -5
  385. data/public/skyline/javascripts/src/skyline/src/tree.js +8 -4
  386. data/public/skyline/javascripts/src/skyline/test/sortable.html +73 -12
  387. data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-core.js +485 -2
  388. data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-more.js +130 -81
  389. data/public/skyline/stylesheets/general.css +23 -6
  390. data/skylinecms.gemspec +45 -0
  391. data/test/mocks/test_article.rb +11 -0
  392. data/test/mocks/test_section.rb +1 -1
  393. data/test/test_helper.rb +2 -1
  394. data/test/unit/article_test.rb +142 -0
  395. data/test/unit/inline_ref_test.rb +38 -16
  396. data/test/unit/test_content_object_test.rb +2 -1
  397. data/vendor/digitpaint/nested_attributes_positioning.rb +1 -1
  398. metadata +207 -487
  399. data/app/helpers/skyline/media_files_helper.rb +0 -7
  400. data/config/initializers/javascript_generator_methods.rb +0 -4
  401. data/config/initializers/rails_defaults.rb +0 -6
  402. data/doc/Bundler.md +0 -76
  403. data/lib/skyline/plugins_manager.rb +0 -150
  404. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/translate.html +0 -84
  405. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/css/content.css +0 -6
  406. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/flash.gif +0 -0
  407. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/flv_player.swf +0 -0
  408. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/quicktime.gif +0 -0
  409. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/shockwave.gif +0 -0
  410. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/css/content.css +0 -1
  411. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/trans.gif +0 -0
  412. data/rails/init.rb +0 -32
  413. data/vendor/digitpaint/personify/README.md +0 -86
  414. data/vendor/digitpaint/personify/lib/parser/personify.rb +0 -838
  415. data/vendor/digitpaint/personify/lib/parser/personify.treetop +0 -126
  416. data/vendor/digitpaint/personify/lib/parser/personify_node_classes.rb +0 -7
  417. data/vendor/digitpaint/personify/lib/template.rb +0 -16
  418. data/vendor/digitpaint/personify/personify.rb +0 -7
  419. data/vendor/digitpaint/personify/script/generate_parser.rb +0 -6
  420. data/vendor/digitpaint/personify/test/fixtures/multiple_tags.txt +0 -8
  421. data/vendor/digitpaint/personify/test/parse_runner.rb +0 -25
  422. data/vendor/digitpaint/personify/test/parser_test.rb +0 -109
  423. data/vendor/digitpaint/personify/test/test_helper.rb +0 -16
  424. data/vendor/digitpaint/personify/vendor/treetop/.gitignore +0 -5
  425. data/vendor/digitpaint/personify/vendor/treetop/History.txt +0 -9
  426. data/vendor/digitpaint/personify/vendor/treetop/README +0 -164
  427. data/vendor/digitpaint/personify/vendor/treetop/Rakefile +0 -20
  428. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Snippets/grammar ___ end.tmSnippet +0 -20
  429. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Snippets/rule ___ end.tmSnippet +0 -18
  430. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Syntaxes/Treetop Grammar.tmLanguage +0 -251
  431. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/info.plist +0 -10
  432. data/vendor/digitpaint/personify/vendor/treetop/bin/tt +0 -28
  433. data/vendor/digitpaint/personify/vendor/treetop/doc/contributing_and_planned_features.markdown +0 -103
  434. data/vendor/digitpaint/personify/vendor/treetop/doc/grammar_composition.markdown +0 -65
  435. data/vendor/digitpaint/personify/vendor/treetop/doc/index.markdown +0 -90
  436. data/vendor/digitpaint/personify/vendor/treetop/doc/pitfalls_and_advanced_techniques.markdown +0 -51
  437. data/vendor/digitpaint/personify/vendor/treetop/doc/semantic_interpretation.markdown +0 -189
  438. data/vendor/digitpaint/personify/vendor/treetop/doc/site.rb +0 -110
  439. data/vendor/digitpaint/personify/vendor/treetop/doc/sitegen.rb +0 -60
  440. data/vendor/digitpaint/personify/vendor/treetop/doc/syntactic_recognition.markdown +0 -100
  441. data/vendor/digitpaint/personify/vendor/treetop/doc/using_in_ruby.markdown +0 -21
  442. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic.rb +0 -551
  443. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic.treetop +0 -97
  444. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic_node_classes.rb +0 -7
  445. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic_test.rb +0 -54
  446. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus +0 -0
  447. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus.rb +0 -718
  448. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus.treetop +0 -132
  449. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus_node_classes.rb +0 -5
  450. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus_test.rb +0 -89
  451. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/test_helper.rb +0 -18
  452. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop.rb +0 -11
  453. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/bootstrap_gen_1_metagrammar.rb +0 -45
  454. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler.rb +0 -6
  455. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/grammar_compiler.rb +0 -40
  456. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/lexical_address_space.rb +0 -17
  457. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/metagrammar.rb +0 -2955
  458. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/metagrammar.treetop +0 -404
  459. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes.rb +0 -19
  460. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/anything_symbol.rb +0 -20
  461. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/atomic_expression.rb +0 -14
  462. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/character_class.rb +0 -22
  463. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/choice.rb +0 -31
  464. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/declaration_sequence.rb +0 -24
  465. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/grammar.rb +0 -28
  466. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/inline_module.rb +0 -27
  467. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/nonterminal.rb +0 -13
  468. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/optional.rb +0 -19
  469. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parenthesized_expression.rb +0 -9
  470. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parsing_expression.rb +0 -138
  471. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parsing_rule.rb +0 -55
  472. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/predicate.rb +0 -45
  473. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/repetition.rb +0 -55
  474. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/sequence.rb +0 -68
  475. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb +0 -20
  476. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/transient_prefix.rb +0 -9
  477. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/treetop_file.rb +0 -9
  478. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/ruby_builder.rb +0 -113
  479. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/ruby_extensions.rb +0 -2
  480. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/ruby_extensions/string.rb +0 -42
  481. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime.rb +0 -5
  482. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/compiled_parser.rb +0 -95
  483. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list.rb +0 -4
  484. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/head_node.rb +0 -15
  485. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb +0 -200
  486. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/node.rb +0 -164
  487. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/syntax_node.rb +0 -72
  488. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/terminal_parse_failure.rb +0 -16
  489. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/terminal_syntax_node.rb +0 -17
  490. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/version.rb +0 -9
  491. data/vendor/digitpaint/personify/vendor/treetop/script/generate_metagrammar.rb +0 -14
  492. data/vendor/digitpaint/personify/vendor/treetop/script/svnadd +0 -11
  493. data/vendor/digitpaint/personify/vendor/treetop/script/svnrm +0 -11
  494. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/and_predicate_spec.rb +0 -36
  495. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/anything_symbol_spec.rb +0 -52
  496. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/character_class_spec.rb +0 -188
  497. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/choice_spec.rb +0 -80
  498. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/circular_compilation_spec.rb +0 -28
  499. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/failure_propagation_functional_spec.rb +0 -21
  500. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/grammar_compiler_spec.rb +0 -84
  501. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/grammar_spec.rb +0 -41
  502. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/nonterminal_symbol_spec.rb +0 -40
  503. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/not_predicate_spec.rb +0 -38
  504. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/one_or_more_spec.rb +0 -35
  505. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/optional_spec.rb +0 -37
  506. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/parenthesized_expression_spec.rb +0 -19
  507. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/parsing_rule_spec.rb +0 -32
  508. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/sequence_spec.rb +0 -115
  509. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/terminal_spec.rb +0 -81
  510. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/terminal_symbol_spec.rb +0 -37
  511. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar.treetop +0 -7
  512. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar.tt +0 -7
  513. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar_do.treetop +0 -7
  514. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/zero_or_more_spec.rb +0 -56
  515. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/a.treetop +0 -11
  516. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/b.treetop +0 -11
  517. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/c.treetop +0 -10
  518. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/d.treetop +0 -10
  519. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/grammar_composition_spec.rb +0 -26
  520. data/vendor/digitpaint/personify/vendor/treetop/spec/ruby_extensions/string_spec.rb +0 -32
  521. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/compiled_parser_spec.rb +0 -101
  522. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/delete_spec.rb +0 -147
  523. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/expire_range_spec.rb +0 -349
  524. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/insert_and_delete_node.rb +0 -385
  525. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/insert_spec.rb +0 -660
  526. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/interval_skip_list_spec.graffle +0 -6175
  527. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/interval_skip_list_spec.rb +0 -58
  528. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/palindromic_fixture.rb +0 -23
  529. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/palindromic_fixture_spec.rb +0 -164
  530. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/spec_helper.rb +0 -84
  531. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/syntax_node_spec.rb +0 -53
  532. data/vendor/digitpaint/personify/vendor/treetop/spec/spec_helper.rb +0 -106
  533. data/vendor/digitpaint/personify/vendor/treetop/spec/spec_suite.rb +0 -4
  534. data/vendor/digitpaint/personify/vendor/treetop/treetop.gemspec +0 -18
  535. data/vendor/mootools-on-rails/README +0 -54
  536. data/vendor/mootools-on-rails/Rakefile +0 -22
  537. data/vendor/mootools-on-rails/lib/mootools_on_rails.rb +0 -30
  538. data/vendor/mootools-on-rails/lib/mootools_on_rails/mootools_helper.rb +0 -510
  539. data/vendor/mootools-on-rails/test/mootools_helper_test.rb +0 -138
  540. data/vendor/mootools-on-rails/test/test_helper.rb +0 -5
@@ -1,5 +1,4 @@
1
1
  Skyline::Configuration.configure do |config|
2
2
  config.assets_path = File.join(Rails.root,"tmp/upload")
3
3
  config.media_file_cache_path = File.join(Rails.root,"tmp/cache/media_files/cache")
4
- config.rss_section_cache_path = File.join(Rails.root,"tmp/cache/rss_sections/cache")
5
4
  end
@@ -6,57 +6,80 @@
6
6
  class Skyline::Configuration < Configure
7
7
 
8
8
  defaults do |config|
9
+ # The application name (defaults to the name)
9
10
  config.name = File.expand_path(Rails.root).split("/").last
11
+
12
+ # The application title
10
13
  config.title = config.name.humanize
11
14
 
12
- config.sections = {:default => [
13
- "wysiwyg_section",
14
- "heading_section",
15
- "rss_section",
16
- "iframe_section",
17
- "content_collection_section",
18
- "content_item_section",
19
- "splitter_section",
20
- "link_section",
21
- "raw_section",
22
- "media_section",
23
- "redirect_section",
24
- "page_fragment_section"]
25
- }
15
+ # Available sections per article
16
+ config.sections = {
17
+ :default => [
18
+ "wysiwyg_section",
19
+ "heading_section",
20
+ "rss_section",
21
+ "iframe_section",
22
+ "content_collection_section",
23
+ "content_item_section",
24
+ "splitter_section",
25
+ "link_section",
26
+ "raw_section",
27
+ "media_section",
28
+ "redirect_section",
29
+ "page_fragment_section"
30
+ ]
31
+ }
26
32
 
33
+ # Available articles (Skyline::Page is always included)
27
34
  config.articles = []
28
- config.content_classes = []
29
35
 
30
- config.rss_section_cache_timeout = 1.hour
36
+ # Available content classes
37
+ config.content_classes = []
31
38
 
39
+ # Do you want to use a custom logo? If so define it here
32
40
  config.custom_logo = false
33
41
  config.skyline_logo = "/skyline/images/logo.png"
42
+
43
+ # Add a "branding" name so you don't have to use the name "Skyline"
34
44
  config.branding_name = ""
35
45
 
46
+ # The Skyline locale
36
47
  config.locale = "en-US"
37
48
 
49
+ # Custom stylesheets to include
38
50
  # ie: [{:path => "/stylesheets/skyline.css", :if => "lte IE 7"}]
39
51
  config.custom_stylesheets = []
40
52
 
53
+ # Path configuration
41
54
  if Rails.env == "production"
42
55
  config.assets_path = nil
43
56
  config.media_file_cache_path = nil
57
+
58
+ # Only if you need the rss section
44
59
  config.rss_section_cache_path = nil
45
60
  else
46
- config.assets_path = File.join(Rails.root,"/tmp/upload")
47
- config.media_file_cache_path = File.join(Rails.root,"/tmp/media_files/cache")
48
- config.rss_section_cache_path = File.join(Rails.root,"/tmp/rss_sections/cache")
61
+ config.assets_path = Rails.root + "tmp/upload"
62
+ config.media_file_cache_path = Rails.root + "tmp/media_files/cache"
63
+
64
+ # Only if you need the rss section
65
+ config.rss_section_cache_path = Rails.root + "tmp/rss_sections/cache"
49
66
  end
50
-
51
- unless ActiveSupport::Dependencies.load_once_path?(__FILE__)
52
- # We need to reload the configuration because this file get's reloaded
53
- if (Rails.root + "config/initializers/skyline_configuration.rb").exist?
54
- load Rails.root + "config/initializers/skyline_configuration.rb"
55
- end
56
- end
67
+
68
+ # Authentication User model
69
+ config.user_class = Skyline::User
57
70
 
58
71
  # Default URL admin prefix (default = /skyline/...)
59
- config.url_prefix = "/skyline"
72
+ config.url_prefix = "skyline"
73
+
74
+ # The skyline_root default route.
75
+ # Most unfortunately we have to set it like this because we cannot override a specific route from the plugin
76
+ # in the implementation.
77
+ config.default_route = {:to => "articles#index", :type => "skyline/page"}
78
+
79
+ # The skyline_root default route.
80
+ # Most unfortunately we have to set it like this because we cannot override a specific route from the plugin
81
+ # in the implementation.
82
+ config.default_route = {:controller => "articles", :action => "index", :type => "skyline/page"}
60
83
 
61
84
  # enable/disable 'modules'
62
85
  config.enable_pages = true
@@ -64,17 +87,28 @@ class Skyline::Configuration < Configure
64
87
  config.enable_locking = true
65
88
  config.enable_enforce_only_one_user_editing = true
66
89
  config.enable_publication_history = true
90
+
91
+ # Section stuff
92
+ config.rss_section_cache_timeout = 1.hour
93
+
94
+ # We need to reload the configuration if this file get's reloaded
95
+ unless ActiveSupport::Dependencies.load_once_path?(__FILE__)
96
+ if (Rails.root + "config/initializers/skyline_configuration.rb").exist?
97
+ load Rails.root + "config/initializers/skyline_configuration.rb"
98
+ end
99
+ end
67
100
  end
68
101
 
69
102
  def after_configure
70
- check_or_create_path(self["assets_path"],"assets_path")
71
- check_or_create_path(self["media_file_cache_path"],"media_file_cache_path")
72
- check_or_create_path(self["rss_section_cache_path"],"rss_section_cache_path")
103
+ sanitize_paths
73
104
 
74
105
  Skyline::MediaNode.assets_path = self["assets_path"]
75
106
  Skyline::MediaCache.cache_path = self["media_file_cache_path"]
76
- Skyline::Sections::RssSection.cache_path = self["rss_section_cache_path"]
77
- Skyline::Sections::RssSection.cache_timeout = self["rss_section_cache_timeout"]
107
+
108
+ if self.sections.values.flatten.uniq.include?("rss_section")
109
+ Skyline::Sections::RssSection.cache_path = self["rss_section_cache_path"]
110
+ Skyline::Sections::RssSection.cache_timeout = self["rss_section_cache_timeout"]
111
+ end
78
112
 
79
113
  Skyline::Rendering::Renderer.register_renderables(:sections,self["sections"])
80
114
  Skyline::Rendering::Renderer.register_renderables(:articles,self["articles"] + ["Skyline::Page"])
@@ -93,6 +127,14 @@ class Skyline::Configuration < Configure
93
127
  end
94
128
 
95
129
  protected
130
+
131
+ # Ensures that all paths are Pathname objects
132
+ def sanitize_paths
133
+ %w{assets_path media_file_cache_path}.each do |key|
134
+ self[key] = Pathname.new(self[key]) if self[key] && !self[key].kind_of?(Pathname)
135
+ check_or_create_path(self[key], key)
136
+ end
137
+ end
96
138
 
97
139
  # Check if a path is set, and if we're in production made raise an assertion
98
140
  # if the path does not exist. It just creates the path in development mode.
@@ -8,7 +8,7 @@ module Skyline::Content
8
8
  obj.class_eval do
9
9
  after_save :process_after_save
10
10
 
11
- named_scope :published, lambda {
11
+ scope :published, lambda {
12
12
  if obj.publishable?
13
13
  {:conditions => {:published => true}}
14
14
  else
@@ -16,7 +16,7 @@ module Skyline::Content
16
16
  end
17
17
  }
18
18
 
19
- named_scope :with_site, {}
19
+ scope :with_site, {}
20
20
  end
21
21
  end
22
22
  end
@@ -100,7 +100,7 @@ module Skyline::Content
100
100
  # Same as find_for_cms, but works with the will_paginate plugin
101
101
  #--
102
102
  def paginate_for_cms(*args)
103
- skyline_options,options = extract_all_options!(args)
103
+ skyline_options, options = extract_all_options!(args)
104
104
  with_skyline_scope(skyline_options) do
105
105
  options.update(:order => self.default_order_by_statement)
106
106
  paginate(*(args << options))
@@ -218,8 +218,8 @@ module Skyline::Content
218
218
  def relate_to(obj) # :nodoc:
219
219
  return unless assoc = obj.class.reflect_on_association(self.instantiated_by)
220
220
  case assoc.macro
221
- when :has_many : obj.send(self.instantiated_by) << self
222
- when :has_one : obj.send("#{self.instantiated_by}=",self)
221
+ when :has_many then obj.send(self.instantiated_by) << self
222
+ when :has_one then obj.send("#{self.instantiated_by}=",self)
223
223
  end
224
224
  end
225
225
 
@@ -241,7 +241,8 @@ module Skyline::Content
241
241
 
242
242
  def process_habtm_related_objects(field,values,assoc)
243
243
  target_order = values.delete("_order") # This is discarded, a HABTM relationship cannot have a positionfield
244
- target_ids = values.map{|k,v| v["_target_id"].to_i }
244
+ # We have to filter oud the "-" value which we need to make this field come through.
245
+ target_ids = values.map{|k,v| v["_target_id"] == "-" ? nil : v["_target_id"].to_i }.compact
245
246
  current_ids = self.send("#{field.name.to_s.singularize}_ids")
246
247
  if target_ids.sort != current_ids.sort
247
248
  objects = assoc.klass.find(target_ids).inject({}){|mem,o|mem[o.id] = o; mem}
@@ -287,8 +287,8 @@ module Skyline::Content
287
287
  #--
288
288
  def field_create_defaults(options)
289
289
  case options[:editor]
290
- when :textile : {:cache => true}
291
- when :inline_list : {:hidden => [:list,:create]}
290
+ when :textile then {:cache => true}
291
+ when :inline_list then {:hidden => [:list,:create]}
292
292
  else {}
293
293
  end
294
294
  end
@@ -101,7 +101,7 @@ class Skyline::Content::Stack < Array
101
101
  logger.debug "Trying: #{type} :: #{self.last.class.reflect_on_association(type.to_sym).inspect}"
102
102
  assoc = self.last.class.reflect_on_association(type)
103
103
  self << case assoc.macro
104
- when :has_many : self.last.send(type).build
104
+ when :has_many then self.last.send(type).build
105
105
  else assoc.klass.new
106
106
  end
107
107
  end
@@ -13,9 +13,9 @@
13
13
  #
14
14
  # class Model < ActiveRecord::Base
15
15
  # -- If the model has a 'published' column:
16
- # named_scope :for_content_item_section, :conditions => {:published => true}
16
+ # scope :for_content_item_section, :conditions => {:published => true}
17
17
  # -- else
18
- # named_scope :for_content_item_section, {}
18
+ # scope :for_content_item_section, {}
19
19
  # end
20
20
 
21
21
 
@@ -24,9 +24,9 @@ module Skyline::ContentItemSectionSelectable
24
24
  Skyline::Sections::ContentItemSection.register_selectable_model(base)
25
25
 
26
26
  if base.column_names.include?("published")
27
- base.send :named_scope, :for_content_item_section, :conditions => {:published => true}
27
+ base.send :scope, :for_content_item_section, :conditions => {:published => true}
28
28
  else
29
- base.send :named_scope, :for_content_item_section, {}
29
+ base.send :scope, :for_content_item_section, {}
30
30
  end
31
31
  end
32
32
  end
@@ -9,9 +9,9 @@ module Skyline
9
9
  base.send(:include, Skyline::BelongsToReferable)
10
10
 
11
11
  base.class_eval do
12
- named_scope(:published, {}) unless method_defined?(:published)
12
+ scope(:published, {}) unless method_defined?(:published)
13
13
 
14
- named_scope(:with_site, {}) unless method_defined?(:with_site)
14
+ scope(:with_site, {}) unless method_defined?(:with_site)
15
15
  end
16
16
 
17
17
  class << base
@@ -0,0 +1,37 @@
1
+ require 'skyline'
2
+ require 'rails'
3
+ require 'fileutils'
4
+ require Skyline.root + 'config/initializers/gem_dependencies'
5
+
6
+ module Skyline
7
+ class Engine < Rails::Engine
8
+ config.autoload_paths << (Skyline.root + "lib").to_s
9
+
10
+ # Vendor paths
11
+ # TODO: Check if we need to do the load_path magic we had before:
12
+ # application_vendor_index = $LOAD_PATH.index(Rails.root + "vendor") || 0
13
+ # $LOAD_PATH.insert(application_vendor_index + 1, vendor_path)
14
+ vendor_path = (Skyline.root + "vendor").to_s
15
+ config.autoload_paths << vendor_path
16
+ config.autoload_once_paths << vendor_path
17
+
18
+ initializer "skyline.setup_public_paths" do |app|
19
+ puts "Setup public paths"
20
+ public_path = Pathname.new(Rails.public_path) + "skyline"
21
+ unless public_path.exist?
22
+ FileUtils.rm(public_path) if public_path.symlink?
23
+
24
+ puts "=> Skyline: Creating assets symlink to '#{public_path}'"
25
+ FileUtils.ln_s((Skyline.root + "public/skyline").relative_path_from(Pathname.new(Rails.public_path)),public_path)
26
+ end
27
+ end
28
+
29
+ initializer "skyline.setup_plugins_manager" do |app|
30
+ app.config.skyline_plugins_manager = Skyline::Plugins::Manager.new(app)
31
+ if app.config.cache_classes || !app.config.reload_plugins
32
+ app.config.skyline_plugins_manager.load_all!
33
+ end
34
+ end
35
+
36
+ end
37
+ end
@@ -41,7 +41,7 @@ class Skyline::FormBuilder < ActionView::Helpers::FormBuilder
41
41
  #
42
42
  # @return [String]
43
43
  def label(method, text = nil, options = {})
44
- if @object.errors[method]
44
+ if @object.errors[method].present?
45
45
  super(method,text,options.merge(:class => "invalid #{options[:class]}".strip))
46
46
  else
47
47
  super
@@ -61,7 +61,7 @@ class Skyline::FormBuilder < ActionView::Helpers::FormBuilder
61
61
  # with help of {Skyline::NestedAttributesPositioning} module)
62
62
  #
63
63
  # @example Usage:
64
- # <% article_form.fields_for "sections_attributes", section, :index => 5 do |s| %>
64
+ # <%= article_form.fields_for "sections_attributes", section, :index => 5 do |s| %>
65
65
  # <%= s.hidden_field :id unless s.object.new_record? %>
66
66
  # <%= s.hidden_field :_destroy, :class => "delete" %>
67
67
  # <%= s.positioning_field %>
@@ -121,16 +121,16 @@ class Skyline::FormBuilder < ActionView::Helpers::FormBuilder
121
121
  options = parms.extract_options!
122
122
  method_options = options.except(:text_suffix)
123
123
 
124
- if @object.errors[method]
124
+ if @object.errors[method].present?
125
125
  method_options[:class] ||= ""
126
126
  method_options[:class] << " invalid"
127
127
  end
128
128
 
129
- parms << method_options if method_options.any?
129
+ parms << method_options if method_options.present?
130
130
  html = yield(parms)
131
131
  html << options[:text_suffix] if options[:text_suffix]
132
132
 
133
- if @object.errors[method]
133
+ if @object.errors[method].present?
134
134
  html + fieldset_errors(method)
135
135
  else
136
136
  html
@@ -144,15 +144,15 @@ class Skyline::FormBuilder < ActionView::Helpers::FormBuilder
144
144
  # @param attribute [String,Symbol] The attribute to get the errors for
145
145
  # @return [String,nil] A string containing each error in a div or nil if there are no errors.
146
146
  def fieldset_errors(attribute)
147
- return unless @object.errors[attribute]
147
+ return unless @object.errors[attribute].present?
148
148
  out = []
149
- if errs = @object.errors[attribute]
149
+ if (errs = @object.errors[attribute]).present?
150
150
  errs = [errs] if self.single_error_message?(errs)
151
151
  out = errs.map do |err|
152
152
  @template.content_tag("div",err,:class => "error")
153
153
  end
154
154
  end
155
- out.join("\n")
155
+ out.join("\n").html_safe
156
156
  end
157
157
 
158
158
  # The ID that a field for a certain field would get.
@@ -0,0 +1,28 @@
1
+ # If included the object will be linkable
2
+ # currently only works on Articles
3
+ module Skyline::Linkable
4
+
5
+ class << self
6
+ def linkables
7
+ Skyline::Configuration.articles.select{|c| c < Skyline::Linkable }
8
+ end
9
+ end
10
+
11
+ def self.included(base)
12
+ raise(TypeError, "Expected #{base.inspect} to be a subclass of Skyline::Article") unless base < Skyline::Article
13
+
14
+ class << base
15
+ def linkable?; true; end
16
+ end
17
+
18
+ end
19
+
20
+ # The URL this linkable can be found on. Needed to create the link
21
+ #
22
+ # @return String The URL
23
+ # @abstract Implement in subclass
24
+ def url
25
+ raise "Implement in subclass"
26
+ end
27
+
28
+ end
@@ -0,0 +1,77 @@
1
+ # The {Skyline::Plugins::Manager} load all plugins. Currently the manager is quite
2
+ # static as it can only load plugins from `Rails.root/vendor/skyline_plugins`. As
3
+ # we extend the Plugin API the manager will become more advanced.
4
+ #
5
+ # The pluginmanager sets up the following for you:
6
+ #
7
+ # * Public path (PLUGIN/public/PLUGIN_NAME)
8
+ # * Routes (PLUGIN/config/routes.rb)
9
+ # * View path (PLUGIN/app/views)
10
+ # * Load paths (PLUGIN/app/controllers, PLUGIN/app/models, PLUGIN/app/helpers)
11
+ # * Locales (PLUGIN/config/locales/*.{yml,rb})
12
+ #
13
+ # The pluginmanager will also load: `PLUGIN/skyline/init.rb` on intialization (after it sets up the above paths)
14
+ # And the pluginmanager will run `PLUGIN/skyline/load.rb` on every request (in development mode)
15
+ #
16
+ # @private
17
+ class Skyline::Plugins::Manager
18
+
19
+ attr_reader :app
20
+
21
+ def initialize(app)
22
+ @app = app
23
+ init_all!
24
+ end
25
+
26
+
27
+ # Initialize all plugins
28
+ def init_all!
29
+ FileUtils.mkdir(self.public_path) unless self.public_path.exist?
30
+
31
+ self.plugins.each{|path, plugin| plugin.init! }
32
+ end
33
+
34
+ # Load all plugins
35
+ def load_all!
36
+ self.plugins.each{|path, plugin| plugin.load! }
37
+ end
38
+
39
+ # The path where all skyline plugins reside
40
+ #
41
+ # @return [Pathname] Path of the plugins
42
+ def plugin_path
43
+ self.app.root + "vendor/skyline_plugins"
44
+ end
45
+
46
+ # The path where all public plugin assets reside
47
+ #
48
+ # @return [Pathname] Rails.public_path + "skyline_plugins"
49
+ def public_path
50
+ Pathname.new(self.app.paths.public.to_a.first) + "skyline_plugins"
51
+ end
52
+
53
+ # All known plugins
54
+ #
55
+ # @param [Boolean] force_reload (false) Forcefully reload the plugin directories
56
+ #
57
+ # @return [Array[PluginsManager]] An array of plugins
58
+ def plugins(force_reload = false)
59
+ return @plugins if @plugins && !force_reload
60
+ @plugins ||= {}
61
+ Dir[self.plugin_path + "*"].each do |path|
62
+ @plugins[path] = Skyline::Plugins::Plugin.new(path, self) if self.valid_plugin?(path) && !@plugins.has_key?(path)
63
+ end
64
+ @plugins
65
+ end
66
+
67
+ # Does the path contain a valid plugin?
68
+ #
69
+ # @param [String] path Path of a plugin
70
+ #
71
+ # @return [Boolean]
72
+ def valid_plugin?(path)
73
+ p = Pathname.new(path)
74
+ p.directory?
75
+ end
76
+
77
+ end