grandstand 0.2.7 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +6 -0
- data/README.md +72 -0
- data/app/controllers/galleries_controller.rb +4 -0
- data/app/controllers/grandstand/galleries_controller.rb +10 -1
- data/app/controllers/grandstand/images_controller.rb +9 -3
- data/app/controllers/grandstand/main_controller.rb +2 -4
- data/app/controllers/grandstand/pages_controller.rb +8 -1
- data/app/controllers/grandstand/sessions_controller.rb +1 -1
- data/app/helpers/grandstand/main_helper.rb +17 -0
- data/app/models/grandstand/gallery.rb +2 -1
- data/app/models/grandstand/image.rb +1 -0
- data/app/models/grandstand/page.rb +4 -0
- data/app/models/grandstand/page_section.rb +2 -0
- data/app/models/grandstand/post.rb +2 -0
- data/app/models/grandstand/user.rb +6 -4
- data/app/views/grandstand/galleries/delete.html.erb +2 -2
- data/app/views/grandstand/galleries/edit.html.erb +1 -1
- data/app/views/grandstand/galleries/editor.html.erb +3 -3
- data/app/views/grandstand/galleries/index.html.erb +5 -5
- data/app/views/grandstand/galleries/new.html.erb +1 -1
- data/app/views/grandstand/galleries/show.html.erb +11 -10
- data/app/views/grandstand/images/_form.html.erb +1 -1
- data/app/views/grandstand/images/delete.html.erb +2 -2
- data/app/views/grandstand/images/edit.html.erb +2 -2
- data/app/views/grandstand/images/new.html.erb +2 -2
- data/app/views/grandstand/images/show.html.erb +2 -2
- data/app/views/grandstand/main/index.html.erb +8 -10
- data/app/views/grandstand/pages/_form.html.erb +4 -5
- data/app/views/grandstand/pages/_row.html.erb +4 -3
- data/app/views/grandstand/pages/delete.html.erb +2 -2
- data/app/views/grandstand/pages/edit.html.erb +6 -3
- data/app/views/grandstand/pages/index.html.erb +10 -7
- data/app/views/grandstand/pages/new.html.erb +6 -3
- data/app/views/grandstand/pages/show.html.erb +25 -3
- data/app/views/grandstand/posts/_form.html.erb +1 -3
- data/app/views/grandstand/posts/_list.html.erb +1 -1
- data/app/views/grandstand/posts/delete.html.erb +1 -2
- data/app/views/grandstand/posts/edit.html.erb +5 -2
- data/app/views/grandstand/posts/index.html.erb +10 -5
- data/app/views/grandstand/posts/new.html.erb +5 -2
- data/app/views/grandstand/posts/show.html.erb +3 -5
- data/app/views/grandstand/sessions/forgot.html.erb +2 -2
- data/app/views/grandstand/sessions/show.html.erb +2 -2
- data/app/views/grandstand/shared/_footer.html.erb +1 -0
- data/app/views/grandstand/users/_form.html.erb +7 -3
- data/app/views/grandstand/users/delete.html.erb +1 -1
- data/app/views/grandstand/users/edit.html.erb +1 -1
- data/app/views/grandstand/users/index.html.erb +4 -2
- data/app/views/grandstand/users/new.html.erb +1 -1
- data/app/views/grandstand/users/show.html.erb +7 -4
- data/app/views/layouts/grandstand.html.erb +17 -55
- data/app/views/layouts/{grandstand_login.html.erb → grandstand_minimal.html.erb} +5 -2
- data/app/views/pages/show.html.erb +0 -8
- data/app/views/posts/show.html.erb +1 -1
- data/app/views/shared/404.html.erb +1 -1
- data/config/routes.rb +5 -0
- data/lib/generators/grandstand/install/install_generator.rb +40 -0
- data/lib/generators/grandstand/install/templates/initializer.rb +27 -0
- data/lib/generators/grandstand/install/templates/migration.rb +95 -0
- data/lib/generators/grandstand/install/templates/public/fonts/museosans.eot +0 -0
- data/lib/generators/grandstand/install/templates/public/fonts/museosans.svg +247 -0
- data/lib/generators/grandstand/install/templates/public/fonts/museosans.ttf +0 -0
- data/lib/generators/grandstand/install/templates/public/fonts/museosans.woff +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/background-input.gif +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/background-progress-bar.png +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/background-progress-complete.gif +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/background-progress.gif +0 -0
- data/lib/generators/grandstand/install/templates/public/images/icons/add.png +0 -0
- data/lib/generators/grandstand/install/templates/public/images/icons/delete.png +0 -0
- data/lib/generators/grandstand/install/templates/public/images/icons/edit.png +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/icons/editor/bold.png +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/icons/editor/gallery.png +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/icons/editor/image-center.png +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/icons/editor/image-left.png +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/icons/editor/image-right.png +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/icons/editor/image.png +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/icons/editor/italic.png +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/icons/editor/ordered-list.png +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/icons/editor/quote.png +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/icons/editor/source.png +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/icons/editor/strikethrough.png +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/icons/editor/underline.png +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/icons/editor/unordered-list.png +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/icons/error.png +0 -0
- data/lib/generators/grandstand/install/templates/public/images/icons/external.png +0 -0
- data/{public/grandstand/images → lib/generators/grandstand/install/templates/public/images/icons}/galleries-empty.png +0 -0
- data/lib/generators/grandstand/install/templates/public/images/icons/galleries.png +0 -0
- data/lib/generators/grandstand/install/templates/public/images/icons/gallery.png +0 -0
- data/lib/generators/grandstand/install/templates/public/images/icons/handle.gif +0 -0
- data/lib/generators/grandstand/install/templates/public/images/icons/image-library.png +0 -0
- data/lib/generators/grandstand/install/templates/public/images/icons/image.png +0 -0
- data/lib/generators/grandstand/install/templates/public/images/icons/okay.png +0 -0
- data/lib/generators/grandstand/install/templates/public/images/icons/pages.png +0 -0
- data/lib/generators/grandstand/install/templates/public/images/icons/posts.png +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/icons/processing.gif +0 -0
- data/lib/generators/grandstand/install/templates/public/images/icons/users.png +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/spinner-dark.gif +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/images/uploader.swf +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/javascripts/application.js +27 -21
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/javascripts/jquery.js +1 -1
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/javascripts/mustache.js +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/javascripts/preview.js +0 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/javascripts/selection.js +1 -1
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/javascripts/string.js +0 -1
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/javascripts/wysiwyg.js +8 -9
- data/lib/generators/grandstand/install/templates/public/stylesheets/application.css +368 -0
- data/lib/generators/grandstand/install/templates/public/stylesheets/buttons.css +81 -0
- data/lib/generators/grandstand/install/templates/public/stylesheets/dialog.css +142 -0
- data/lib/generators/grandstand/install/templates/public/stylesheets/forms.css +94 -0
- data/lib/generators/grandstand/install/templates/public/stylesheets/global.css +94 -0
- data/lib/generators/grandstand/install/templates/public/stylesheets/login.css +37 -0
- data/{public/grandstand → lib/generators/grandstand/install/templates/public}/stylesheets/wysiwyg-content.css +1 -0
- data/lib/generators/grandstand/install/templates/public/stylesheets/wysiwyg.css +94 -0
- data/lib/generators/grandstand/install/templates/s3.yml +8 -0
- data/lib/grandstand.rb +78 -16
- data/lib/grandstand/application.rb +1 -10
- data/lib/grandstand/controller.rb +7 -1
- data/lib/grandstand/form_builder.rb +2 -2
- data/lib/grandstand/helper.rb +3 -0
- data/lib/grandstand/session.rb +1 -1
- metadata +143 -101
- data/.gitignore +0 -2
- data/MIT-LICENSE +0 -20
- data/README.markdown +0 -43
- data/README.txt +0 -0
- data/Rakefile +0 -50
- data/VERSION +0 -1
- data/app/helpers/site_helper.rb +0 -2
- data/app/stylesheets/_buttons.less +0 -76
- data/app/stylesheets/application.less +0 -331
- data/app/stylesheets/global.less +0 -452
- data/app/stylesheets/login.less +0 -30
- data/app/stylesheets/wysiwyg.less +0 -108
- data/app/views/grandstand/pages/_left.html.erb +0 -3
- data/app/views/grandstand/posts/_left.html.erb +0 -3
- data/app/views/grandstand/users/_left.html.erb +0 -3
- data/grandstand.gemspec +0 -207
- data/lib/grandstand/stylesheets_controller.rb +0 -14
- data/public/grandstand/images/icons/add.png +0 -0
- data/public/grandstand/images/icons/collapse.png +0 -0
- data/public/grandstand/images/icons/delete.png +0 -0
- data/public/grandstand/images/icons/edit.png +0 -0
- data/public/grandstand/images/icons/expand.png +0 -0
- data/public/grandstand/images/icons/galleries.png +0 -0
- data/public/grandstand/images/icons/gallery.png +0 -0
- data/public/grandstand/images/icons/image.png +0 -0
- data/public/grandstand/images/icons/okay.png +0 -0
- data/public/grandstand/images/icons/pages.png +0 -0
- data/public/grandstand/images/icons/posts.png +0 -0
- data/public/grandstand/images/icons/upload.png +0 -0
- data/public/grandstand/images/icons/users.png +0 -0
- data/public/grandstand/images/logo.png +0 -0
- data/vendor/cache/more-0.1.1.gem +0 -0
@@ -0,0 +1,94 @@
|
|
1
|
+
.grandstand .wysiwyg {
|
2
|
+
border:1px solid #888;
|
3
|
+
overflow:hidden;
|
4
|
+
position:relative;
|
5
|
+
-webkit-border-radius:3px;
|
6
|
+
}
|
7
|
+
|
8
|
+
.grandstand .wysiwyg .toolbar {
|
9
|
+
border-bottom:1px solid #444;
|
10
|
+
position:relative;
|
11
|
+
}
|
12
|
+
|
13
|
+
.grandstand .wysiwyg .toolbar .button {
|
14
|
+
height:17px;
|
15
|
+
line-height:0 !important;
|
16
|
+
padding:3px;
|
17
|
+
}
|
18
|
+
.grandstand .wysiwyg .toolbar .button .icon {
|
19
|
+
background-position:center top;
|
20
|
+
}
|
21
|
+
|
22
|
+
.grandstand .wysiwyg .toolbar .button .icon.bold {
|
23
|
+
background-image:url(../images/icons/editor/bold.png);
|
24
|
+
}
|
25
|
+
|
26
|
+
.grandstand .wysiwyg .toolbar .button .icon.italic {
|
27
|
+
background-image:url(../images/icons/editor/italic.png);
|
28
|
+
}
|
29
|
+
|
30
|
+
.grandstand .wysiwyg .toolbar .button .icon.ordered-list {
|
31
|
+
background-image:url(../images/icons/editor/ordered-list.png);
|
32
|
+
}
|
33
|
+
|
34
|
+
.grandstand .wysiwyg .toolbar .button .icon.unordered-list {
|
35
|
+
background-image:url(../images/icons/editor/unordered-list.png);
|
36
|
+
}
|
37
|
+
|
38
|
+
.grandstand .wysiwyg .toolbar .button:hover .icon {
|
39
|
+
background-position:center bottom;
|
40
|
+
}
|
41
|
+
|
42
|
+
.grandstand .wysiwyg iframe {
|
43
|
+
background:#fff url(../images/background-input.gif) repeat-x;
|
44
|
+
/* border-bottom:1px solid #ddd;
|
45
|
+
border-left:1px solid #c3c3c3;
|
46
|
+
border-right:1px solid #c3c3c3;
|
47
|
+
border-top:1px solid #7d7d7d;*/
|
48
|
+
display:block;
|
49
|
+
height:600px;
|
50
|
+
width:100%;
|
51
|
+
-webkit-border-bottom-left-radius:3px;
|
52
|
+
-webkit-border-bottom-right-radius:3px;
|
53
|
+
}
|
54
|
+
|
55
|
+
.grandstand .wysiwyg textarea {
|
56
|
+
border-width:0;
|
57
|
+
/* padding:0;*/
|
58
|
+
}
|
59
|
+
|
60
|
+
.grandstand .wysiwyg .cover {
|
61
|
+
background-color:#fff;
|
62
|
+
height:100%;
|
63
|
+
left:0;
|
64
|
+
position:absolute;
|
65
|
+
top:0;
|
66
|
+
width:100%;
|
67
|
+
z-index:1;
|
68
|
+
-webkit-border-radius:3px;
|
69
|
+
}
|
70
|
+
|
71
|
+
.grandstand .wysiwyg .loading {
|
72
|
+
background:rgba(0, 0, 0, 0.7) url(../images/spinner-dark.gif) center center no-repeat;
|
73
|
+
height:50px;
|
74
|
+
left:50%;
|
75
|
+
margin:-25px 0 0 -25px;
|
76
|
+
position:absolute;
|
77
|
+
top:50%;
|
78
|
+
width:50px;
|
79
|
+
z-index:2;
|
80
|
+
-moz-border-radius:5px;
|
81
|
+
-webkit-border-radius:5px;
|
82
|
+
}
|
83
|
+
|
84
|
+
.grandstand .icon.image-center {
|
85
|
+
background-image:url(../images/icons/editor/image-center.png);
|
86
|
+
}
|
87
|
+
|
88
|
+
.grandstand .icon.image-left {
|
89
|
+
background-image:url(../images/icons/editor/image-left.png);
|
90
|
+
}
|
91
|
+
|
92
|
+
.grandstand .icon.image-right {
|
93
|
+
background-image:url(../images/icons/editor/image-right.png);
|
94
|
+
}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
development:
|
2
|
+
access_key_id: your_aws_s3_access_key_here
|
3
|
+
secret_access_key: the_same_thing_but_this_time_give_me_the_secret_thingy
|
4
|
+
|
5
|
+
production:
|
6
|
+
access_key_id: your_production_aws_s3_access_key_here
|
7
|
+
secret_access_key: cause_i_recommend_you_not_accidentally_delete_production_files_in_development
|
8
|
+
|
data/lib/grandstand.rb
CHANGED
@@ -3,48 +3,99 @@ gem 'aws-s3'
|
|
3
3
|
require 'aws/s3'
|
4
4
|
require 'mustache'
|
5
5
|
require 'paperclip'
|
6
|
+
require 'will_paginate'
|
6
7
|
|
7
8
|
require 'grandstand/application'
|
8
9
|
|
10
|
+
# The Grandstand module is the central place to configure all of Grandstand's options
|
11
|
+
# and what-have-yous. The basic things to look out for are S3 storage settings, the
|
12
|
+
# various image_sizes you may want to enable your users to embed on the site, and the
|
13
|
+
# routing options for the admin interface, which allow you to scale security up or
|
14
|
+
# down as you see fit.
|
9
15
|
module Grandstand
|
10
|
-
# Some basic configuration options - app name ('Grandstand'), image sizes, content areas, etc.
|
11
16
|
class << self
|
12
|
-
def
|
13
|
-
@
|
17
|
+
def app_name # :nodoc:
|
18
|
+
@app_name ||= 'Grandstand'
|
14
19
|
end
|
15
20
|
|
16
|
-
def
|
17
|
-
@
|
21
|
+
def bcrypt_cost
|
22
|
+
@bcrypt_cost ||= 13
|
18
23
|
end
|
19
24
|
|
20
|
-
def
|
21
|
-
|
22
|
-
# if Grandstand.routing[:domain]
|
23
|
-
# routing_options.merge!(:path => '', :constraints => {:domain => Grandstand.routing[:domain]})
|
24
|
-
# end
|
25
|
-
routing_options
|
25
|
+
def bcrypt_cost=(new_bcrypt_cost)
|
26
|
+
@bcrypt_cost = new_bcrypt_cost.to_i
|
26
27
|
end
|
27
28
|
|
28
|
-
def
|
29
|
-
@
|
29
|
+
def digest_stretches
|
30
|
+
@digest_stretches ||= 10
|
31
|
+
end
|
32
|
+
|
33
|
+
def digest_stretches=(new_digest_stretches)
|
34
|
+
@digest_stretches = new_digest_stretches.to_i
|
30
35
|
end
|
31
36
|
|
37
|
+
# Image sizes returns the current hash of custom image sizes you've set up for your users. You can
|
38
|
+
# add and image size like so:
|
39
|
+
#
|
40
|
+
# Grandstand.image_sizes[:large] = "800x600#"
|
41
|
+
#
|
42
|
+
# Where the key is the name and the value is the ImageMagick geometry instructions.
|
32
43
|
def image_sizes
|
33
44
|
@images_sizes ||= {}
|
34
45
|
end
|
35
46
|
|
47
|
+
# You can completely set your image_sizes hash here if you don't want to tweak on a per-key basis,
|
48
|
+
# so something like this is also possible:
|
49
|
+
#
|
50
|
+
# Grandstand.image_sizes = {:icon => '75x75#', :large => '800x600>'}
|
36
51
|
def image_sizes=(new_image_sizes)
|
37
52
|
@images_sizes = new_image_sizes
|
38
53
|
end
|
39
54
|
|
40
|
-
def
|
41
|
-
@
|
55
|
+
def multiple_upload
|
56
|
+
@multiple_upload ||= false
|
57
|
+
end
|
58
|
+
|
59
|
+
def multiple_upload=(new_multiple_upload)
|
60
|
+
@multiple_upload = !!new_multiple_upload
|
61
|
+
end
|
62
|
+
|
63
|
+
def page_sections # :nodoc:
|
64
|
+
@page_sections ||= %w(main)
|
42
65
|
end
|
43
66
|
|
44
|
-
def page_sections=(new_page_sections)
|
67
|
+
def page_sections=(new_page_sections) # :nodoc:
|
45
68
|
@page_sections = new_page_sections
|
46
69
|
end
|
47
70
|
|
71
|
+
# Returns a hash for the Grandstand interface's routing configuration. Options include
|
72
|
+
#
|
73
|
+
# :ssl => Require SSL whenever a user is in the Grandstand interface
|
74
|
+
def routing
|
75
|
+
@routing ||= {}
|
76
|
+
end
|
77
|
+
|
78
|
+
# Pass in a hash to set multiple routing options at once.
|
79
|
+
def routing=(new_routing)
|
80
|
+
@routing = new_routing
|
81
|
+
end
|
82
|
+
|
83
|
+
def routing_options # :nodoc:
|
84
|
+
routing_options = {}
|
85
|
+
# if Grandstand.routing[:domain]
|
86
|
+
# routing_options.merge!(:path => '', :constraints => {:domain => Grandstand.routing[:domain]})
|
87
|
+
# end
|
88
|
+
routing_options
|
89
|
+
end
|
90
|
+
|
91
|
+
# Grandstand uses Paperclip to process and store uploaded gallery images to S3. By default, it reads
|
92
|
+
# those configuration options from config/s3.yml, but you can also specify credentials or anything else
|
93
|
+
# here, like so:
|
94
|
+
#
|
95
|
+
# Grandstand.s3[:credentials] = {:access_key_id => "foo", :secret_access_key => "bar"}
|
96
|
+
#
|
97
|
+
# Note that you _must_ set a :bucket key or Grandstand will not know where to upload files. Currently,
|
98
|
+
# it does not support any other storage engines. Sorry!
|
48
99
|
def s3
|
49
100
|
@s3 ||= {
|
50
101
|
:bucket => nil,
|
@@ -52,8 +103,19 @@ module Grandstand
|
|
52
103
|
}
|
53
104
|
end
|
54
105
|
|
106
|
+
# You can also set a completely fresh hash of S3 options if you don't like setting a key at time, like so:
|
107
|
+
#
|
108
|
+
# Grandstand.s3 = {:bucket => "yourmom", :credentials => {:access_key_id => "foo", :secret_access_key => "bar"}}
|
55
109
|
def s3=(new_s3)
|
56
110
|
@s3 = new_s3
|
57
111
|
end
|
112
|
+
|
113
|
+
def site_key
|
114
|
+
@site_key ||= %(They say the truth shall come to the light, so everybody grab your shades cuz ya boy's that bright)
|
115
|
+
end
|
116
|
+
|
117
|
+
def site_key=(new_site_key)
|
118
|
+
@site_key = new_site_key.to_s
|
119
|
+
end
|
58
120
|
end
|
59
121
|
end
|
@@ -6,7 +6,7 @@ require 'grandstand/helper'
|
|
6
6
|
require 'grandstand/session'
|
7
7
|
|
8
8
|
module Grandstand
|
9
|
-
class Application < Rails::Engine
|
9
|
+
class Application < Rails::Engine #:nodoc: all
|
10
10
|
initializer 'grandstand.initialize', :after => :load_application_initializers do |app|
|
11
11
|
# Add sessions for Flash file uploads - but this is *not* very secure!
|
12
12
|
app.middleware.insert_before(ActionDispatch::ShowExceptions, Grandstand::Session, app.config.session_options[:key] || app.config.session_options['key'])
|
@@ -29,14 +29,5 @@ module Grandstand
|
|
29
29
|
attachment.instance.id.to_s.rjust(6, '0')
|
30
30
|
end
|
31
31
|
end
|
32
|
-
|
33
|
-
if Rails.env.development?
|
34
|
-
# In development mode, Grandstand will serve static assets. Be sure to move them to your app's
|
35
|
-
# actual public directory when you're ready to deploy using rake something something
|
36
|
-
# TODO: Find actual rake task
|
37
|
-
initializer 'grandstand.development_mode', :after => :load_application_initializers do |app|
|
38
|
-
# app.middleware.insert_after ::ActionDispatch::Static, ::ActionDispatch::Static, "#{root}/public"
|
39
|
-
end
|
40
|
-
end
|
41
32
|
end
|
42
33
|
end
|
@@ -1,6 +1,12 @@
|
|
1
1
|
module Grandstand
|
2
|
+
# The Grandstand::Controller mixin will add a number of ActionController and ActionView
|
3
|
+
# helper methods that will allow you to require a user and other cool stuff like that.
|
4
|
+
#
|
5
|
+
# It's not the most functional beast you've ever seen, but Grandstand aims to be as
|
6
|
+
# unobtrusive as possible. It doesn't, for example, do anything to mess with how
|
7
|
+
# Rails is supposed to work.
|
2
8
|
module Controller
|
3
|
-
def self.included(base)
|
9
|
+
def self.included(base) #:nodoc:
|
4
10
|
base.helper_method :current_page, :current_user, :return_path
|
5
11
|
end
|
6
12
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Grandstand
|
2
|
-
module FormBuilder
|
2
|
+
module FormBuilder #:nodoc: all
|
3
3
|
def errors_on(*fields)
|
4
4
|
if @object
|
5
5
|
errors = []
|
@@ -10,7 +10,7 @@ module Grandstand
|
|
10
10
|
end
|
11
11
|
unless errors.empty?
|
12
12
|
@template.content_tag(:ul, :class => 'errors') do
|
13
|
-
errors.join("\n")
|
13
|
+
@template.raw errors.join("\n")
|
14
14
|
end
|
15
15
|
end
|
16
16
|
end
|
data/lib/grandstand/helper.rb
CHANGED
@@ -1,4 +1,7 @@
|
|
1
1
|
module Grandstand
|
2
|
+
# The Grandstand::Helper module will give you a number of ways to render page content
|
3
|
+
# in your layouts, thus simplifying (considerably!) the headaches you may experience
|
4
|
+
# with optional columns, etc.
|
2
5
|
module Helper
|
3
6
|
# Adds section-oriented class names if a current_page exists. Useful for styling your site to account for the presence
|
4
7
|
# of various content sections; e.g. if a CMS user adds a page with content in the "left" column but not a page with
|
data/lib/grandstand/session.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grandstand
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 3
|
9
|
+
- 0
|
10
|
+
version: 0.3.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Flip Sasser
|
@@ -15,45 +15,77 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2011-01-06 00:00:00 -05:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
|
-
name: less
|
23
22
|
prerelease: false
|
24
|
-
|
23
|
+
type: :runtime
|
24
|
+
name: aws-s3
|
25
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
25
26
|
none: false
|
26
27
|
requirements:
|
27
28
|
- - ">="
|
28
29
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
30
|
+
hash: 3
|
30
31
|
segments:
|
31
|
-
-
|
32
|
+
- 0
|
33
|
+
- 6
|
32
34
|
- 2
|
33
|
-
|
34
|
-
|
35
|
-
type: :development
|
36
|
-
version_requirements: *id001
|
35
|
+
version: 0.6.2
|
36
|
+
requirement: *id001
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
|
-
name: more
|
39
38
|
prerelease: false
|
40
|
-
|
39
|
+
type: :runtime
|
40
|
+
name: mustache
|
41
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
41
42
|
none: false
|
42
43
|
requirements:
|
43
44
|
- - ">="
|
44
45
|
- !ruby/object:Gem::Version
|
45
|
-
hash:
|
46
|
+
hash: 55
|
46
47
|
segments:
|
47
48
|
- 0
|
48
|
-
-
|
49
|
-
-
|
50
|
-
version: 0.
|
51
|
-
|
52
|
-
|
49
|
+
- 11
|
50
|
+
- 2
|
51
|
+
version: 0.11.2
|
52
|
+
requirement: *id002
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
prerelease: false
|
55
|
+
type: :runtime
|
56
|
+
name: paperclip
|
57
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
hash: 5
|
63
|
+
segments:
|
64
|
+
- 2
|
65
|
+
- 3
|
66
|
+
- 3
|
67
|
+
version: 2.3.3
|
68
|
+
requirement: *id003
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
prerelease: false
|
71
|
+
type: :runtime
|
72
|
+
name: will_paginate
|
73
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ">="
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
hash: 5
|
79
|
+
segments:
|
80
|
+
- 2
|
81
|
+
- 3
|
82
|
+
version: "2.3"
|
83
|
+
requirement: *id004
|
53
84
|
- !ruby/object:Gem::Dependency
|
54
|
-
name: aws-s3
|
55
85
|
prerelease: false
|
56
|
-
|
86
|
+
type: :runtime
|
87
|
+
name: aws-s3
|
88
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
57
89
|
none: false
|
58
90
|
requirements:
|
59
91
|
- - ">="
|
@@ -64,12 +96,12 @@ dependencies:
|
|
64
96
|
- 6
|
65
97
|
- 2
|
66
98
|
version: 0.6.2
|
67
|
-
|
68
|
-
version_requirements: *id003
|
99
|
+
requirement: *id005
|
69
100
|
- !ruby/object:Gem::Dependency
|
70
|
-
name: mustache
|
71
101
|
prerelease: false
|
72
|
-
|
102
|
+
type: :runtime
|
103
|
+
name: mustache
|
104
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
73
105
|
none: false
|
74
106
|
requirements:
|
75
107
|
- - ">="
|
@@ -80,12 +112,12 @@ dependencies:
|
|
80
112
|
- 11
|
81
113
|
- 2
|
82
114
|
version: 0.11.2
|
83
|
-
|
84
|
-
version_requirements: *id004
|
115
|
+
requirement: *id006
|
85
116
|
- !ruby/object:Gem::Dependency
|
86
|
-
name: paperclip
|
87
117
|
prerelease: false
|
88
|
-
|
118
|
+
type: :runtime
|
119
|
+
name: paperclip
|
120
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
89
121
|
none: false
|
90
122
|
requirements:
|
91
123
|
- - ">="
|
@@ -96,8 +128,22 @@ dependencies:
|
|
96
128
|
- 3
|
97
129
|
- 3
|
98
130
|
version: 2.3.3
|
131
|
+
requirement: *id007
|
132
|
+
- !ruby/object:Gem::Dependency
|
133
|
+
prerelease: false
|
99
134
|
type: :runtime
|
100
|
-
|
135
|
+
name: will_paginate
|
136
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ">="
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
hash: 5
|
142
|
+
segments:
|
143
|
+
- 2
|
144
|
+
- 3
|
145
|
+
version: "2.3"
|
146
|
+
requirement: *id008
|
101
147
|
description: "\n Grandstand is a simple blog and photo gallery application. It takes a minimal amount of configuration and can\n be built installed as a gem and used within minutes. It's totally cool. Seriously.\n "
|
102
148
|
email: flip@x451.com
|
103
149
|
executables: []
|
@@ -105,15 +151,10 @@ executables: []
|
|
105
151
|
extensions: []
|
106
152
|
|
107
153
|
extra_rdoc_files:
|
108
|
-
- README.
|
109
|
-
- README.txt
|
154
|
+
- README.md
|
110
155
|
files:
|
111
|
-
-
|
112
|
-
-
|
113
|
-
- README.markdown
|
114
|
-
- README.txt
|
115
|
-
- Rakefile
|
116
|
-
- VERSION
|
156
|
+
- Gemfile
|
157
|
+
- README.md
|
117
158
|
- app/controllers/galleries_controller.rb
|
118
159
|
- app/controllers/grandstand/galleries_controller.rb
|
119
160
|
- app/controllers/grandstand/images_controller.rb
|
@@ -136,7 +177,6 @@ files:
|
|
136
177
|
- app/helpers/grandstand/users_helper.rb
|
137
178
|
- app/helpers/pages_helper.rb
|
138
179
|
- app/helpers/posts_helper.rb
|
139
|
-
- app/helpers/site_helper.rb
|
140
180
|
- app/models/grandstand/gallery.rb
|
141
181
|
- app/models/grandstand/image.rb
|
142
182
|
- app/models/grandstand/page.rb
|
@@ -144,11 +184,6 @@ files:
|
|
144
184
|
- app/models/grandstand/post.rb
|
145
185
|
- app/models/grandstand/template.rb
|
146
186
|
- app/models/grandstand/user.rb
|
147
|
-
- app/stylesheets/_buttons.less
|
148
|
-
- app/stylesheets/application.less
|
149
|
-
- app/stylesheets/global.less
|
150
|
-
- app/stylesheets/login.less
|
151
|
-
- app/stylesheets/wysiwyg.less
|
152
187
|
- app/views/galleries/index.html.erb
|
153
188
|
- app/views/galleries/show.html.erb
|
154
189
|
- app/views/grandstand/galleries/_form.html.erb
|
@@ -168,7 +203,6 @@ files:
|
|
168
203
|
- app/views/grandstand/images/upload.html.erb
|
169
204
|
- app/views/grandstand/main/index.html.erb
|
170
205
|
- app/views/grandstand/pages/_form.html.erb
|
171
|
-
- app/views/grandstand/pages/_left.html.erb
|
172
206
|
- app/views/grandstand/pages/_row.html.erb
|
173
207
|
- app/views/grandstand/pages/delete.html.erb
|
174
208
|
- app/views/grandstand/pages/edit.html.erb
|
@@ -176,7 +210,6 @@ files:
|
|
176
210
|
- app/views/grandstand/pages/new.html.erb
|
177
211
|
- app/views/grandstand/pages/show.html.erb
|
178
212
|
- app/views/grandstand/posts/_form.html.erb
|
179
|
-
- app/views/grandstand/posts/_left.html.erb
|
180
213
|
- app/views/grandstand/posts/_list.html.erb
|
181
214
|
- app/views/grandstand/posts/delete.html.erb
|
182
215
|
- app/views/grandstand/posts/edit.html.erb
|
@@ -187,15 +220,15 @@ files:
|
|
187
220
|
- app/views/grandstand/sessions/forgot.html.erb
|
188
221
|
- app/views/grandstand/sessions/show.html.erb
|
189
222
|
- app/views/grandstand/shared/_flash.html.erb
|
223
|
+
- app/views/grandstand/shared/_footer.html.erb
|
190
224
|
- app/views/grandstand/users/_form.html.erb
|
191
|
-
- app/views/grandstand/users/_left.html.erb
|
192
225
|
- app/views/grandstand/users/delete.html.erb
|
193
226
|
- app/views/grandstand/users/edit.html.erb
|
194
227
|
- app/views/grandstand/users/index.html.erb
|
195
228
|
- app/views/grandstand/users/new.html.erb
|
196
229
|
- app/views/grandstand/users/show.html.erb
|
197
230
|
- app/views/layouts/grandstand.html.erb
|
198
|
-
- app/views/layouts/
|
231
|
+
- app/views/layouts/grandstand_minimal.html.erb
|
199
232
|
- app/views/layouts/grandstand_xhr.html.erb
|
200
233
|
- app/views/pages/show.html.erb
|
201
234
|
- app/views/posts/show.html.erb
|
@@ -205,68 +238,77 @@ files:
|
|
205
238
|
- app/views/shared/page.html
|
206
239
|
- app/views/shared/post.html
|
207
240
|
- config/routes.rb
|
208
|
-
- grandstand.
|
241
|
+
- lib/generators/grandstand/install/install_generator.rb
|
242
|
+
- lib/generators/grandstand/install/templates/initializer.rb
|
243
|
+
- lib/generators/grandstand/install/templates/migration.rb
|
244
|
+
- lib/generators/grandstand/install/templates/public/fonts/museosans.eot
|
245
|
+
- lib/generators/grandstand/install/templates/public/fonts/museosans.svg
|
246
|
+
- lib/generators/grandstand/install/templates/public/fonts/museosans.ttf
|
247
|
+
- lib/generators/grandstand/install/templates/public/fonts/museosans.woff
|
248
|
+
- lib/generators/grandstand/install/templates/public/images/background-input.gif
|
249
|
+
- lib/generators/grandstand/install/templates/public/images/background-progress-bar.png
|
250
|
+
- lib/generators/grandstand/install/templates/public/images/background-progress-complete.gif
|
251
|
+
- lib/generators/grandstand/install/templates/public/images/background-progress.gif
|
252
|
+
- lib/generators/grandstand/install/templates/public/images/icons/add.png
|
253
|
+
- lib/generators/grandstand/install/templates/public/images/icons/delete.png
|
254
|
+
- lib/generators/grandstand/install/templates/public/images/icons/edit.png
|
255
|
+
- lib/generators/grandstand/install/templates/public/images/icons/editor/bold.png
|
256
|
+
- lib/generators/grandstand/install/templates/public/images/icons/editor/gallery.png
|
257
|
+
- lib/generators/grandstand/install/templates/public/images/icons/editor/image-center.png
|
258
|
+
- lib/generators/grandstand/install/templates/public/images/icons/editor/image-left.png
|
259
|
+
- lib/generators/grandstand/install/templates/public/images/icons/editor/image-right.png
|
260
|
+
- lib/generators/grandstand/install/templates/public/images/icons/editor/image.png
|
261
|
+
- lib/generators/grandstand/install/templates/public/images/icons/editor/italic.png
|
262
|
+
- lib/generators/grandstand/install/templates/public/images/icons/editor/ordered-list.png
|
263
|
+
- lib/generators/grandstand/install/templates/public/images/icons/editor/quote.png
|
264
|
+
- lib/generators/grandstand/install/templates/public/images/icons/editor/source.png
|
265
|
+
- lib/generators/grandstand/install/templates/public/images/icons/editor/strikethrough.png
|
266
|
+
- lib/generators/grandstand/install/templates/public/images/icons/editor/underline.png
|
267
|
+
- lib/generators/grandstand/install/templates/public/images/icons/editor/unordered-list.png
|
268
|
+
- lib/generators/grandstand/install/templates/public/images/icons/error.png
|
269
|
+
- lib/generators/grandstand/install/templates/public/images/icons/external.png
|
270
|
+
- lib/generators/grandstand/install/templates/public/images/icons/galleries-empty.png
|
271
|
+
- lib/generators/grandstand/install/templates/public/images/icons/galleries.png
|
272
|
+
- lib/generators/grandstand/install/templates/public/images/icons/gallery.png
|
273
|
+
- lib/generators/grandstand/install/templates/public/images/icons/handle.gif
|
274
|
+
- lib/generators/grandstand/install/templates/public/images/icons/image-library.png
|
275
|
+
- lib/generators/grandstand/install/templates/public/images/icons/image.png
|
276
|
+
- lib/generators/grandstand/install/templates/public/images/icons/okay.png
|
277
|
+
- lib/generators/grandstand/install/templates/public/images/icons/pages.png
|
278
|
+
- lib/generators/grandstand/install/templates/public/images/icons/posts.png
|
279
|
+
- lib/generators/grandstand/install/templates/public/images/icons/processing.gif
|
280
|
+
- lib/generators/grandstand/install/templates/public/images/icons/users.png
|
281
|
+
- lib/generators/grandstand/install/templates/public/images/spinner-dark.gif
|
282
|
+
- lib/generators/grandstand/install/templates/public/images/uploader.swf
|
283
|
+
- lib/generators/grandstand/install/templates/public/javascripts/application.js
|
284
|
+
- lib/generators/grandstand/install/templates/public/javascripts/jquery.js
|
285
|
+
- lib/generators/grandstand/install/templates/public/javascripts/mustache.js
|
286
|
+
- lib/generators/grandstand/install/templates/public/javascripts/preview.js
|
287
|
+
- lib/generators/grandstand/install/templates/public/javascripts/selection.js
|
288
|
+
- lib/generators/grandstand/install/templates/public/javascripts/string.js
|
289
|
+
- lib/generators/grandstand/install/templates/public/javascripts/wysiwyg.js
|
290
|
+
- lib/generators/grandstand/install/templates/public/stylesheets/application.css
|
291
|
+
- lib/generators/grandstand/install/templates/public/stylesheets/buttons.css
|
292
|
+
- lib/generators/grandstand/install/templates/public/stylesheets/dialog.css
|
293
|
+
- lib/generators/grandstand/install/templates/public/stylesheets/forms.css
|
294
|
+
- lib/generators/grandstand/install/templates/public/stylesheets/global.css
|
295
|
+
- lib/generators/grandstand/install/templates/public/stylesheets/login.css
|
296
|
+
- lib/generators/grandstand/install/templates/public/stylesheets/wysiwyg-content.css
|
297
|
+
- lib/generators/grandstand/install/templates/public/stylesheets/wysiwyg.css
|
298
|
+
- lib/generators/grandstand/install/templates/s3.yml
|
209
299
|
- lib/grandstand.rb
|
210
300
|
- lib/grandstand/application.rb
|
211
301
|
- lib/grandstand/controller.rb
|
212
302
|
- lib/grandstand/form_builder.rb
|
213
303
|
- lib/grandstand/helper.rb
|
214
304
|
- lib/grandstand/session.rb
|
215
|
-
- lib/grandstand/stylesheets_controller.rb
|
216
|
-
- pkg/grandstand-0.2.1.gem
|
217
|
-
- public/.DS_Store
|
218
|
-
- public/grandstand/images/background-input.gif
|
219
|
-
- public/grandstand/images/background-progress-bar.png
|
220
|
-
- public/grandstand/images/background-progress-complete.gif
|
221
|
-
- public/grandstand/images/background-progress.gif
|
222
|
-
- public/grandstand/images/galleries-empty.png
|
223
|
-
- public/grandstand/images/icons/add.png
|
224
|
-
- public/grandstand/images/icons/collapse.png
|
225
|
-
- public/grandstand/images/icons/delete.png
|
226
|
-
- public/grandstand/images/icons/edit.png
|
227
|
-
- public/grandstand/images/icons/editor/bold.png
|
228
|
-
- public/grandstand/images/icons/editor/gallery.png
|
229
|
-
- public/grandstand/images/icons/editor/image-center.png
|
230
|
-
- public/grandstand/images/icons/editor/image-left.png
|
231
|
-
- public/grandstand/images/icons/editor/image-right.png
|
232
|
-
- public/grandstand/images/icons/editor/image.png
|
233
|
-
- public/grandstand/images/icons/editor/italic.png
|
234
|
-
- public/grandstand/images/icons/editor/ordered-list.png
|
235
|
-
- public/grandstand/images/icons/editor/quote.png
|
236
|
-
- public/grandstand/images/icons/editor/source.png
|
237
|
-
- public/grandstand/images/icons/editor/strikethrough.png
|
238
|
-
- public/grandstand/images/icons/editor/underline.png
|
239
|
-
- public/grandstand/images/icons/editor/unordered-list.png
|
240
|
-
- public/grandstand/images/icons/error.png
|
241
|
-
- public/grandstand/images/icons/expand.png
|
242
|
-
- public/grandstand/images/icons/galleries.png
|
243
|
-
- public/grandstand/images/icons/gallery.png
|
244
|
-
- public/grandstand/images/icons/image.png
|
245
|
-
- public/grandstand/images/icons/okay.png
|
246
|
-
- public/grandstand/images/icons/pages.png
|
247
|
-
- public/grandstand/images/icons/posts.png
|
248
|
-
- public/grandstand/images/icons/processing.gif
|
249
|
-
- public/grandstand/images/icons/upload.png
|
250
|
-
- public/grandstand/images/icons/users.png
|
251
|
-
- public/grandstand/images/logo.png
|
252
|
-
- public/grandstand/images/spinner-dark.gif
|
253
|
-
- public/grandstand/images/uploader.swf
|
254
|
-
- public/grandstand/javascripts/application.js
|
255
|
-
- public/grandstand/javascripts/jquery.js
|
256
|
-
- public/grandstand/javascripts/mustache.js
|
257
|
-
- public/grandstand/javascripts/preview.js
|
258
|
-
- public/grandstand/javascripts/selection.js
|
259
|
-
- public/grandstand/javascripts/string.js
|
260
|
-
- public/grandstand/javascripts/wysiwyg.js
|
261
|
-
- public/grandstand/stylesheets/wysiwyg-content.css
|
262
|
-
- vendor/cache/more-0.1.1.gem
|
263
305
|
has_rdoc: true
|
264
306
|
homepage: http://github.com/flipsasser/grandstand
|
265
307
|
licenses: []
|
266
308
|
|
267
309
|
post_install_message:
|
268
|
-
rdoc_options:
|
269
|
-
|
310
|
+
rdoc_options: []
|
311
|
+
|
270
312
|
require_paths:
|
271
313
|
- lib
|
272
314
|
required_ruby_version: !ruby/object:Gem::Requirement
|