orange-sparkles 0.5.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (240) hide show
  1. data/LICENSE +20 -0
  2. data/README.rdoc +21 -0
  3. data/lib/orange-sparkles.rb +4 -0
  4. data/lib/orange-sparkles/assets/css/960_24_col.css +1 -0
  5. data/lib/orange-sparkles/assets/css/border-radius.htc +143 -0
  6. data/lib/orange-sparkles/assets/css/colorbox.css +62 -0
  7. data/lib/orange-sparkles/assets/css/main.css +0 -0
  8. data/lib/orange-sparkles/assets/css/reset.css +1 -0
  9. data/lib/orange-sparkles/assets/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  10. data/lib/orange-sparkles/assets/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  11. data/lib/orange-sparkles/assets/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  12. data/lib/orange-sparkles/assets/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  13. data/lib/orange-sparkles/assets/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  14. data/lib/orange-sparkles/assets/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  15. data/lib/orange-sparkles/assets/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  16. data/lib/orange-sparkles/assets/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  17. data/lib/orange-sparkles/assets/css/smoothness/images/ui-icons_222222_256x240.png +0 -0
  18. data/lib/orange-sparkles/assets/css/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  19. data/lib/orange-sparkles/assets/css/smoothness/images/ui-icons_454545_256x240.png +0 -0
  20. data/lib/orange-sparkles/assets/css/smoothness/images/ui-icons_888888_256x240.png +0 -0
  21. data/lib/orange-sparkles/assets/css/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  22. data/lib/orange-sparkles/assets/css/smoothness/jquery-ui-1.7.2.custom.css +406 -0
  23. data/lib/orange-sparkles/assets/css/sparkles-admin.css +732 -0
  24. data/lib/orange-sparkles/assets/css/text.css +1 -0
  25. data/lib/orange-sparkles/assets/images/Untitled-28.png +0 -0
  26. data/lib/orange-sparkles/assets/images/add-blog.png +0 -0
  27. data/lib/orange-sparkles/assets/images/add-event.png +0 -0
  28. data/lib/orange-sparkles/assets/images/add-page.png +0 -0
  29. data/lib/orange-sparkles/assets/images/border.png +0 -0
  30. data/lib/orange-sparkles/assets/images/collapse-left.png +0 -0
  31. data/lib/orange-sparkles/assets/images/collapse-up.png +0 -0
  32. data/lib/orange-sparkles/assets/images/controls.png +0 -0
  33. data/lib/orange-sparkles/assets/images/edit-blog.png +0 -0
  34. data/lib/orange-sparkles/assets/images/edit-events.png +0 -0
  35. data/lib/orange-sparkles/assets/images/edit-pages.png +0 -0
  36. data/lib/orange-sparkles/assets/images/edit.png +0 -0
  37. data/lib/orange-sparkles/assets/images/emo-ticon.png +0 -0
  38. data/lib/orange-sparkles/assets/images/events.png +0 -0
  39. data/lib/orange-sparkles/assets/images/expand-down.png +0 -0
  40. data/lib/orange-sparkles/assets/images/expand.png +0 -0
  41. data/lib/orange-sparkles/assets/images/facebook_sticker.png +0 -0
  42. data/lib/orange-sparkles/assets/images/facebook_sticker_small.png +0 -0
  43. data/lib/orange-sparkles/assets/images/google-small.png +0 -0
  44. data/lib/orange-sparkles/assets/images/green-button.png +0 -0
  45. data/lib/orange-sparkles/assets/images/grey-button.png +0 -0
  46. data/lib/orange-sparkles/assets/images/header_bg.png +0 -0
  47. data/lib/orange-sparkles/assets/images/header_underline.png +0 -0
  48. data/lib/orange-sparkles/assets/images/home.png +0 -0
  49. data/lib/orange-sparkles/assets/images/internet_explorer/borderBottomCenter.png +0 -0
  50. data/lib/orange-sparkles/assets/images/internet_explorer/borderBottomLeft.png +0 -0
  51. data/lib/orange-sparkles/assets/images/internet_explorer/borderBottomRight.png +0 -0
  52. data/lib/orange-sparkles/assets/images/internet_explorer/borderMiddleLeft.png +0 -0
  53. data/lib/orange-sparkles/assets/images/internet_explorer/borderMiddleRight.png +0 -0
  54. data/lib/orange-sparkles/assets/images/internet_explorer/borderTopCenter.png +0 -0
  55. data/lib/orange-sparkles/assets/images/internet_explorer/borderTopLeft.png +0 -0
  56. data/lib/orange-sparkles/assets/images/internet_explorer/borderTopRight.png +0 -0
  57. data/lib/orange-sparkles/assets/images/linkedin_sticker.png +0 -0
  58. data/lib/orange-sparkles/assets/images/linkedin_sticker_small.png +0 -0
  59. data/lib/orange-sparkles/assets/images/loading.gif +0 -0
  60. data/lib/orange-sparkles/assets/images/loading_background.png +0 -0
  61. data/lib/orange-sparkles/assets/images/lock.png +0 -0
  62. data/lib/orange-sparkles/assets/images/move-higher-disabled.png +0 -0
  63. data/lib/orange-sparkles/assets/images/move-higher.png +0 -0
  64. data/lib/orange-sparkles/assets/images/move-indent-disabled.png +0 -0
  65. data/lib/orange-sparkles/assets/images/move-indent.png +0 -0
  66. data/lib/orange-sparkles/assets/images/move-lower-disabled.png +0 -0
  67. data/lib/orange-sparkles/assets/images/move-lower.png +0 -0
  68. data/lib/orange-sparkles/assets/images/move-outdent-disabled.png +0 -0
  69. data/lib/orange-sparkles/assets/images/move-outdent.png +0 -0
  70. data/lib/orange-sparkles/assets/images/move-up-disabled.png +0 -0
  71. data/lib/orange-sparkles/assets/images/orange-button.png +0 -0
  72. data/lib/orange-sparkles/assets/images/overlay.png +0 -0
  73. data/lib/orange-sparkles/assets/images/page-list-last-child.png +0 -0
  74. data/lib/orange-sparkles/assets/images/page-listing-blog.png +0 -0
  75. data/lib/orange-sparkles/assets/images/page-listing-event.png +0 -0
  76. data/lib/orange-sparkles/assets/images/page-listing-expand.png +0 -0
  77. data/lib/orange-sparkles/assets/images/page-listing-hide.png +0 -0
  78. data/lib/orange-sparkles/assets/images/page-listing-home.png +0 -0
  79. data/lib/orange-sparkles/assets/images/page-listing-link.png +0 -0
  80. data/lib/orange-sparkles/assets/images/page-listing-page.png +0 -0
  81. data/lib/orange-sparkles/assets/images/page-listing-subsite.png +0 -0
  82. data/lib/orange-sparkles/assets/images/payment/amex.png +0 -0
  83. data/lib/orange-sparkles/assets/images/payment/check.png +0 -0
  84. data/lib/orange-sparkles/assets/images/payment/discover.png +0 -0
  85. data/lib/orange-sparkles/assets/images/payment/mastercard.png +0 -0
  86. data/lib/orange-sparkles/assets/images/payment/paypal.png +0 -0
  87. data/lib/orange-sparkles/assets/images/payment/visa.png +0 -0
  88. data/lib/orange-sparkles/assets/images/popout-shadow.png +0 -0
  89. data/lib/orange-sparkles/assets/images/slider-background.png +0 -0
  90. data/lib/orange-sparkles/assets/images/slider-bg-enabled-disabled.png +0 -0
  91. data/lib/orange-sparkles/assets/images/slider-bg-gen-cust.png +0 -0
  92. data/lib/orange-sparkles/assets/images/slider-bg-now-later.png +0 -0
  93. data/lib/orange-sparkles/assets/images/slider-bg-pub-priv.png +0 -0
  94. data/lib/orange-sparkles/assets/images/slider-bg-yes-no.png +0 -0
  95. data/lib/orange-sparkles/assets/images/tablesorter/asc.gif +0 -0
  96. data/lib/orange-sparkles/assets/images/tablesorter/asc.png +0 -0
  97. data/lib/orange-sparkles/assets/images/tablesorter/bg.gif +0 -0
  98. data/lib/orange-sparkles/assets/images/tablesorter/bg.png +0 -0
  99. data/lib/orange-sparkles/assets/images/tablesorter/desc.gif +0 -0
  100. data/lib/orange-sparkles/assets/images/tablesorter/desc.png +0 -0
  101. data/lib/orange-sparkles/assets/images/tablesorter/first.png +0 -0
  102. data/lib/orange-sparkles/assets/images/tablesorter/last.png +0 -0
  103. data/lib/orange-sparkles/assets/images/tablesorter/next.png +0 -0
  104. data/lib/orange-sparkles/assets/images/tablesorter/prev.png +0 -0
  105. data/lib/orange-sparkles/assets/images/twitter_sticker.png +0 -0
  106. data/lib/orange-sparkles/assets/images/twitter_sticker_small.png +0 -0
  107. data/lib/orange-sparkles/assets/images/vimeo_sticker.png +0 -0
  108. data/lib/orange-sparkles/assets/images/vimeo_sticker_small.png +0 -0
  109. data/lib/orange-sparkles/assets/images/youtube_sticker.png +0 -0
  110. data/lib/orange-sparkles/assets/images/youtube_sticker_small.png +0 -0
  111. data/lib/orange-sparkles/assets/js/admin.js +11 -0
  112. data/lib/orange-sparkles/assets/js/autoresize.jquery.min.js +7 -0
  113. data/lib/orange-sparkles/assets/js/images/body.png +0 -0
  114. data/lib/orange-sparkles/assets/js/images/jaysalvat.png +0 -0
  115. data/lib/orange-sparkles/assets/js/images/markitup.png +0 -0
  116. data/lib/orange-sparkles/assets/js/images/style.css +27 -0
  117. data/lib/orange-sparkles/assets/js/jquery-1.4.1.min.js +152 -0
  118. data/lib/orange-sparkles/assets/js/jquery-ui-1.7.2.custom.min.js +298 -0
  119. data/lib/orange-sparkles/assets/js/jquery.colorbox.js +2 -0
  120. data/lib/orange-sparkles/assets/js/jquery.form.js +675 -0
  121. data/lib/orange-sparkles/assets/js/jquery.tablesorter.js +852 -0
  122. data/lib/orange-sparkles/assets/js/jquery.tablesorter.pager.js +184 -0
  123. data/lib/orange-sparkles/assets/js/jquery.tools.min.js +16 -0
  124. data/lib/orange-sparkles/assets/js/markitup/jquery.markitup.js +559 -0
  125. data/lib/orange-sparkles/assets/js/markitup/jquery.markitup.pack.js +9 -0
  126. data/lib/orange-sparkles/assets/js/markitup/readme.txt +67 -0
  127. data/lib/orange-sparkles/assets/js/markitup/sets/default/images/bold.png +0 -0
  128. data/lib/orange-sparkles/assets/js/markitup/sets/default/images/clean.png +0 -0
  129. data/lib/orange-sparkles/assets/js/markitup/sets/default/images/image.png +0 -0
  130. data/lib/orange-sparkles/assets/js/markitup/sets/default/images/italic.png +0 -0
  131. data/lib/orange-sparkles/assets/js/markitup/sets/default/images/link.png +0 -0
  132. data/lib/orange-sparkles/assets/js/markitup/sets/default/images/picture.png +0 -0
  133. data/lib/orange-sparkles/assets/js/markitup/sets/default/images/preview.png +0 -0
  134. data/lib/orange-sparkles/assets/js/markitup/sets/default/images/stroke.png +0 -0
  135. data/lib/orange-sparkles/assets/js/markitup/sets/default/set.js +27 -0
  136. data/lib/orange-sparkles/assets/js/markitup/sets/default/style.css +27 -0
  137. data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/bold.png +0 -0
  138. data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/code.png +0 -0
  139. data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/h1.png +0 -0
  140. data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/h2.png +0 -0
  141. data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/h3.png +0 -0
  142. data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/h4.png +0 -0
  143. data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/h5.png +0 -0
  144. data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/h6.png +0 -0
  145. data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/italic.png +0 -0
  146. data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/link.png +0 -0
  147. data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/list-bullet.png +0 -0
  148. data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/list-numeric.png +0 -0
  149. data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/picture.png +0 -0
  150. data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/preview.png +0 -0
  151. data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/quotes.png +0 -0
  152. data/lib/orange-sparkles/assets/js/markitup/sets/markdown/readme.txt +11 -0
  153. data/lib/orange-sparkles/assets/js/markitup/sets/markdown/set.js +52 -0
  154. data/lib/orange-sparkles/assets/js/markitup/sets/markdown/style.css +45 -0
  155. data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/bg-container.png +0 -0
  156. data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/bg-editor-bbcode.png +0 -0
  157. data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/bg-editor-dotclear.png +0 -0
  158. data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/bg-editor-html.png +0 -0
  159. data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/bg-editor-json.png +0 -0
  160. data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/bg-editor-markdown.png +0 -0
  161. data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/bg-editor-textile.png +0 -0
  162. data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/bg-editor-wiki.png +0 -0
  163. data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/bg-editor-xml.png +0 -0
  164. data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/bg-editor.png +0 -0
  165. data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/handle.png +0 -0
  166. data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/menu.png +0 -0
  167. data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/submenu.png +0 -0
  168. data/lib/orange-sparkles/assets/js/markitup/skins/markitup/style.css +148 -0
  169. data/lib/orange-sparkles/assets/js/markitup/skins/simple/images/handle.png +0 -0
  170. data/lib/orange-sparkles/assets/js/markitup/skins/simple/images/menu.png +0 -0
  171. data/lib/orange-sparkles/assets/js/markitup/skins/simple/images/submenu.png +0 -0
  172. data/lib/orange-sparkles/assets/js/markitup/skins/simple/style.css +118 -0
  173. data/lib/orange-sparkles/assets/js/markitup/templates/preview.css +5 -0
  174. data/lib/orange-sparkles/assets/js/markitup/templates/preview.html +11 -0
  175. data/lib/orange-sparkles/assets/js/page-list-effects.js +79 -0
  176. data/lib/orange-sparkles/assets/js/popout-effects-event-edit.js +21 -0
  177. data/lib/orange-sparkles/assets/js/popout-effects-generic.js +180 -0
  178. data/lib/orange-sparkles/assets/js/popout-effects-page-edit.js +12 -0
  179. data/lib/orange-sparkles/plugin.rb +10 -0
  180. data/lib/orange-sparkles/sparkles_app.rb +133 -0
  181. data/lib/orange-sparkles/templates/admin.haml +24 -0
  182. data/lib/orange-sparkles/templates/home.haml +20 -0
  183. data/lib/orange-sparkles/templates/sparkles-admin.haml +37 -0
  184. data/lib/orange-sparkles/templates/subpage.haml +20 -0
  185. data/lib/orange-sparkles/views/assets/change.haml +28 -0
  186. data/lib/orange-sparkles/views/assets/create.haml +25 -0
  187. data/lib/orange-sparkles/views/assets/create_markitup.haml +19 -0
  188. data/lib/orange-sparkles/views/assets/insert.haml +25 -0
  189. data/lib/orange-sparkles/views/assets/list.haml +19 -0
  190. data/lib/orange-sparkles/views/assets/list_markitup.haml +13 -0
  191. data/lib/orange-sparkles/views/assets/markitup_insert.haml +25 -0
  192. data/lib/orange-sparkles/views/blog/blog_offset_list_view.haml +21 -0
  193. data/lib/orange-sparkles/views/blog/blog_post_view.haml +9 -0
  194. data/lib/orange-sparkles/views/blog/sitemap_row.haml +46 -0
  195. data/lib/orange-sparkles/views/blog_posts/create.haml +77 -0
  196. data/lib/orange-sparkles/views/blog_posts/edit.haml +86 -0
  197. data/lib/orange-sparkles/views/blog_posts/list.haml +40 -0
  198. data/lib/orange-sparkles/views/blog_posts/show.haml +21 -0
  199. data/lib/orange-sparkles/views/blog_posts/table_row.haml +27 -0
  200. data/lib/orange-sparkles/views/contactforms/contactform.haml +26 -0
  201. data/lib/orange-sparkles/views/contactforms/list.haml +32 -0
  202. data/lib/orange-sparkles/views/default_resource/create.haml +6 -0
  203. data/lib/orange-sparkles/views/default_resource/edit.haml +11 -0
  204. data/lib/orange-sparkles/views/default_resource/list.haml +31 -0
  205. data/lib/orange-sparkles/views/default_resource/show.haml +4 -0
  206. data/lib/orange-sparkles/views/default_resource/sitemap_row.haml +46 -0
  207. data/lib/orange-sparkles/views/default_resource/table_row.haml +10 -0
  208. data/lib/orange-sparkles/views/disqus/comment_thread.haml +14 -0
  209. data/lib/orange-sparkles/views/news/archive.haml +21 -0
  210. data/lib/orange-sparkles/views/news/edit.haml +23 -0
  211. data/lib/orange-sparkles/views/news/latest.haml +11 -0
  212. data/lib/orange-sparkles/views/news/list.haml +37 -0
  213. data/lib/orange-sparkles/views/news/sitemap_row.haml +46 -0
  214. data/lib/orange-sparkles/views/news/table_row.haml +17 -0
  215. data/lib/orange-sparkles/views/openid_login.haml +28 -0
  216. data/lib/orange-sparkles/views/orange_sites/edit.haml +13 -0
  217. data/lib/orange-sparkles/views/orange_sites/lister.haml +1 -0
  218. data/lib/orange-sparkles/views/pages/admin.show.haml +1 -0
  219. data/lib/orange-sparkles/views/pages/create.haml +2 -0
  220. data/lib/orange-sparkles/views/pages/edit.haml +74 -0
  221. data/lib/orange-sparkles/views/pages/list.haml +1 -0
  222. data/lib/orange-sparkles/views/pages/live.show.haml +2 -0
  223. data/lib/orange-sparkles/views/pages/orange.list.haml +25 -0
  224. data/lib/orange-sparkles/views/pages/preview.show.haml +2 -0
  225. data/lib/orange-sparkles/views/pages/sitemap_row.haml +55 -0
  226. data/lib/orange-sparkles/views/pages/table_row.haml +24 -0
  227. data/lib/orange-sparkles/views/sitemap/breadcrumb.haml +31 -0
  228. data/lib/orange-sparkles/views/sitemap/create.haml +10 -0
  229. data/lib/orange-sparkles/views/sitemap/edit.haml +15 -0
  230. data/lib/orange-sparkles/views/sitemap/list.haml +26 -0
  231. data/lib/orange-sparkles/views/sitemap/one_level.haml +7 -0
  232. data/lib/orange-sparkles/views/sitemap/route_actions.haml +5 -0
  233. data/lib/orange-sparkles/views/sitemap/table_row.haml +44 -0
  234. data/lib/orange-sparkles/views/slices/footer.haml +17 -0
  235. data/lib/orange-sparkles/views/slices/header.haml +17 -0
  236. data/lib/orange-sparkles/views/slices/lorem.haml +1 -0
  237. data/lib/orange-sparkles/views/slices/slice_helper.haml +37 -0
  238. data/lib/orange-sparkles/views/users/create.haml +12 -0
  239. data/lib/orange-sparkles/views/users/edit.haml +17 -0
  240. metadata +365 -0
