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.
- data/lib/orange-sparkles/assets/css/main.css +1 -1
- data/lib/orange-sparkles/assets/css/sparkles-admin.css +15 -1
- data/lib/orange-sparkles/assets/js/admin.js +1 -1
- data/lib/orange-sparkles/assets/js/popout-effects-generic.js +1 -1
- data/lib/orange-sparkles/sparkles_app.rb +9 -17
- data/lib/orange-sparkles/sparkles_resource.rb +13 -2
- data/lib/orange-sparkles/templates/home.haml +3 -3
- data/lib/orange-sparkles/templates/sparkles-admin.haml +4 -3
- data/lib/orange-sparkles/templates/subpage.haml +3 -3
- data/lib/orange-sparkles/views/assets/change.haml +1 -1
- data/lib/orange-sparkles/views/assets/create.haml +2 -2
- data/lib/orange-sparkles/views/assets/create_markitup.haml +2 -2
- data/lib/orange-sparkles/views/assets/edit.haml +37 -0
- data/lib/orange-sparkles/views/assets/list.haml +10 -3
- data/lib/orange-sparkles/views/assets/list_markitup.haml +4 -2
- data/lib/orange-sparkles/views/blog/sitemap_row.haml +2 -2
- data/lib/orange-sparkles/views/blog_posts/create.haml +1 -1
- data/lib/orange-sparkles/views/blog_posts/edit.haml +1 -1
- data/lib/orange-sparkles/views/contactforms/contactform.haml +1 -1
- data/lib/orange-sparkles/views/default_resource/create.haml +1 -1
- data/lib/orange-sparkles/views/default_resource/edit.haml +1 -1
- data/lib/orange-sparkles/views/news/edit.haml +1 -1
- data/lib/orange-sparkles/views/openid_login.haml +3 -0
- data/lib/orange-sparkles/views/orange_sites/edit.haml +1 -1
- data/lib/orange-sparkles/views/pages/edit.haml +55 -69
- data/lib/orange-sparkles/views/pages/sitemap_row.haml +3 -3
- data/lib/orange-sparkles/views/sitemap/breadcrumb.haml +6 -6
- data/lib/orange-sparkles/views/sitemap/create.haml +1 -1
- data/lib/orange-sparkles/views/sitemap/edit.haml +2 -2
- data/lib/orange-sparkles/views/sitemap/one_level.haml +2 -2
- data/lib/orange-sparkles/views/sitemap/table_row.haml +2 -2
- data/lib/orange-sparkles/views/slices/administrivia.haml +1 -1
- data/lib/orange-sparkles/views/users/create.haml +1 -1
- data/lib/orange-sparkles/views/users/edit.haml +1 -1
- 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
|
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
|
}
|
@@ -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
|
-
$("
|
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'
|
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'
|
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
|
-
|
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
|
-
|
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 =>
|
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 =>
|
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[:
|
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
|
@@ -1,6 +1,6 @@
|
|
1
|
-
- colorbox ||=
|
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 ||=
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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:
|
28
28
|
%span.last-uri-segment><
|
29
|
-
= route
|
29
|
+
= route_to(route)
|
30
30
|
.menu-toggle
|
31
31
|
Show in Menu:
|
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
|
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
|
-
|
5
|
-
%
|
6
|
-
%
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
%
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
%div.page-settings-container
|
27
|
-
%div
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
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
|
-
%
|
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
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
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:
|
33
33
|
%span.last-uri-segment><
|
34
|
-
= route
|
34
|
+
= route_to(route)
|
35
35
|
.menu-toggle
|
36
36
|
Show in Menu:
|
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
|
51
|
-
|
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
|
5
|
+
%a{:href => route_to(a)}= orange[:sitemap].link_text_for(a)
|
6
6
|
>
|
7
7
|
- for a in (model.ancestors - model.root)
|
8
|
-
%a{:href => a
|
8
|
+
%a{:href => route_to(a)}= orange[:sitemap].link_text_for(a)
|
9
9
|
>
|
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
|
13
|
+
%a{:href => route_to(a)}= orange[:sitemap].link_text_for(a)
|
14
14
|
>
|
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
|
18
|
+
%a{:href => route_to(a)}= orange[:sitemap].link_text_for(a)
|
19
19
|
>
|
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
|
25
|
+
%a{:href => route_to(a)}= orange[:sitemap].link_text_for(a)
|
26
26
|
>
|
27
27
|
- else
|
28
28
|
- home = orange[:sitemap].home(packet)
|
29
|
-
%a{:href => home
|
29
|
+
%a{:href => route_to(home)}= orange[:sitemap].link_text_for(home)
|
30
30
|
>
|
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
|
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
|
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:
|
28
28
|
%span.last-uri-segment><
|
29
|
-
= model
|
29
|
+
= route_to(model)
|
30
30
|
.menu-toggle
|
31
31
|
Show in Menu:
|
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
|
|
38
38
|
%td
|
39
39
|
%div.page-listing-actions
|
40
|
-
%a.button.grey-button.preview-button{:href => model
|
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 => "#"}
|
@@ -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
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
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-
|
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:
|
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.
|
357
|
+
rubygems_version: 1.3.6
|
370
358
|
signing_key:
|
371
359
|
specification_version: 3
|
372
360
|
summary: Adding some prettiness to orange-core
|