orange-sparkles 0.5.9 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
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