@@ -0,0 +1,133 @@
1
+ require 'orange-core'
2
+ require 'orange-more/administration'
3
+ require 'orange-more/assets'
4
+ require 'orange-more/pages'
5
+ require 'orange-more/sitemap'
6
+ require 'orange-more/slices'
7
+ require 'orange-more/disqus'
8
+ require 'orange-more/analytics'
9
+ require 'orange-more/cloud'
10
+ require 'orange-more/debugger'
11
+ require 'orange-more/subsites'
12
+ require 'maruku'
13
+ require 'rack/builder'
14
+ require 'rack/abstract_format'
15
+
16
+ require 'orange-sparkles/plugin'
17
+
18
+ class Orange::SparklesApp < Orange::Application
19
+ def stack_init
20
+ @core.template_chooser do |packet|
21
+ if [:admin, :orange].include?(packet['route.context'])
22
+ packet.add_css('sparkles-admin.css', :position => 0, :module => '_sparkles_')
23
+ packet.add_css('colorbox.css', :module => '_sparkles_')
24
+ packet.add_css('smoothness/jquery-ui-1.7.2.custom.css', :module => '_sparkles_')
25
+ packet.add_js('jquery-1.4.1.min.js', :module => '_sparkles_')
26
+ packet.add_js('markitup/sets/markdown/set.js', :module => '_sparkles_')
27
+ packet.add_js('markitup/jquery.markitup.pack.js', :module => '_sparkles_')
28
+ packet.add_js('autoresize.jquery.min.js', :module => '_sparkles_')
29
+ packet.add_js('jquery-ui-1.7.2.custom.min.js', :module => '_sparkles_')
30
+ packet.add_js('jquery.form.js', :module => '_sparkles_')
31
+ packet.add_js('jquery.colorbox.js', :module => '_sparkles_')
32
+ packet.add_js('jquery.tools.min.js', :module => '_sparkles_')
33
+ packet.add_js('jquery.tablesorter.js', :module => '_sparkles_')
34
+ packet.add_js('jquery.tablesorter.pager.js', :module => '_sparkles_')
35
+ packet.add_js('admin.js', :module => '_sparkles_')
36
+ orange.fire(:view_admin, packet)
37
+ 'sparkles-admin.haml'
38
+ elsif(packet['route.path'] == '/')
39
+ packet.add_js('jquery-1.4.1.min.js', :module => '_sparkles_')
40
+ ['reset', '960_24_col', 'text', 'main'].each{|c| packet.add_css("#{c}.css", :module => '_sparkles_')}
41
+ 'home.haml'
42
+ else
43
+ packet.add_js('jquery-1.4.1.min.js', :module => '_sparkles_')
44
+ ['reset', '960_24_col', 'text', 'main'].each{|c| packet.add_css("#{c}.css", :module => '_sparkles_')}
45
+ 'subpage.haml'
46
+ end
47
+ end # end do
48
+ end
49
+
50
+ stack do
51
+ orange.options[:development_mode] = true
52
+ use Rack::CommonLogger
53
+ use Rack::MethodOverride
54
+ use Rack::Session::Cookie, :secret => (orange.options['main_user'] || 'the_secret')
55
+ auto_reload!
56
+ use_exceptions
57
+
58
+ use Rack::OpenID, OpenIDDataMapper::DataMapperStore.new
59
+ prerouting
60
+
61
+ routing :single_user => false, :exposed_actions => {:live => {:all => :show, :contactforms => [:mailer], :members => [:login, :logout, :profile, :register], :donations => [:process, :donate_success, :donate_cancel]}, :preview => :show, :admin => :all, :orange => :all}
62
+
63
+ postrouting
64
+ orange.add_pulp(SparkleHelpers)
65
+ run Orange::SparklesApp.new(orange)
66
+ end
67
+
68
+ end
69
+
70
+ class Orange::AssetResource < Orange::ModelResource
71
+ def markitup_insert(packet, opts = {})
72
+ do_view(packet, :markitup_insert, opts)
73
+ end
74
+ def create_markitup(packet, opts = {})
75
+ do_view(packet, :create_markitup, opts)
76
+ end
77
+ def list_markitup(packet, opts = {})
78
+ do_view(packet, :list_markitup, opts)
79
+ end
80
+ end
81
+
82
+ class OrangeAsset
83
+ def to_s
84
+ <<-DOC
85
+ <textarea>
86
+ {"id": #{self.id}, "html": "#{self.to_asset_tag}"}
87
+ </textarea>
88
+ DOC
89
+ end
90
+ end
91
+
92
+
93
+ module SparkleHelpers
94
+ def markdown(string)
95
+ # Preparse for radius
96
+ string = orange[:radius].parse_text(self, string)
97
+ Maruku.new(string).to_html
98
+ end
99
+ def lorem(chars = 300)
100
+ chars = chars.to_i
101
+ ("Lorem ipsum dolor sit amet, consectetur adipiscing elit. In tincidunt enim eget ante semper interdum. Proin quis erat nec tellus faucibus volutpat. Aenean ornare augue eu tellus fermentum vel blandit ipsum bibendum. Pellentesque a nisi justo, non tristique metus. Curabitur fermentum tincidunt neque, sit amet posuere dui tempor at. Suspendisse imperdiet lobortis tempus. Nulla ac sem ut lorem laoreet porttitor at vestibulum dui.
102
+
103
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. In tincidunt enim eget ante semper interdum. Proin quis erat nec tellus faucibus volutpat. Aenean ornare augue eu tellus fermentum vel blandit ipsum bibendum."*6)[0..chars]
104
+ end
105
+ def button(text, link, opts = {})
106
+ opts.with_defaults!({:css_class => "grey-button", :method => 'POST', :confirm => false})
107
+ if opts[:confirm]
108
+ "<form method='POST' class='mini-form' action='#{link}'><input name='_method' type='hidden' value='#{opts[:method]}' /><a class='#{opts[:css_class]} button' onclick='if(confirm(\"#{opts[:confirm]}\")){ $(this).parent().submit(); }; return false;' href='#{link}'>#{text}</a></form>"
109
+ else
110
+ "<form method='POST' class='mini-form' action='#{link}'><input name='_method' type='hidden' value='#{opts[:method]}' /><a class='#{opts[:css_class]} button' onclick='$(this).parent().submit(); return false;' href='#{link}'>#{text}</a></form>"
111
+ end
112
+ end
113
+ def delete_button(link)
114
+ button("Delete", link, {:css_class => "delete-button", :method => "DELETE", :confirm => "Are you sure you want to delete this?"})
115
+ end
116
+ def move_button(dir, route)
117
+ action = packet.route_to(:sitemap, route.id, dir)
118
+ case dir
119
+ when "outdent"
120
+ disabled = true unless route.level > 1
121
+ when "indent"
122
+ disabled = true unless route.previous_sibling
123
+ when "higher"
124
+ disabled = true unless route.previous_sibling
125
+ when "lower"
126
+ disabled = true unless route.next_sibling
127
+ end
128
+ unless disabled
129
+ return "<form method='POST' class='move-arrow' action='#{action}'><a href='#{action}' class='move-#{dir}' onclick=''><img src='/assets/_sparkles_/images/move-#{dir}.png' /></a></form>"
130
+ else return "<a class='move-#{dir} move-disabled'><img src='/assets/_sparkles_/images/move-#{dir}-disabled.png' /></a>"
131
+ end
132
+ end
133
+ end
@@ -0,0 +1,24 @@
1
+ !!! xml
2
+ !!!
3
+ %html
4
+ %head
5
+ %title= part[:title, 'Orange Site']
6
+ = part[:css]
7
+ = part[:js]
8
+ %body
9
+ #body
10
+ .header
11
+ ORANGISH
12
+ .container
13
+ #inner-body
14
+ .sidebar
15
+ - orange[:admin].links(packet).each do |k, section|
16
+ .sidebar_section
17
+ %h3= k
18
+ %ul
19
+ - for link in section
20
+ %li
21
+ %a{:href => link[:href], :style => "background-image: url(#{link[:icon]})"}= link[:text]
22
+ .main
23
+ = yield
24
+ .footer
@@ -0,0 +1,20 @@
1
+ !!! 5
2
+ %html{:lang => "en"}
3
+ %head
4
+ %title Orange Site
5
+ %meta{:charset => "utf-8"}
6
+ -# CSS
7
+ = part[:css]
8
+ = part[:js]
9
+ /[if lt IE 9]
10
+ %script{:src => "http://html5shiv.googlecode.com/svn/trunk/html5.js"}
11
+ %body#home
12
+ .container.container_24
13
+ %header.head
14
+ .logo
15
+ %h1 Orange Site
16
+ %nav.clearfix
17
+ = orange[:sitemap].two_level(packet)
18
+ %br.clear
19
+ .body.grid_22.prefix_1.suffix_1
20
+ = yield
@@ -0,0 +1,37 @@
1
+ !!! 1.1
2
+ %html{:xmlns => "http://www.w3.org/1999/xhtml", "xml:lang" => "en", :lang => "en"}
3
+ %head
4
+ %title= part[:title, 'Orange Site']
5
+ %link{:rel => "stylesheet", :type => "text/css", :href => "http://yui.yahooapis.com/3.0.0/build/cssreset/reset-min.css"}
6
+ = part[:css]
7
+ = part[:js]
8
+ %link{:rel => "stylesheet", :type => "text/css", :href => "/assets/_sparkles_/js/markitup/skins/simple/style.css"}
9
+ %link{:rel => "stylesheet", :type => "text/css", :href => "/assets/_sparkles_/js/markitup/sets/markdown/style.css"}
10
+ %body{:id => packet["route.resource"].to_s}
11
+ %div#header
12
+ %div#user-status
13
+ Welcome, #{packet["user"] ? packet["user"].name : "User"}!
14
+ %a.orange-text{:href => "/logout"} Sign Out
15
+ %p
16
+ %a{:href => route_to(:users)} Manage Users
17
+ |
18
+ %a{:href => route_to(:orange_sites, packet["site"].id, "edit")} Site Settings
19
+ %div#current-site-header
20
+ %span Current Site:
21
+ %br
22
+ %select{:id => "site-selector"}
23
+ - for site in packet["user"].orange_sites
24
+ %option{:value => (!site.is_a?(OrangeSubsite) ? "/admin/sitemap" : "/admin#{orange[:subsites].url_for(packet, site)}sitemap"), :selected => (packet['subsite', false] ? site == packet['subsite'] : site == packet['site'])}= site.name
25
+ %div.tab-container
26
+ / %a.tab#home-tab{:href => "#"} Home
27
+ %a.tab#sitemap-tab{:href => route_to(:sitemap)} Pages
28
+ %div#subheader
29
+ %h1
30
+ %img.subhead-icon{:src => "/assets/_sparkles_/images/edit.png", :width => "23", :height => "22", :alt => "Pages icon"}
31
+ = packet["page.title"] || packet["route.resource"].to_s.capitalize
32
+ %div#page-content
33
+ %div#box-container
34
+ = yield
35
+ %div#footer
36
+ powered by
37
+ %span.orange-text Sparkles*
@@ -0,0 +1,20 @@
1
+ !!! 5
2
+ %html{:lang => "en"}
3
+ %head
4
+ %title Orange Site
5
+ %meta{:charset => "utf-8"}
6
+ -# CSS
7
+ = part[:css]
8
+ = part[:js]
9
+ /[if lt IE 9]
10
+ %script{:src => "http://html5shiv.googlecode.com/svn/trunk/html5.js"}
11
+ %body#home
12
+ .container.container_24
13
+ %header.head
14
+ .logo
15
+ %h1 Orange Site
16
+ %nav.clearfix
17
+ = orange[:sitemap].two_level(packet)
18
+ %br.clear
19
+ .body.grid_22.prefix_1.suffix_1
20
+ = yield
@@ -0,0 +1,28 @@
1
+ .new-asset{:style => "display: none"}
2
+ %h2 Upload a new image
3
+ %hr
4
+ .asset-upload-form
5
+ = view_create(:assets)
6
+ .choose-asset
7
+ %h2 Choose a previously uploaded image
8
+ %hr
9
+ = view_list(:assets)
10
+ .current-asset
11
+ %hr
12
+ %a.asset-chooser-toggle{:href => "#"} Choose a previously uploaded image instead
13
+ %hr
14
+ %p
15
+ Currently chosen image:
16
+ %em= model.name
17
+ .preview
18
+ = model.to_asset_tag
19
+ :javascript
20
+ $(".asset-chooser-toggle").toggle(function(){
21
+ $(this).text("Choose a previously uploaded image instead");
22
+ $(".new-asset").show();
23
+ $(".choose-asset").hide();
24
+ }, function(){
25
+ $(this).text("Upload a new image instead");
26
+ $(".new-asset").hide();
27
+ $(".choose-asset").show();
28
+ });
@@ -0,0 +1,25 @@
1
+ %form#asset-insert{:action => "#{packet.route_to(model_name, 'new')}", :method => 'post', :enctype=>"multipart/form-data"}
2
+ %input{:type => 'hidden', :name => "fake_xhr", :value => "1"}
3
+ - for prop in props
4
+ - next if [:path, :secondary_path].include?(prop[:name])
5
+ %p= view_attribute(prop, model_name, :label => true)
6
+ %p
7
+ %label File
8
+ %br
9
+ %input{:type => 'file', :name => "#{model_name}[file]"}
10
+ / %p
11
+ / %label Secondary File
12
+ / %br
13
+ / %input{:type => 'file', :name => "#{model_name}[file2]"}
14
+ %input{:type => 'submit', :value => 'Save New Item'}
15
+ :javascript
16
+ $("#asset-insert").ajaxForm({dataType: 'json', success: function(ret){
17
+ var link = $.fn.colorbox.element();
18
+ var preview = link.prev();
19
+ var input_name = link.attr('rel');
20
+ preview.html(ret.html);
21
+ $("[name*='"+input_name+"']").attr("value", ret.id);
22
+ link.attr("href", "/admin/assets/"+ret.id+"/change");
23
+ link.text("Change Asset");
24
+ $.fn.colorbox.close();
25
+ }});
@@ -0,0 +1,19 @@
1
+ %form#asset-insert{:action => "#{packet.route_to(model_name, 'new')}", :method => 'post', :enctype=>"multipart/form-data"}
2
+ %input{:type => 'hidden', :name => "fake_xhr", :value => "1"}
3
+ - for prop in props
4
+ - next if [:path, :secondary_path].include?(prop[:name])
5
+ %p= view_attribute(prop, model_name, :label => true)
6
+ %p
7
+ %label File
8
+ %br
9
+ %input{:type => 'file', :name => "#{model_name}[file]"}
10
+ / %p
11
+ / %label Secondary File
12
+ / %br
13
+ / %input{:type => 'file', :name => "#{model_name}[file2]"}
14
+ %input{:type => 'submit', :value => 'Save New Item'}
15
+ :javascript
16
+ $("#asset-insert").ajaxForm({dataType: 'json', success: function(ret){
17
+ $.markItUp({ replaceWith: '<o:asset id="'+ret.id+'" />' } );
18
+ $.fn.colorbox.close();
19
+ }});
@@ -0,0 +1,25 @@
1
+ .new-asset
2
+ %h2 Upload a new image
3
+ %hr
4
+ .asset-upload-form
5
+ = view_create(:assets)
6
+ .choose-asset{:style => "display: none"}
7
+ %h2 Choose a previously uploaded image
8
+ %hr
9
+ = view_list(:assets)
10
+ .current-asset
11
+ %hr
12
+ %a.asset-chooser-toggle{:href => "#"} Choose a previously uploaded image instead
13
+ %hr
14
+ %p
15
+ %em No image currently chosen
16
+ :javascript
17
+ $(".asset-chooser-toggle").toggle(function(){
18
+ $(this).text("Upload a new image instead");
19
+ $(".new-asset").hide();
20
+ $(".choose-asset").show();
21
+ }, function(){
22
+ $(this).text("Choose a previously uploaded image instead");
23
+ $(".new-asset").show();
24
+ $(".choose-asset").hide();
25
+ });
@@ -0,0 +1,19 @@
1
+ .asset-list
2
+ - for asset in list
3
+ .asset-tile{:id => asset.id}
4
+ %p.asset_tag= asset.to_asset_tag
5
+ %p
6
+ %em= asset.name
7
+ :javascript
8
+ $(".asset-tile").click(function(ret){
9
+ var tile = $(this);
10
+ var link = $.fn.colorbox.element();
11
+ var preview = link.prev();
12
+ var input_name = link.attr('rel');
13
+ var id = tile.attr("id");
14
+ preview.html(tile.children(".asset_tag").html());
15
+ $("[name*='"+input_name+"']").attr("value", id);
16
+ link.attr("href", "/admin/assets/"+tile.attr("id")+"/change");
17
+ link.text("Change Asset");
18
+ $.fn.colorbox.close();
19
+ });
@@ -0,0 +1,13 @@
1
+ .asset-list
2
+ - for asset in list
3
+ .asset-tile{:id => asset.id}
4
+ %p.asset_tag= asset.to_asset_tag
5
+ %p
6
+ %em= asset.name
7
+ :javascript
8
+ $(".asset-tile").click(function(ret){
9
+ var tile = $(this);
10
+ var id = tile.attr("id");
11
+ $.markItUp({ replaceWith: '<o:asset id="'+id+'" />' } );
12
+ $.fn.colorbox.close();
13
+ });
@@ -0,0 +1,25 @@
1
+ .new-asset
2
+ %h2 Upload a new image
3
+ %hr
4
+ .asset-upload-form
5
+ = view_create_markitup(:assets)
6
+ .choose-asset{:style => "display: none"}
7
+ %h2 Choose a previously uploaded image
8
+ %hr
9
+ = view_list_markitup(:assets)
10
+ .current-asset
11
+ %hr
12
+ %a.asset-chooser-toggle{:href => "#"} Choose a previously uploaded image instead
13
+ %hr
14
+ %p
15
+ %em No image currently chosen
16
+ :javascript
17
+ $(".asset-chooser-toggle").toggle(function(){
18
+ $(this).text("Upload a new image instead");
19
+ $(".new-asset").hide();
20
+ $(".choose-asset").show();
21
+ }, function(){
22
+ $(this).text("Choose a previously uploaded image instead");
23
+ $(".new-asset").show();
24
+ $(".choose-asset").hide();
25
+ });
@@ -0,0 +1,21 @@
1
+ %section.blog_posts
2
+ - for post in list
3
+ %article.blog_post.grid_15.alpha.omega
4
+ .post.grid_11.alpha
5
+ %header
6
+ %h1
7
+ %a{:href => "#{blog_url}/#{post.created_at.year}/#{post.created_at.month}/#{post.slug}"}= post.title
8
+ .blog_post_body= markdown(post.summary.blank? ? post.body : post.summary)
9
+ %footer.grid_2.suffix_1.prefix_1.omega
10
+ .date
11
+ %time{:datetime=>post.published_at, :pubdate => true}= post.published_at.strftime("%B %e, %Y")
12
+ %nav.blog_nav.grid_15.alpha.omega
13
+ - if page > 1
14
+ %a.newer.grid_5.alpha{:href => "#{blog_url}/page/#{page-1}"} &laquo; Newer Posts
15
+ - else
16
+ %a.newer.grid_5.alpha &nbsp;
17
+ %p.count.grid_5 Page #{page} of #{pages}
18
+ - if page < pages
19
+ %a.older.grid_5.omega{:href => "#{blog_url}/page/#{page+1}"} Older Posts &raquo;
20
+ - else
21
+ %a.older.grid_5.omega &nbsp;
@@ -0,0 +1,9 @@
1
+ %article.blog_post.grid_15.alpha.omega
2
+ .model.grid_11.alpha
3
+ %header
4
+ %h1
5
+ %a{:href => "#{blog_url}/#{model.created_at.year}/#{model.created_at.month}/#{model.slug}"}= model.title
6
+ .blog_post_body= markdown(model.summary.blank? ? model.body : model.summary)
7
+ %footer.grid_2.suffix_1.prefix_1.omega
8
+ .date
9
+ %time{:datetime=>model.published_at, :pubdate => true}= model.published_at.strftime("%B %e, %Y")
@@ -0,0 +1,46 @@
1
+ %td.move
2
+ .move-container
3
+ %div.page-listing-cell.move-controls= orange[:sitemap].route_actions(packet, :model => route)
4
+ - if (route.level > 0 && route.children.count > 0)
5
+ %div.page-listing-expand
6
+ %a.expand{:href => "#"}
7
+ %img{:src => "/assets/_sparkles_/images/page-listing-expand.png", :border => "0"}
8
+ - else
9
+ %div.page-listing-expand
10
+ &nbsp;
11
+ %td
12
+ %div.page-listing-title.page-listing-blog
13
+ %a{:href => route_to("blog_posts")}
14
+ - if(route.show_in_nav)
15
+ %strong= model.title
16
+ - else
17
+ %em= model.title
18
+ &nbsp;
19
+ %a.page-listing-more-info{:href => "#"}
20
+ Extras...
21
+ %div.page-listing-extras
22
+ .menu-link
23
+ Menu Link Text:&nbsp;
24
+ %span.last-uri-segment><
25
+ %a{:href => route_to(:sitemap, route.id, :edit)}= route.link_text
26
+ %div.page-listing-location
27
+ Current Location:&nbsp;
28
+ %span.last-uri-segment><
29
+ = route.full_path
30
+ .menu-toggle
31
+ Show in Menu:&nbsp;
32
+ = button("Yes", route_to(:sitemap, route.id, :show_in_nav), :css_class => route.show_in_nav ? "white-button" : "grey-button")
33
+ = button("No", route_to(:sitemap, route.id, :unshow_in_nav), :css_class => !route.show_in_nav ? "white-button" : "grey-button")
34
+ %div.page-listing-excerpt
35
+ = "Nothing here yet"
36
+ %td
37
+ %div.page-status
38
+ %div.page-listing-status
39
+ %a.button.status-published Published
40
+ %td
41
+ %div.page-listing-actions
42
+ %a.button.grey-button.preview-button{:href => route.full_path, :target => "_blank", :rel => "colorbox"}
43
+ Preview
44
+ = delete_button(route_to(model_name, model.id, "delete"))
45
+ %a.button.grey-button.move-button{:href => "#"}
46
+ Move