orange-sparkles 0.5.9 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. data/lib/orange-sparkles/assets/css/main.css +1 -1
  2. data/lib/orange-sparkles/assets/css/sparkles-admin.css +15 -1
  3. data/lib/orange-sparkles/assets/js/admin.js +1 -1
  4. data/lib/orange-sparkles/assets/js/popout-effects-generic.js +1 -1
  5. data/lib/orange-sparkles/sparkles_app.rb +9 -17
  6. data/lib/orange-sparkles/sparkles_resource.rb +13 -2
  7. data/lib/orange-sparkles/templates/home.haml +3 -3
  8. data/lib/orange-sparkles/templates/sparkles-admin.haml +4 -3
  9. data/lib/orange-sparkles/templates/subpage.haml +3 -3
  10. data/lib/orange-sparkles/views/assets/change.haml +1 -1
  11. data/lib/orange-sparkles/views/assets/create.haml +2 -2
  12. data/lib/orange-sparkles/views/assets/create_markitup.haml +2 -2
  13. data/lib/orange-sparkles/views/assets/edit.haml +37 -0
  14. data/lib/orange-sparkles/views/assets/list.haml +10 -3
  15. data/lib/orange-sparkles/views/assets/list_markitup.haml +4 -2
  16. data/lib/orange-sparkles/views/blog/sitemap_row.haml +2 -2
  17. data/lib/orange-sparkles/views/blog_posts/create.haml +1 -1
  18. data/lib/orange-sparkles/views/blog_posts/edit.haml +1 -1
  19. data/lib/orange-sparkles/views/contactforms/contactform.haml +1 -1
  20. data/lib/orange-sparkles/views/default_resource/create.haml +1 -1
  21. data/lib/orange-sparkles/views/default_resource/edit.haml +1 -1
  22. data/lib/orange-sparkles/views/news/edit.haml +1 -1
  23. data/lib/orange-sparkles/views/openid_login.haml +3 -0
  24. data/lib/orange-sparkles/views/orange_sites/edit.haml +1 -1
  25. data/lib/orange-sparkles/views/pages/edit.haml +55 -69
  26. data/lib/orange-sparkles/views/pages/sitemap_row.haml +3 -3
  27. data/lib/orange-sparkles/views/sitemap/breadcrumb.haml +6 -6
  28. data/lib/orange-sparkles/views/sitemap/create.haml +1 -1
  29. data/lib/orange-sparkles/views/sitemap/edit.haml +2 -2
  30. data/lib/orange-sparkles/views/sitemap/one_level.haml +2 -2
  31. data/lib/orange-sparkles/views/sitemap/table_row.haml +2 -2
  32. data/lib/orange-sparkles/views/slices/administrivia.haml +1 -1
  33. data/lib/orange-sparkles/views/users/create.haml +1 -1
  34. data/lib/orange-sparkles/views/users/edit.haml +1 -1
  35. metadata +7 -19
@@ -97,7 +97,7 @@ body .container .body .content{
97
97
  margin-top: 1em;
98
98
  padding: 1em 1.5em 1em;
99
99
  margin-bottom: 1em;
100
- background: #fff url(/assets/_sparkles_/images/logo_wm.png) no-repeat bottom right;
100
+ background: #fff;
101
101
  width: 60%;
102
102
  float: left;
103
103
  border-right: 2px dotted #9cc8e6;
@@ -187,11 +187,18 @@ div#current-site-header {
187
187
  border: 1px solid #d7d7d7;
188
188
  -moz-border-radius: 4px;
189
189
  -webkit-border-radius: 4px;
190
- height: 226px;
191
190
  margin: 140px auto;
192
191
  padding:15px;
193
192
  width: 176px;
194
193
  }
194
+ #login .message{
195
+ background: #efa;
196
+ border: 1px solid #bc8;
197
+ padding: 0.5em;
198
+ font-size: 0.9em;
199
+ text-align: center;
200
+ margin: 0 0 1em;
201
+ }
195
202
  #login label {
196
203
  color: #575555;
197
204
  font-size: 18px;
@@ -271,6 +278,9 @@ div#box-container {
271
278
  position: relative;
272
279
  width: 400px;
273
280
  z-index: 1;
281
+ }
282
+ #edit-sidebar{
283
+ height: 200px;
274
284
  }
275
285
  #edit input[type='text'] {
276
286
  border: 1px solid #bbbbbb;
@@ -460,6 +470,10 @@ div#box-container {
460
470
  padding: 10px;
461
471
  width: 930px;
462
472
  }
473
+ #cboxContent #pages-list, #cboxContent .list-view, #cboxContent .form-view{
474
+ width: 95%;
475
+ margin: 10px auto;
476
+ }
463
477
  #pages-list table, .list-view table{
464
478
  width: 100%;
465
479
  }
@@ -6,6 +6,6 @@ $(function(){
6
6
  $("#site-selector").change(function(){
7
7
  window.location = $(this).val();
8
8
  });
9
-
10
9
  $('a.insert_asset').colorbox({ width: "60%", height: "80%"});
10
+ // $(".markdown-editor").markItUp(mySettings);
11
11
  });
@@ -21,7 +21,7 @@ $(function(){
21
21
  $(this).parent("div").siblings().next("div.settings-area").slideDown();
22
22
  $(this).children("img").attr('src','/assets/_sparkles_/images/collapse-up.png');
23
23
  });
24
- $("#edit-content").markItUp(mySettings);
24
+ $(".markdown-editor").markItUp(mySettings);
25
25
  $("textarea.autosize").autoResize({
26
26
  extraSpace : 15
27
27
  });
@@ -8,13 +8,11 @@ require 'orange-more/disqus'
8
8
  require 'orange-more/analytics'
9
9
  require 'orange-more/cloud'
