orange-sparkles 0.5.7
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +20 -0
- data/README.rdoc +21 -0
- data/lib/orange-sparkles.rb +4 -0
- data/lib/orange-sparkles/assets/css/960_24_col.css +1 -0
- data/lib/orange-sparkles/assets/css/border-radius.htc +143 -0
- data/lib/orange-sparkles/assets/css/colorbox.css +62 -0
- data/lib/orange-sparkles/assets/css/main.css +0 -0
- data/lib/orange-sparkles/assets/css/reset.css +1 -0
- data/lib/orange-sparkles/assets/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/lib/orange-sparkles/assets/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/lib/orange-sparkles/assets/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/lib/orange-sparkles/assets/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/lib/orange-sparkles/assets/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/lib/orange-sparkles/assets/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/lib/orange-sparkles/assets/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/lib/orange-sparkles/assets/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/lib/orange-sparkles/assets/css/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/lib/orange-sparkles/assets/css/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/lib/orange-sparkles/assets/css/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/lib/orange-sparkles/assets/css/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/lib/orange-sparkles/assets/css/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/lib/orange-sparkles/assets/css/smoothness/jquery-ui-1.7.2.custom.css +406 -0
- data/lib/orange-sparkles/assets/css/sparkles-admin.css +732 -0
- data/lib/orange-sparkles/assets/css/text.css +1 -0
- data/lib/orange-sparkles/assets/images/Untitled-28.png +0 -0
- data/lib/orange-sparkles/assets/images/add-blog.png +0 -0
- data/lib/orange-sparkles/assets/images/add-event.png +0 -0
- data/lib/orange-sparkles/assets/images/add-page.png +0 -0
- data/lib/orange-sparkles/assets/images/border.png +0 -0
- data/lib/orange-sparkles/assets/images/collapse-left.png +0 -0
- data/lib/orange-sparkles/assets/images/collapse-up.png +0 -0
- data/lib/orange-sparkles/assets/images/controls.png +0 -0
- data/lib/orange-sparkles/assets/images/edit-blog.png +0 -0
- data/lib/orange-sparkles/assets/images/edit-events.png +0 -0
- data/lib/orange-sparkles/assets/images/edit-pages.png +0 -0
- data/lib/orange-sparkles/assets/images/edit.png +0 -0
- data/lib/orange-sparkles/assets/images/emo-ticon.png +0 -0
- data/lib/orange-sparkles/assets/images/events.png +0 -0
- data/lib/orange-sparkles/assets/images/expand-down.png +0 -0
- data/lib/orange-sparkles/assets/images/expand.png +0 -0
- data/lib/orange-sparkles/assets/images/facebook_sticker.png +0 -0
- data/lib/orange-sparkles/assets/images/facebook_sticker_small.png +0 -0
- data/lib/orange-sparkles/assets/images/google-small.png +0 -0
- data/lib/orange-sparkles/assets/images/green-button.png +0 -0
- data/lib/orange-sparkles/assets/images/grey-button.png +0 -0
- data/lib/orange-sparkles/assets/images/header_bg.png +0 -0
- data/lib/orange-sparkles/assets/images/header_underline.png +0 -0
- data/lib/orange-sparkles/assets/images/home.png +0 -0
- data/lib/orange-sparkles/assets/images/internet_explorer/borderBottomCenter.png +0 -0
- data/lib/orange-sparkles/assets/images/internet_explorer/borderBottomLeft.png +0 -0
- data/lib/orange-sparkles/assets/images/internet_explorer/borderBottomRight.png +0 -0
- data/lib/orange-sparkles/assets/images/internet_explorer/borderMiddleLeft.png +0 -0
- data/lib/orange-sparkles/assets/images/internet_explorer/borderMiddleRight.png +0 -0
- data/lib/orange-sparkles/assets/images/internet_explorer/borderTopCenter.png +0 -0
- data/lib/orange-sparkles/assets/images/internet_explorer/borderTopLeft.png +0 -0
- data/lib/orange-sparkles/assets/images/internet_explorer/borderTopRight.png +0 -0
- data/lib/orange-sparkles/assets/images/linkedin_sticker.png +0 -0
- data/lib/orange-sparkles/assets/images/linkedin_sticker_small.png +0 -0
- data/lib/orange-sparkles/assets/images/loading.gif +0 -0
- data/lib/orange-sparkles/assets/images/loading_background.png +0 -0
- data/lib/orange-sparkles/assets/images/lock.png +0 -0
- data/lib/orange-sparkles/assets/images/move-higher-disabled.png +0 -0
- data/lib/orange-sparkles/assets/images/move-higher.png +0 -0
- data/lib/orange-sparkles/assets/images/move-indent-disabled.png +0 -0
- data/lib/orange-sparkles/assets/images/move-indent.png +0 -0
- data/lib/orange-sparkles/assets/images/move-lower-disabled.png +0 -0
- data/lib/orange-sparkles/assets/images/move-lower.png +0 -0
- data/lib/orange-sparkles/assets/images/move-outdent-disabled.png +0 -0
- data/lib/orange-sparkles/assets/images/move-outdent.png +0 -0
- data/lib/orange-sparkles/assets/images/move-up-disabled.png +0 -0
- data/lib/orange-sparkles/assets/images/orange-button.png +0 -0
- data/lib/orange-sparkles/assets/images/overlay.png +0 -0
- data/lib/orange-sparkles/assets/images/page-list-last-child.png +0 -0
- data/lib/orange-sparkles/assets/images/page-listing-blog.png +0 -0
- data/lib/orange-sparkles/assets/images/page-listing-event.png +0 -0
- data/lib/orange-sparkles/assets/images/page-listing-expand.png +0 -0
- data/lib/orange-sparkles/assets/images/page-listing-hide.png +0 -0
- data/lib/orange-sparkles/assets/images/page-listing-home.png +0 -0
- data/lib/orange-sparkles/assets/images/page-listing-link.png +0 -0
- data/lib/orange-sparkles/assets/images/page-listing-page.png +0 -0
- data/lib/orange-sparkles/assets/images/page-listing-subsite.png +0 -0
- data/lib/orange-sparkles/assets/images/payment/amex.png +0 -0
- data/lib/orange-sparkles/assets/images/payment/check.png +0 -0
- data/lib/orange-sparkles/assets/images/payment/discover.png +0 -0
- data/lib/orange-sparkles/assets/images/payment/mastercard.png +0 -0
- data/lib/orange-sparkles/assets/images/payment/paypal.png +0 -0
- data/lib/orange-sparkles/assets/images/payment/visa.png +0 -0
- data/lib/orange-sparkles/assets/images/popout-shadow.png +0 -0
- data/lib/orange-sparkles/assets/images/slider-background.png +0 -0
- data/lib/orange-sparkles/assets/images/slider-bg-enabled-disabled.png +0 -0
- data/lib/orange-sparkles/assets/images/slider-bg-gen-cust.png +0 -0
- data/lib/orange-sparkles/assets/images/slider-bg-now-later.png +0 -0
- data/lib/orange-sparkles/assets/images/slider-bg-pub-priv.png +0 -0
- data/lib/orange-sparkles/assets/images/slider-bg-yes-no.png +0 -0
- data/lib/orange-sparkles/assets/images/tablesorter/asc.gif +0 -0
- data/lib/orange-sparkles/assets/images/tablesorter/asc.png +0 -0
- data/lib/orange-sparkles/assets/images/tablesorter/bg.gif +0 -0
- data/lib/orange-sparkles/assets/images/tablesorter/bg.png +0 -0
- data/lib/orange-sparkles/assets/images/tablesorter/desc.gif +0 -0
- data/lib/orange-sparkles/assets/images/tablesorter/desc.png +0 -0
- data/lib/orange-sparkles/assets/images/tablesorter/first.png +0 -0
- data/lib/orange-sparkles/assets/images/tablesorter/last.png +0 -0
- data/lib/orange-sparkles/assets/images/tablesorter/next.png +0 -0
- data/lib/orange-sparkles/assets/images/tablesorter/prev.png +0 -0
- data/lib/orange-sparkles/assets/images/twitter_sticker.png +0 -0
- data/lib/orange-sparkles/assets/images/twitter_sticker_small.png +0 -0
- data/lib/orange-sparkles/assets/images/vimeo_sticker.png +0 -0
- data/lib/orange-sparkles/assets/images/vimeo_sticker_small.png +0 -0
- data/lib/orange-sparkles/assets/images/youtube_sticker.png +0 -0
- data/lib/orange-sparkles/assets/images/youtube_sticker_small.png +0 -0
- data/lib/orange-sparkles/assets/js/admin.js +11 -0
- data/lib/orange-sparkles/assets/js/autoresize.jquery.min.js +7 -0
- data/lib/orange-sparkles/assets/js/images/body.png +0 -0
- data/lib/orange-sparkles/assets/js/images/jaysalvat.png +0 -0
- data/lib/orange-sparkles/assets/js/images/markitup.png +0 -0
- data/lib/orange-sparkles/assets/js/images/style.css +27 -0
- data/lib/orange-sparkles/assets/js/jquery-1.4.1.min.js +152 -0
- data/lib/orange-sparkles/assets/js/jquery-ui-1.7.2.custom.min.js +298 -0
- data/lib/orange-sparkles/assets/js/jquery.colorbox.js +2 -0
- data/lib/orange-sparkles/assets/js/jquery.form.js +675 -0
- data/lib/orange-sparkles/assets/js/jquery.tablesorter.js +852 -0
- data/lib/orange-sparkles/assets/js/jquery.tablesorter.pager.js +184 -0
- data/lib/orange-sparkles/assets/js/jquery.tools.min.js +16 -0
- data/lib/orange-sparkles/assets/js/markitup/jquery.markitup.js +559 -0
- data/lib/orange-sparkles/assets/js/markitup/jquery.markitup.pack.js +9 -0
- data/lib/orange-sparkles/assets/js/markitup/readme.txt +67 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/default/images/bold.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/default/images/clean.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/default/images/image.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/default/images/italic.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/default/images/link.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/default/images/picture.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/default/images/preview.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/default/images/stroke.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/default/set.js +27 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/default/style.css +27 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/bold.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/code.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/h1.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/h2.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/h3.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/h4.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/h5.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/h6.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/italic.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/link.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/list-bullet.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/list-numeric.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/picture.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/preview.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/markdown/images/quotes.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/markdown/readme.txt +11 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/markdown/set.js +52 -0
- data/lib/orange-sparkles/assets/js/markitup/sets/markdown/style.css +45 -0
- data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/bg-container.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/bg-editor-bbcode.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/bg-editor-dotclear.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/bg-editor-html.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/bg-editor-json.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/bg-editor-markdown.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/bg-editor-textile.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/bg-editor-wiki.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/bg-editor-xml.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/bg-editor.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/handle.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/menu.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/skins/markitup/images/submenu.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/skins/markitup/style.css +148 -0
- data/lib/orange-sparkles/assets/js/markitup/skins/simple/images/handle.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/skins/simple/images/menu.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/skins/simple/images/submenu.png +0 -0
- data/lib/orange-sparkles/assets/js/markitup/skins/simple/style.css +118 -0
- data/lib/orange-sparkles/assets/js/markitup/templates/preview.css +5 -0
- data/lib/orange-sparkles/assets/js/markitup/templates/preview.html +11 -0
- data/lib/orange-sparkles/assets/js/page-list-effects.js +79 -0
- data/lib/orange-sparkles/assets/js/popout-effects-event-edit.js +21 -0
- data/lib/orange-sparkles/assets/js/popout-effects-generic.js +180 -0
- data/lib/orange-sparkles/assets/js/popout-effects-page-edit.js +12 -0
- data/lib/orange-sparkles/plugin.rb +10 -0
- data/lib/orange-sparkles/sparkles_app.rb +133 -0
- data/lib/orange-sparkles/templates/admin.haml +24 -0
- data/lib/orange-sparkles/templates/home.haml +20 -0
- data/lib/orange-sparkles/templates/sparkles-admin.haml +37 -0
- data/lib/orange-sparkles/templates/subpage.haml +20 -0
- data/lib/orange-sparkles/views/assets/change.haml +28 -0
- data/lib/orange-sparkles/views/assets/create.haml +25 -0
- data/lib/orange-sparkles/views/assets/create_markitup.haml +19 -0
- data/lib/orange-sparkles/views/assets/insert.haml +25 -0
- data/lib/orange-sparkles/views/assets/list.haml +19 -0
- data/lib/orange-sparkles/views/assets/list_markitup.haml +13 -0
- data/lib/orange-sparkles/views/assets/markitup_insert.haml +25 -0
- data/lib/orange-sparkles/views/blog/blog_offset_list_view.haml +21 -0
- data/lib/orange-sparkles/views/blog/blog_post_view.haml +9 -0
- data/lib/orange-sparkles/views/blog/sitemap_row.haml +46 -0
- data/lib/orange-sparkles/views/blog_posts/create.haml +77 -0
- data/lib/orange-sparkles/views/blog_posts/edit.haml +86 -0
- data/lib/orange-sparkles/views/blog_posts/list.haml +40 -0
- data/lib/orange-sparkles/views/blog_posts/show.haml +21 -0
- data/lib/orange-sparkles/views/blog_posts/table_row.haml +27 -0
- data/lib/orange-sparkles/views/contactforms/contactform.haml +26 -0
- data/lib/orange-sparkles/views/contactforms/list.haml +32 -0
- data/lib/orange-sparkles/views/default_resource/create.haml +6 -0
- data/lib/orange-sparkles/views/default_resource/edit.haml +11 -0
- data/lib/orange-sparkles/views/default_resource/list.haml +31 -0
- data/lib/orange-sparkles/views/default_resource/show.haml +4 -0
- data/lib/orange-sparkles/views/default_resource/sitemap_row.haml +46 -0
- data/lib/orange-sparkles/views/default_resource/table_row.haml +10 -0
- data/lib/orange-sparkles/views/disqus/comment_thread.haml +14 -0
- data/lib/orange-sparkles/views/news/archive.haml +21 -0
- data/lib/orange-sparkles/views/news/edit.haml +23 -0
- data/lib/orange-sparkles/views/news/latest.haml +11 -0
- data/lib/orange-sparkles/views/news/list.haml +37 -0
- data/lib/orange-sparkles/views/news/sitemap_row.haml +46 -0
- data/lib/orange-sparkles/views/news/table_row.haml +17 -0
- data/lib/orange-sparkles/views/openid_login.haml +28 -0
- data/lib/orange-sparkles/views/orange_sites/edit.haml +13 -0
- data/lib/orange-sparkles/views/orange_sites/lister.haml +1 -0
- data/lib/orange-sparkles/views/pages/admin.show.haml +1 -0
- data/lib/orange-sparkles/views/pages/create.haml +2 -0
- data/lib/orange-sparkles/views/pages/edit.haml +74 -0
- data/lib/orange-sparkles/views/pages/list.haml +1 -0
- data/lib/orange-sparkles/views/pages/live.show.haml +2 -0
- data/lib/orange-sparkles/views/pages/orange.list.haml +25 -0
- data/lib/orange-sparkles/views/pages/preview.show.haml +2 -0
- data/lib/orange-sparkles/views/pages/sitemap_row.haml +55 -0
- data/lib/orange-sparkles/views/pages/table_row.haml +24 -0
- data/lib/orange-sparkles/views/sitemap/breadcrumb.haml +31 -0
- data/lib/orange-sparkles/views/sitemap/create.haml +10 -0
- data/lib/orange-sparkles/views/sitemap/edit.haml +15 -0
- data/lib/orange-sparkles/views/sitemap/list.haml +26 -0
- data/lib/orange-sparkles/views/sitemap/one_level.haml +7 -0
- data/lib/orange-sparkles/views/sitemap/route_actions.haml +5 -0
- data/lib/orange-sparkles/views/sitemap/table_row.haml +44 -0
- data/lib/orange-sparkles/views/slices/footer.haml +17 -0
- data/lib/orange-sparkles/views/slices/header.haml +17 -0
- data/lib/orange-sparkles/views/slices/lorem.haml +1 -0
- data/lib/orange-sparkles/views/slices/slice_helper.haml +37 -0
- data/lib/orange-sparkles/views/users/create.haml +12 -0
- data/lib/orange-sparkles/views/users/edit.haml +17 -0
- 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}"} « Newer Posts
|
15
|
+
- else
|
16
|
+
%a.newer.grid_5.alpha
|
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 »
|
20
|
+
- else
|
21
|
+
%a.older.grid_5.omega
|
@@ -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
|
+
|
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
|
+
|
19
|
+
%a.page-listing-more-info{:href => "#"}
|
20
|
+
Extras...
|
21
|
+
%div.page-listing-extras
|
22
|
+
.menu-link
|
23
|
+
Menu Link Text:
|
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:
|
28
|
+
%span.last-uri-segment><
|
29
|
+
= route.full_path
|
30
|
+
.menu-toggle
|
31
|
+
Show in Menu:
|
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
|