10
10
  require 'orange-more/debugger'
11
- require 'orange-more/subsites'
12
- require 'maruku'
13
11
  require 'rack/builder'
14
12
  require 'rack/abstract_format'
15
13
  require 'rack/openid'
16
14
  require 'openid_dm_store'
17
-
15
+ require 'kramdown'
18
16
  require 'orange-sparkles/plugin'
19
17
 
20
18
  class Orange::SparklesApp < Orange::Application
@@ -35,10 +33,12 @@ class Orange::SparklesApp < Orange::Application
35
33
  orange.fire(:view_admin, packet)
36
34
  'sparkles-admin.haml'
37
35
  elsif(packet['route.path'] == '/')
38
- ['reset', 'text', 'main'].each{|c| packet.add_css("#{c}.css", :module => '_sparkles_')}
36
+ ['reset', 'text'].each{|c| packet.add_css("#{c}.css", :module => '_sparkles_')}
37
+ ['main'].each{|c| packet.add_css("#{c}.css", :module => '_sparkles_')} if orange[:sparkles].default_style?
39
38
  'home.haml'
40
39
  else
41
- ['reset', 'text', 'main'].each{|c| packet.add_css("#{c}.css", :module => '_sparkles_')}
40
+ ['reset', 'text'].each{|c| packet.add_css("#{c}.css", :module => '_sparkles_')}
41
+ ['main'].each{|c| packet.add_css("#{c}.css", :module => '_sparkles_')} if orange[:sparkles].default_style?
42
42
  'subpage.haml'
43
43
  end
44
44
  end # end do
@@ -63,22 +63,14 @@ class Orange::SparklesApp < Orange::Application
63
63
  end
64
64
 
65
65
  class Orange::AssetResource < Orange::ModelResource
66
- def markitup_insert(packet, opts = {})
67
- do_view(packet, :markitup_insert, opts)
68
- end
69
- def create_markitup(packet, opts = {})
70
- do_view(packet, :create_markitup, opts)
71
- end
72
- def list_markitup(packet, opts = {})
73
- do_view(packet, :list_markitup, opts)
74
- end
66
+ viewable :markitup_insert, :create_markitup, :list_markitup
75
67
  end
76
68
 
77
69
  class OrangeAsset
78
70
  def to_s
79
71
  <<-DOC
80
72
  <textarea>
81
- {"id": #{self.id}, "html": "#{self.to_asset_tag}"}
73
+ {"id": #{self.id}, "name": "#{self.name}", "caption": "#{self.caption}", "html": "#{self.to_asset_tag}"}
82
74
  </textarea>
83
75
  DOC
84
76
  end
@@ -98,8 +90,8 @@ end
98
90
  module SparkleHelpers
99
91
  def markdown(string)
100
92
  # Preparse for radius
101
- string = orange[:radius].parse_text(self, string)
102
- Maruku.new(string).to_html
93
+ # string = orange[:radius].parse_text(self, string)
94
+ Kramdown::Document.new(string).to_html
103
95
  end
104
96
  def lorem(chars = 300)
105
97
  chars = chars.to_i
@@ -1,12 +1,23 @@
1
+ require 'extlib/mash'
1
2
  class SparklesResource < Orange::Resource
2
3
  call_me :sparkles
3
4
  def stylesheets
4
- orange.options["stylesheets"] || []
5
+ orange.options["sparkles.stylesheets"] || []
5
6
  end
6
7
  def javascripts
7
- orange.options["javascripts"] || []
8
+ orange.options["sparkles.javascripts"] || []
8
9
  end
9
10
  def site_name(packet, default = "An Orange Site")
10
11
  packet['site'] ? packet['site'].name : default
11
12
  end
13
+ def sidebar?
14
+ orange.options["sidebar_on"] || false
15
+ end
16
+ def tabs
17
+ tabs = orange.options["sparkles.tabs"] || []
18
+ tabs.collect{|hash| Mash.new(hash)} || []
19
+ end
20
+ def default_style?
21
+ orange.options["sparkles.default_style"] || stylesheets.empty?
22
+ end
12
23
  end
@@ -1,14 +1,14 @@
1
1
  !!! 5
2
2
  %html{:lang => "en"}
3
3
  %head
4
- %title= orange[:sparkles].site_name(packet)
4
+ %title= orange[:sparkles].site_name(packet, orange.options[:site_name])
5
5
  %meta{:charset => "utf-8"}
6
6
  -# CSS
7
7
  %script{:src => "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"}
8
+ - orange[:sparkles].stylesheets.each{|css| add_css("#{css}.css") }
9
+ - orange[:sparkles].javascripts.each{|js| add_js("#{js}.js") }
8
10
  = part[:css]
9
11
  = part[:js]
10
- - orange[:sparkles].stylesheets.each{|css| add_css("#{css}.css") }
11
- - orange[:sparkles].javascripts.each{|js| add_js("#{css}.js") }
12
12
  /[if lt IE 9]
13
13
  %script{:src => "http://html5shiv.googlecode.com/svn/trunk/html5.js"}
14
14
  %body#home
@@ -2,6 +2,7 @@
2
2
  %html{:xmlns => "http://www.w3.org/1999/xhtml", "xml:lang" => "en", :lang => "en"}
3
3
  %head
4
4
  %title= part[:title, 'Orange Site']
5
+ %meta{"http-equiv" => "Content-Type", :content => "text/html; charset=utf-8"}
5
6
  %script{:src => "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"}
6
7
  %link{:rel => "stylesheet", :type => "text/css", :href => "http://yui.yahooapis.com/3.0.0/build/cssreset/reset-min.css"}
7
8
  = part[:css]
@@ -12,7 +13,7 @@
12
13
  %div#header
13
14
  %div#user-status
14
15
  Welcome, #{packet["user"] ? packet["user"].name : "User"}!
15
- %a.orange-text{:href => "/logout"} Sign Out
16
+ %a.orange-text{:href => full_url('logout')} Sign Out
16
17
  %p
17
18
  %a{:href => route_to(:users)} Manage Users
18
19
  |
@@ -20,12 +21,12 @@
20
21
  %div#current-site-header
21
22
  %span Currently editing:
22
23
  %br
23
- %a.orange-text{:href => "/"}= orange[:sparkles].site_name(packet)
24
+ %a.orange-text{:href => orange[:mapper].root_url(packet)}= orange[:sparkles].site_name(packet)
24
25
  %div.tab-container
25
26
  / %a.tab#home-tab{:href => "#"} Home
26
27
  %a.tab#sitemap-tab{:href => route_to(:sitemap)} Pages
27
28
  %a.tab#assets-tab{:href => route_to(:assets)} Assets
28
- - for link in (orange[:admin].links(packet)["tabs"] || [])
29
+ - for link in (orange[:sparkles].tabs || [])
29
30
  %style= "body##{link[:resource]} a##{link[:resource]}-tab{ background: #999999;}"
30
31
  %a.tab{:id => "#{link[:resource]}-tab", :href => route_to(link[:resource])}= link[:text]
31
32
  %div#subheader
@@ -1,13 +1,13 @@
1
1
  !!! 5
2
2
  %html{:lang => "en"}
3
3
  %head
4
- %title= part[:page_title] +" - "+ orange[:sparkles].site_name(packet)
4
+ %title= part[:page_title] +" - "+ orange[:sparkles].site_name(packet, orange.options[:site_name])
5
5
  %meta{:charset => "utf-8"}
6
6
  %script{:src => "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"}
7
+ - orange[:sparkles].stylesheets.each{|css| add_css("#{css}.css") }
8
+ - orange[:sparkles].javascripts.each{|js| add_js("#{js}.js") }
7
9
  = part[:css]
8
10
  = part[:js]
9
- - orange[:sparkles].stylesheets.each{|css| add_css("#{css}.css") }
10
- - orange[:sparkles].javascripts.each{|js| add_js("#{css}.js") }
11
11
  /[if lt IE 9]
12
12
  %script{:src => "http://html5shiv.googlecode.com/svn/trunk/html5.js"}
13
13
  %body#home
@@ -9,7 +9,7 @@
9
9
  = view_list(:assets)
10
10
  .current-asset
11
11
  %hr
12
- %a.asset-chooser-toggle{:href => "#"} Choose a previously uploaded image instead
12
+ %a.asset-chooser-toggle{:href => "#"} Upload a new image instead
13
13
  %hr
14
14
  %p
15
15
  Currently chosen image:
@@ -1,6 +1,6 @@
1
- - colorbox ||= false
1
+ - colorbox ||= packet.request.xhr?
2
2
  .form-view
3
- %form#asset-insert{:action => "#{packet.route_to(model_name, 'new')}", :method => 'post', :enctype=>"multipart/form-data"}
3
+ %form#asset-insert{:action => "#{packet.route_to(model_name, 'new')}", :method => 'post', :enctype=>"multipart/form-data", :"accept-charset" => "UTF-8"}
4
4
  - if colorbox
5
5
  %input{:type => 'hidden', :name => "fake_xhr", :value => "1"}
6
6
  - for prop in props
@@ -1,4 +1,4 @@
1
- %form#asset-insert{:action => "#{packet.route_to(model_name, 'new')}", :method => 'post', :enctype=>"multipart/form-data"}
1
+ %form#asset-insert{:action => "#{packet.route_to(model_name, 'new')}", :method => 'post', :enctype=>"multipart/form-data", :"accept-charset" => "UTF-8"}
2
2
  %input{:type => 'hidden', :name => "fake_xhr", :value => "1"}
3
3
  - for prop in props
4
4
  - next if [:path, :secondary_path].include?(prop[:name])
@@ -14,6 +14,6 @@
14
14
  %input{:type => 'submit', :value => 'Save New Item'}
15
15
  :javascript
16
16
  $("#asset-insert").ajaxForm({dataType: 'json', success: function(ret){
17
- $.markItUp({ replaceWith: '<o:asset id="'+ret.id+'" />' } );
17
+ $.markItUp({ replaceWith: '<o:asset id="'+ret.id+'">'+ret.name+'</o:asset>' } );
18
18
  $.fn.colorbox.close();
19
19
  }});
@@ -0,0 +1,37 @@
1
+ - colorbox ||= packet.request.xhr?
2
+ .form-view
3
+ %form#asset-update{:action => packet.route_to(model_name, model[:id], 'save'), :method => 'post', :enctype=>"multipart/form-data", :"accept-charset" => "UTF-8"}
4
+ - if colorbox
5
+ %input{:type => 'hidden', :name => "fake_xhr", :value => "1"}
6
+ - for prop in props
7
+ - next if [:path, :secondary_path].include?(prop[:name])
8
+ %p!= view_attribute(prop, model_name, :label => true, :value => model.attribute_get(prop[:name]), :model => model)
9
+ / %p
10
+ / %label Secondary File
11
+ / %br
12
+ / %input{:type => 'file', :name => "#{model_name}[file2]"}
13
+ .current-asset
14
+ %hr
15
+ %p
16
+ Currently chosen asset:
17
+ %em= model.name
18
+ .preview
19
+ = model.to_asset_tag
20
+ %p
21
+ %label To replace file choose a new one below:
22
+ %br
23
+ %input{:type => 'file', :name => "#{model_name}[file]"}
24
+ %hr
25
+ %input{:type => 'submit', :value => 'Save New Item'}
26
+ - if colorbox
27
+ :javascript
28
+ $("#asset-insert").ajaxForm({dataType: 'json', success: function(ret){
29
+ var link = $.fn.colorbox.element();
30
+ var preview = link.prev();
31
+ var input_name = link.attr('rel');
32
+ preview.html(ret.html);
33
+ $("[name*='"+input_name+"']").attr("value", ret.id);
34
+ link.attr("href", "/admin/assets/"+ret.id+"/change");
35
+ link.text("Change Asset");
36
+ $.fn.colorbox.close();
37
+ }});
@@ -1,10 +1,10 @@
1
1
  - packet.add_js("page-list-effects.js", :module => "_sparkles_")
2
- - colorbox ||= false
2
+ - colorbox ||= packet.request.xhr?
3
3
  .list-view
4
4
  .asset-list
5
5
  - for asset in list
6
6
  .asset-tile{:id => asset.id}
7
- %p.asset_tag
7
+ .asset_tag
8
8
  -if(asset.image?)
9
9
  = asset.to_asset_tag
10
10
  -elsif(asset.pdf?)
@@ -19,6 +19,7 @@
19
19
  - else
20
20
  %em
21
21
  %a{:href => route_to(:assets, asset.id, :edit)}= name
22
+ = delete_button(route_to(:assets, asset.id, "delete"))
22
23
  %br.clearfix
23
24
  - unless colorbox
24
25
  %a.button.add-button{:href => route_to(model_name, 'create'), :style => "float: right"} Upload new asset
@@ -28,7 +29,13 @@
28
29
  $(".asset-tile .asset_tag a").click(function(ret){
29
30
  var tile = $(this).closest('.asset-tile');
30
31
  var id = tile.attr("id");
31
- $.markItUp({ replaceWith: '<o:asset id="'+id+'" />' } );
32
+ var link = $.fn.colorbox.element();
33
+ var preview = link.prev();
34
+ var input_name = link.attr('rel');
35
+ preview.html(tile.children(".asset_tag").html());
36
+ $("[name*='"+input_name+"']").attr("value", id);
37
+ link.attr("href", "/admin/assets/"+tile.attr("id")+"/change");
38
+ link.text("Change Asset");
32
39
  $.fn.colorbox.close();
33
40
  return false;
34
41
  });
@@ -15,13 +15,15 @@
15
15
  $(".asset-tile .asset_tag a").click(function(ret){
16
16
  var tile = $(this).closest('.asset-tile');
17
17
  var id = tile.attr("id");
18
- $.markItUp({ replaceWith: '<o:asset id="'+id+'" />' } );
18
+ var my_name = $(".asset_name", tile).text().trim();
19
+ $.markItUp({ replaceWith: '<o:asset id="'+id+'">'+my_name+'</o:asset>' } );
19
20
  $.fn.colorbox.close();
20
21
  return false;
21
22
  });
22
23
  $(".asset-tile").click(function(ret){
23
24
  var tile = $(this);
24
25
  var id = tile.attr("id");
25
- $.markItUp({ replaceWith: '<o:asset id="'+id+'" />' } );
26
+ var my_name = $(".asset_name", tile).text().trim();
27
+ $.markItUp({ replaceWith: '<o:asset id="'+id+'">'+my_name+'</o:asset>' } );
26
28
  $.fn.colorbox.close();
27
29
  });
@@ -26,7 +26,7 @@
26
26
  %div.page-listing-location
27
27
  Current Location:&nbsp;
28
28
  %span.last-uri-segment><
29
- = route.full_path
29
+ = route_to(route)
30
30
  .menu-toggle
31
31
  Show in Menu:&nbsp;
32
32
  = button("Yes", route_to(:sitemap, route.id, :show_in_nav), :css_class => route.show_in_nav ? "white-button" : "grey-button")
@@ -39,7 +39,7 @@
39
39
  %a.button.status-published Published
40
40
  %td
41
41
  %div.page-listing-actions
42
- %a.button.grey-button.preview-button{:href => route.full_path, :target => "_blank", :rel => "colorbox"}
42
+ %a.button.grey-button.preview-button{:href => route_to(route), :target => "_blank", :rel => "colorbox"}
43
43
  Preview
44
44
  = delete_button(route_to(model_name, model.id, "delete"))
45
45
  %a.button.grey-button.move-button{:href => "#"}
@@ -2,7 +2,7 @@
2
2
  - packet.add_js("popout-effects-generic.js", :module => "_sparkles_")
3
3
  - packet.add_js("popout-effects-page-edit.js", :module => "_sparkles_")
4
4
  %div#edit-box
5
- %form#edit{:action => route_to(model_name, "new"), :method => "post"}
5
+ %form#edit{:action => route_to(model_name, "new"), :method => "post", :"accept-charset" => "UTF-8"}
6
6
  %label{:for => "edit-title"} Title
7
7
  %input#publish-social{:type => "hidden", :name => "#{model_name}[publish_to_social]", :value => "0"}
8
8
  %input#edit-title{:type => "text", :name => "#{model_name}[title]", :value => ""}
@@ -2,7 +2,7 @@
2
2
  - packet.add_js("popout-effects-generic.js", :module => "_sparkles_")
3
3
  - packet.add_js("popout-effects-page-edit.js", :module => "_sparkles_")
4
4
  %div#edit-box
5
- %form#edit{:action => route_to(model_name, model.id, "save"), :method => "POST"}
5
+ %form#edit{:action => route_to(model_name, model.id, "save"), :method => "POST", :"accept-charset" => "UTF-8"}
6
6
  %label{:for => "edit-title"} Title
7
7
  - # Make it harder to republish to social by forcing publish to social off.
8
8
  %input#edit-title{:type => "text", :name => "#{model_name}[title]", :value => model.title}
@@ -6,7 +6,7 @@
6
6
  %h3= model.title
7
7
  - if(flash['error'])
8
8
  .error= flash('error')
9
- %form{ :class => 'contact_form', :id => 'contact_form_'+model.id.to_s, :action => route_to(:contactforms, :mailer, model.id), :method => 'POST' }
9
+ %form{ :class => 'contact_form', :id => 'contact_form_'+model.id.to_s, :action => route_to(:contactforms, :mailer, model.id), :method => 'POST' , :"accept-charset" => "UTF-8"}
10
10
  %p
11
11
  %label{ :for => 'contact_from'} Your Name
12
12
  %br
@@ -1,5 +1,5 @@
1
1
  .form-view
2
- %form{:action => "#{packet.route_to(model_name, 'new')}", :method => 'post'}
2
+ %form{:action => "#{packet.route_to(model_name, 'new')}", :method => 'post', :"accept-charset" => "UTF-8"}
3
3
  - packet["page.title"] = "#{model_name.to_s.capitalize} > Create"
4
4
  - for prop in props
5
5
  %p= view_attribute(prop, model_name, :label => true)
@@ -3,7 +3,7 @@
3
3
  - if model
4
4
  - if resource.options[:sitemappable, false]
5
5
  = orange[:sitemap, true].sitemap_links(packet, {:slug_me => orange[:sitemap, true].slug_for(model, props)})
6
- %form{:action => packet.route_to(model_name, model[:id], 'save'), :method => 'post'}
6
+ %form{:action => packet.route_to(model_name, model[:id], 'save'), :method => 'post', :"accept-charset" => "UTF-8"}
7
7
  - for prop in props
8
8
  %p!= view_attribute(prop, model_name, :label => true, :value => model.attribute_get(prop[:name]), :model => model)
9
9
  %input{:type => 'submit', :value => 'Save Changes'}
@@ -2,7 +2,7 @@
2
2
  - if model
3
3
  - if resource.options[:sitemappable, false]
4
4
  = orange[:sitemap, true].sitemap_links(packet, {:slug_me => orange[:sitemap, true].slug_for(model, props)})
5
- %form{:action => packet.route_to(model_name, model[:id], 'save'), :method => 'post'}
5
+ %form{:action => packet.route_to(model_name, model[:id], 'save'), :method => 'post', :"accept-charset" => "UTF-8"}
6
6
  - packet["page.title"] = "#{model_name.to_s.capitalize} > Edit"
7
7
  - for prop in props
8
8
  %p!= view_attribute(prop, model_name, :label => true, :value => model.attribute_get(prop[:name]))
@@ -14,6 +14,9 @@
14
14
  %h2 You'll need to log in before you can continue.
15
15
  %div#login-box
16
16
  %form#login{:name => "login", :method => "post", :action => ""}
17
+ - unless packet.flash['login.message'].blank?
18
+ .message
19
+ %p= packet.flash('login.message')
17
20
  %label.center-block
18
21
  Login with Google
19
22
  %a.center-block{:href => "#", :onclick => "$(\"#login-openid\").val(\"https://www.google.com/accounts/o8/id\"); $(\"form#login\").submit(); return false;"}
@@ -2,7 +2,7 @@
2
2
  %h2 Site Settings
3
3
  .form-view
4
4
  - if model
5
- %form{:action => route_to(model_name, model[:id], 'save'), :method => 'post'}
5
+ %form{:action => route_to(model_name, model[:id], 'save'), :method => 'post', :"accept-charset" => "UTF-8"}
6
6
  - for prop in props
7
7
  %p~ view_attribute(prop, model_name, :label => true, :value => model.attribute_get(prop[:name]))
8
8
  %input{:type => 'submit', :value => 'Save Changes'}
@@ -1,74 +1,60 @@
1
1
  - packet["page.title"] = "Pages > Edit"
2
2
  - packet.add_js("popout-effects-generic.js", :module => "_sparkles_")
3
3
  - packet.add_js("popout-effects-page-edit.js", :module => "_sparkles_")
4
- %div#edit-box
5
- %form#edit{:action => route_to(model_name, model.id, "save"), :method => "POST"}
6
- %label{:for => "edit-title"} Title
7
- %input#edit-title{:type => "text", :name => "#{model_name}[title]", :value => model.title}
8
- %textarea#edit-content{:cols => "32", :rows => "20", :name => "#{model_name}[body]"}<&= model.body
9
- %div#save-status
10
- #{model.published ? "Published" : "Draft saved"}
11
- %input#publish-me{:type => "hidden", :name => "#{model_name}[published]", :value => "0"}
12
- %div#button-container
13
- %input#save-draft{:type => "button", :onclick => "$('#save-status').text('Saving draft...'); $('#edit').ajaxSubmit({success: function(){$('#save-status').text('Draft saved.');}, method: 'post'}); return false;", :value => "Save Draft"}
14
- %input#publish{:type => "button", :onclick => "$('#publish-me').val('1'); $('#edit').submit(); return false;", :value => "Publish"}
15
- %div#popout-box
16
- %div#popout-titlebar
17
- Settings
18
- %div#popout-collapse
19
- %a#collapse{:href => "#"}
20
- %img{:src => "/assets/_sparkles_/images/collapse-left.png", :border => "0"}
21
- / %div.slider-container.main-slider-container
22
- / %div.slider-background.slider-background-general-custom
23
- / %div.slider
24
- / General
25
- %div.page-settings-container
26
- %div.page-settings-container-current
27
- %div#page-settings-container-1
28
- / %hr.one-px-grey
29
- / %div#show-in-menu.control-label
30
- / - unless routes.empty?
31
- / Show in Menu
32
- / %div.slider-container
33
- / %div.slider-background.slider-background-yes-no
34
- / - if routes.first.show_in_nav
35
- / %div.slider
36
- / Yes
37
- / - else
38
- / %div.slider-off
39
- / No
40
- / - else
41
- / %a.grey-button Add to Menu
42
- / %hr.one-px-grey
43
-
44
- .control-label
45
- .preview-container
46
- %a.button.grey-button{:onclick => " $('#edit').ajaxSubmit({async: false, beforeSubmit: function(){$('#save-status').text('Saving draft before preview...');}, success: function(){$('#save-status').text('Draft saved.')}});", :href => route_to(:pages, model.id, :show, :context => "preview"), :target => "_blank", :rel => "colorbox"} Show Preview
47
- %a.button.green-button{:href => orange[:pages].route_for(packet, model.id), :target => "_blank", :rel => "colorbox"} Show Live
48
- %hr.one-px-grey
49
- .control-label
50
- - unless(orange[:pages].route_for(packet, model.id).blank? || orange[:pages].route_for(packet, model.id).rindex('/').blank?)
51
- %strong Total Views: #{orange[:analytics].pageviews(orange[:pages].route_for(packet, model.id))} hits
4
+ - if(model)
5
+ %div#edit-box
6
+ %form#edit{:action => route_to(model_name, model.id, "save"), :method => "POST", :"accept-charset" => "UTF-8"}
7
+ %label{:for => "edit-title"} Title
8
+ %input#edit-title{:type => "text", :name => "#{model_name}[title]", :value => model.title}
9
+ %textarea#edit-content{:cols => "32", :rows => "20", :name => "#{model_name}[body]", :class => 'markdown-editor'}<&= model.body
10
+ %br
11
+ - if(orange[:sparkles].sidebar?)
12
+ %label{:for => "edit-sidebar"} Sidebar
13
+ %textarea#edit-sidebar{:cols => "32", :rows => "12", :name => "#{model_name}[sidebar]", :class => 'markdown-editor'}<&= model.sidebar
14
+ %div#save-status
15
+ #{model.published ? "Published" : "Draft saved"}
16
+ %input#publish-me{:type => "hidden", :name => "#{model_name}[published]", :value => "0"}
17
+ %div#button-container
18
+ %input#save-draft{:type => "button", :onclick => "$('#save-status').text('Saving draft...'); $('#edit').ajaxSubmit({success: function(){$('#save-status').text('Draft saved.');}, method: 'post'}); return false;", :value => "Save Draft"}
19
+ %input#publish{:type => "button", :onclick => "$('#publish-me').val('1'); $('#edit').submit(); return false;", :value => "Publish"}
20
+ %div#popout-box
21
+ %div#popout-titlebar
22
+ Settings
23
+ %div#popout-collapse
24
+ %a#collapse{:href => "#"}
25
+ %img{:src => "/assets/_sparkles_/images/collapse-left.png", :border => "0"}
26
+ %div.page-settings-container
27
+ %div.page-settings-container-current
28
+ %div#page-settings-container-1
29
+ .control-label
30
+ .preview-container
31
+ %a.button.grey-button{:onclick => " $('#edit').ajaxSubmit({async: false, beforeSubmit: function(){$('#save-status').text('Saving draft before preview...');}, success: function(){$('#save-status').text('Draft saved.')}});", :href => route_to(:pages, model.id, :show, :context => "preview"), :target => "_blank", :rel => "colorbox"} Show Preview
32
+ %a.button.green-button{:href => orange[:pages].route_for(packet, model.id), :target => "_blank", :rel => "colorbox"} Show Live
33
+ %hr.one-px-grey
34
+ .control-label
35
+ - unless(orange[:pages].route_for(packet, model.id).blank? || orange[:pages].route_for(packet, model.id).rindex('/').blank?)
36
+ - if orange.loaded?(:analytics)
37
+ %strong Total Views: #{orange[:analytics].pageviews(orange[:pages].route_for(packet, model.id))} hits
38
+ %br
39
+ %strong This Month's Views: #{orange[:analytics].pageviews(orange[:pages].route_for(packet, model.id), :start_date => Time.now.localtime.strftime("%Y-%m-01"))} hits
40
+ %br
41
+ %div#page-settings-container-2
42
+ %div#page-summary.control-label
43
+ Page Summary (optional)
44
+ %div.settings-collapse
45
+ %a.collapse-up{:href => "#"}
46
+ %img{:src => "/assets/_sparkles_/images/collapse-up.png", :border => "0"}
52
47
  %br
53
- %strong This Month's Views: #{orange[:analytics].pageviews(orange[:pages].route_for(packet, model.id), :start_date => Time.now.localtime.strftime("%Y-%m-01"))} hits
48
+ %div#page-summary-textarea.settings-area
49
+ %textarea#edit-page-summary.autosize
50
+ %hr.one-px-grey
51
+ %div#page-keywords.control-label
52
+ Page Keywords (optional)
53
+ %div.settings-collapse
54
+ %a.collapse-up{:href => "#"}
55
+ %img{:src => "/assets/_sparkles_/images/collapse-up.png", :border => "0"}
54
56
  %br
55
- %div#page-settings-container-2
56
- %div#page-summary.control-label
57
- Page Summary (optional)
58
- %div.settings-collapse
59
- %a.collapse-up{:href => "#"}
60
- %img{:src => "/assets/_sparkles_/images/collapse-up.png", :border => "0"}
61
- %br
62
- %div#page-summary-textarea.settings-area
63
- %textarea#edit-page-summary.autosize
64
- %hr.one-px-grey
65
- %div#page-keywords.control-label
66
- Page Keywords (optional)
67
- %div.settings-collapse
68
- %a.collapse-up{:href => "#"}
69
- %img{:src => "/assets/_sparkles_/images/collapse-up.png", :border => "0"}
70
- %br
71
- %div#page-keywords-textarea.settings-area
72
- %textarea#edit-page-keywords.autosize
73
- %hr.one-px-grey
74
- %br.clearfix
57
+ %div#page-keywords-textarea.settings-area
58
+ %textarea#edit-page-keywords.autosize
59
+ %hr.one-px-grey
60
+ %br.clearfix
@@ -31,7 +31,7 @@
31
31
  %div.page-listing-location
32
32
  Current Location:&nbsp;
33
33
  %span.last-uri-segment><
34
- = route.full_path
34
+ = route_to(route)
35
35
  .menu-toggle
36
36
  Show in Menu:&nbsp;
37
37
  = button("Yes", route_to(:sitemap, route.id, :show_in_nav), :css_class => route.show_in_nav ? "white-button" : "grey-button")
@@ -47,8 +47,8 @@
47
47
  = button("Draft", route_to(model_name, model.id, 'publish'), :css_class => "status-draft")
48
48
  %td
49
49
  %div.page-listing-actions
50
- %a.button.grey-button.preview-button{:href => route.full_path, :target => "_blank", :rel => "colorbox"}
51
- Preview
50
+ %a.button.grey-button.preview-button{:href => route_to(route), :target => "_blank", :rel => "colorbox"}
51
+ View
52
52
  - unless route.level == 0
53
53
  = delete_button(route_to(:sitemap, route.id, "delete"))
54
54
  %a.button.grey-button.move-button{:href => "#"}
@@ -2,30 +2,30 @@
2
2
  %p
3
3
  - if packet['route.main_site_route'] && model.ancestors.count > 0
4
4
  - for a in packet['route.main_site_route'].self_and_ancestors
5
- %a{:href => a.full_path}= orange[:sitemap].link_text_for(a)
5
+ %a{:href => route_to(a)}= orange[:sitemap].link_text_for(a)
6
6
  &gt;
7
7
  - for a in (model.ancestors - model.root)
8
- %a{:href => a.full_path}= orange[:sitemap].link_text_for(a)
8
+ %a{:href => route_to(a)}= orange[:sitemap].link_text_for(a)
9
9
  &gt;
10
10
  %span.here= orange[:sitemap].link_text_for(model)
11
11
  - elsif packet['route.main_site_route']
12
12
  - for a in packet['route.main_site_route'].ancestors
13
- %a{:href => a.full_path}= orange[:sitemap].link_text_for(a)
13
+ %a{:href => route_to(a)}= orange[:sitemap].link_text_for(a)
14
14
  &gt;
15
15
  %span.here= orange[:sitemap].link_text_for packet['route.main_site_route']
16
16
  - else
17
17
  - for a in model.ancestors
18
- %a{:href => a.full_path}= orange[:sitemap].link_text_for(a)
18
+ %a{:href => route_to(a)}= orange[:sitemap].link_text_for(a)
19
19
  &gt;
20
20
  %span.here= orange[:sitemap].link_text_for(model)
21
21
  - else # Possibly a restful route
22
22
  %p
23
23
  - if packet['route.main_site_route']
24
24
  - for a in packet['route.main_site_route'].self_and_ancestors
25
- %a{:href => a.full_path}= orange[:sitemap].link_text_for(a)
25
+ %a{:href => route_to(a)}= orange[:sitemap].link_text_for(a)
26
26
  &gt;
27
27
  - else
28
28
  - home = orange[:sitemap].home(packet)
29
- %a{:href => home.full_path}= orange[:sitemap].link_text_for(home)
29
+ %a{:href => route_to(home)}= orange[:sitemap].link_text_for(home)
30
30
  &gt;
31
31
  %span.here= packet['route.resource'].to_s.capitalize
@@ -1,5 +1,5 @@
1
1
  .form-view
2
- %form{:action => "#{packet.route_to(model_name, 'new')}", :method => 'post'}
2
+ %form{:action => "#{packet.route_to(model_name, 'new')}", :method => 'post', :"accept-charset" => "UTF-8"}
3
3
  - packet["page.title"] = "Sitemap > Create Link/Folder"
4
4
  %p
5
5
  You can use this to create a new link or folder in the navigation
@@ -1,10 +1,10 @@
1
1
  .form-view
2
2
  - if model
3
- %form{:action => packet.route_to(model_name, model[:id], 'save'), :method => 'post'}
3
+ %form{:action => packet.route_to(model_name, model[:id], 'save'), :method => 'post', :"accept-charset" => "UTF-8"}
4
4
  - for prop in props
5
5
  %p!= view_attribute(prop, model_name, :label => true, :value => model.attribute_get(prop[:name]), :model => model)
6
6
  %input{:type => 'submit', :value => 'Save Changes'}
7
- %form#move_me{:action => route_to(model_name, model[:id], 'into'), :method => 'post'}
7
+ %form#move_me{:action => route_to(model_name, model[:id], 'into'), :method => 'post', :"accept-charset" => "UTF-8"}
8
8
  %p
9
9
  %label Move into:
10
10
  %select{:onchange => "$('#move_me').attr('action', $('#move_me').attr('action')+'/'+$(this).val()); $('#move_me').submit();"}
@@ -1,7 +1,7 @@
1
1
  %ul.nav
2
2
  %li.first
3
- %a{:href => model.full_path} Home
3
+ %a{:href => route_to(model)} Home
4
4
  - for item in model.children
5
5
  - next unless item.show_in_nav
6
6
  %li
7
- %a{:href => item.full_path}= orange[:sitemap].link_text_for(item)
7
+ %a{:href => route_to(item)}= orange[:sitemap].link_text_for(item)
@@ -26,7 +26,7 @@
26
26
  %div.page-listing-location
27
27
  Current Location:&nbsp;
28
28
  %span.last-uri-segment><
29
- = model.full_path
29
+ = route_to(model)
30
30
  .menu-toggle
31
31
  Show in Menu:&nbsp;
32
32
  = button("Yes", route_to(:sitemap, route.id, :show_in_nav), :css_class => route.show_in_nav ? "white-button" : "grey-button")
@@ -37,7 +37,7 @@
37
37
  &nbsp;
38
38
  %td
39
39
  %div.page-listing-actions
40
- %a.button.grey-button.preview-button{:href => model.full_path, :target => "_blank", :rel => "colorbox"}
40
+ %a.button.grey-button.preview-button{:href => route_to(model), :target => "_blank", :rel => "colorbox"}
41
41
  Preview
42
42
  = delete_button(route_to(model_name, model.id, "delete"))
43
43
  %a.button.grey-button.move-button{:href => "#"}
@@ -2,4 +2,4 @@
2
2
  Built on
3
3
  %a{:href => "http://www.orangerb.com"} Orange
4
4
  |
5
- %a{:href => "/admin/sitemap"} Site Admin
5
+ %a{:href => full_url("admin/sitemap")} Site Admin
@@ -1,6 +1,6 @@
1
1
  .form-view
2
2
  - packet["page.title"] = "Users > Edit"
3
- %form{:action => "#{packet.route_to(model_name, 'new')}", :method => 'post'}
3
+ %form{:action => "#{packet.route_to(model_name, 'new')}", :method => 'post', :"accept-charset" => "UTF-8"}
4
4
  - for prop in props
5
5
  %p= view_attribute(prop, model_name, :label => true)
6
6
  %fieldset
@@ -3,7 +3,7 @@
3
3
  - if model
4
4
  - if resource.options[:sitemappable, false]
5
5
  = orange[:sitemap, true].sitemap_links(packet, {:slug_me => orange[:sitemap, true].slug_for(model, props)})
6
- %form{:action => packet.route_to(model_name, model[:id], 'save'), :method => 'post'}
6
+ %form{:action => packet.route_to(model_name, model[:id], 'save'), :method => 'post', :"accept-charset" => "UTF-8"}
7
7
  - for prop in props
8
8
  %p!= view_attribute(prop, model_name, :label => true, :value => model.attribute_get(prop[:name]))
9
9
  %fieldset
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: orange-sparkles
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
5
4
  prerelease: false
6
5
  segments:
7
6
  - 0
8
- - 5
9
- - 9
10
- version: 0.5.9
7
+ - 7
8
+ - 0
9
+ version: 0.7.0
11
10
  platform: ruby
12
11
  authors:
13
12
  - David Haslem
@@ -15,18 +14,16 @@ autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2010-08-20 00:00:00 -04:00
17
+ date: 2010-10-05 00:00:00 -04:00
19
18
  default_executable:
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
21
  name: orange-core
23
22
  prerelease: false
24
23
  requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
24
  requirements:
27
25
  - - ">="
28
26
  - !ruby/object:Gem::Version
29
- hash: 5
30
27
  segments:
31
28
  - 0
32
29
  - 5
@@ -38,11 +35,9 @@ dependencies:
38
35
  name: orange-more
39
36
  prerelease: false
40
37
  requirement: &id002 !ruby/object:Gem::Requirement
41
- none: false
42
38
  requirements:
43
39
  - - ">="
44
40
  - !ruby/object:Gem::Version
45
- hash: 5
46
41
  segments:
47
42
  - 0
48
43
  - 5
@@ -51,14 +46,12 @@ dependencies:
51
46
  type: :runtime
52
47
  version_requirements: *id002
53
48
  - !ruby/object:Gem::Dependency
54
- name: maruku
49
+ name: kramdown
55
50
  prerelease: false
56
51
  requirement: &id003 !ruby/object:Gem::Requirement
57
- none: false
58
52
  requirements:
59
53
  - - ">="
60
54
  - !ruby/object:Gem::Version
61
- hash: 3
62
55
  segments:
63
56
  - 0
64
57
  version: "0"
@@ -68,11 +61,9 @@ dependencies:
68
61
  name: rack-abstract-format
69
62
  prerelease: false
70
63
  requirement: &id004 !ruby/object:Gem::Requirement
71
- none: false
72
64
  requirements:
73
65
  - - ">="
74
66
  - !ruby/object:Gem::Version
75
- hash: 3
76
67
  segments:
77
68
  - 0
78
69
  version: "0"
@@ -281,6 +272,7 @@ files:
281
272
  - lib/orange-sparkles/views/assets/change.haml
282
273
  - lib/orange-sparkles/views/assets/create.haml
283
274
  - lib/orange-sparkles/views/assets/create_markitup.haml
275
+ - lib/orange-sparkles/views/assets/edit.haml
284
276
  - lib/orange-sparkles/views/assets/insert.haml
285
277
  - lib/orange-sparkles/views/assets/list.haml
286
278
  - lib/orange-sparkles/views/assets/list_markitup.haml
@@ -346,27 +338,23 @@ rdoc_options:
346
338
  require_paths:
347
339
  - lib
348
340
  required_ruby_version: !ruby/object:Gem::Requirement
349
- none: false
350
341
  requirements:
351
342
  - - ">="
352
343
  - !ruby/object:Gem::Version
353
- hash: 3
354
344
  segments:
355
345
  - 0
356
346
  version: "0"
357
347
  required_rubygems_version: !ruby/object:Gem::Requirement
358
- none: false
359
348
  requirements:
360
349
  - - ">="
361
350
  - !ruby/object:Gem::Version
362
- hash: 3
363
351
  segments:
364
352
  - 0
365
353
  version: "0"
366
354
  requirements: []
367
355
 
368
356
  rubyforge_project:
369
- rubygems_version: 1.3.7
357
+ rubygems_version: 1.3.6
370
358
  signing_key:
371
359
  specification_version: 3
372
360
  summary: Adding some prettiness to orange-core