bumble 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +16 -0
- data/.rvmrc +1 -0
- data/Gemfile +4 -0
- data/Rakefile +1 -0
- data/Readme.mdown +8 -0
- data/app/controllers/bumble_controller.rb +45 -0
- data/app/controllers/comments_controller.rb +99 -0
- data/app/controllers/password_resets_controller.rb +34 -0
- data/app/controllers/posts_controller.rb +103 -0
- data/app/controllers/user_sessions_controller.rb +22 -0
- data/app/controllers/users_controller.rb +60 -0
- data/app/helpers/bumble_helper.rb +50 -0
- data/app/models/asset.rb +57 -0
- data/app/models/comment.rb +78 -0
- data/app/models/notifier.rb +35 -0
- data/app/models/post.rb +57 -0
- data/app/models/posts/blog.rb +3 -0
- data/app/models/posts/code.rb +3 -0
- data/app/models/posts/image.rb +3 -0
- data/app/models/posts/link.rb +7 -0
- data/app/models/posts/quote.rb +3 -0
- data/app/models/posts/video.rb +4 -0
- data/app/models/user.rb +35 -0
- data/app/models/user_session.rb +2 -0
- data/app/views/comments/_comment.html.haml +14 -0
- data/app/views/comments/_form.html.haml +9 -0
- data/app/views/comments/edit.html.haml +7 -0
- data/app/views/comments/index.atom.builder +15 -0
- data/app/views/comments/new.html.haml +7 -0
- data/app/views/layouts/_sidebar.html.haml +20 -0
- data/app/views/layouts/bumble.html.haml +35 -0
- data/app/views/notifier/activation_confirmation.erb +5 -0
- data/app/views/notifier/activation_instructions.erb +5 -0
- data/app/views/notifier/new_comment_alert.erb +8 -0
- data/app/views/notifier/password_reset_instructions.erb +8 -0
- data/app/views/password_resets/edit.html.haml +10 -0
- data/app/views/password_resets/new.html.haml +7 -0
- data/app/views/posts/_form.html.haml +10 -0
- data/app/views/posts/_post.html.haml +16 -0
- data/app/views/posts/_preview.html.haml +8 -0
- data/app/views/posts/edit.html.haml +10 -0
- data/app/views/posts/forms/_blog.html.haml +4 -0
- data/app/views/posts/forms/_code.html.haml +6 -0
- data/app/views/posts/forms/_image.html.haml +9 -0
- data/app/views/posts/forms/_link.html.haml +6 -0
- data/app/views/posts/forms/_quote.html.haml +4 -0
- data/app/views/posts/forms/_video.html.haml +6 -0
- data/app/views/posts/index.atom.builder +15 -0
- data/app/views/posts/index.html.haml +21 -0
- data/app/views/posts/new.html.haml +8 -0
- data/app/views/posts/search.html.haml +27 -0
- data/app/views/posts/show.html.haml +22 -0
- data/app/views/posts/types/_blog.html.haml +4 -0
- data/app/views/posts/types/_code.html.haml +7 -0
- data/app/views/posts/types/_image.html.haml +3 -0
- data/app/views/posts/types/_link.html.haml +3 -0
- data/app/views/posts/types/_quote.html.haml +2 -0
- data/app/views/posts/types/_video.html.haml +5 -0
- data/app/views/user_sessions/new.html.haml +10 -0
- data/app/views/users/_form.html.haml +12 -0
- data/app/views/users/_user.html.haml +3 -0
- data/app/views/users/delete.html.haml +5 -0
- data/app/views/users/edit.html.haml +8 -0
- data/app/views/users/index.html.haml +3 -0
- data/app/views/users/new.html.haml +7 -0
- data/app/views/users/show.html.haml +6 -0
- data/bumble.gemspec +31 -0
- data/config/initializers/bumble.rb +9 -0
- data/config/initializers/haml.rb +2 -0
- data/config/initializers/html5_forms.rb +163 -0
- data/config/initializers/inflections.rb +10 -0
- data/config/initializers/mime_types.rb +5 -0
- data/config/initializers/will_paginate.rb +3 -0
- data/config/routes.rb +29 -0
- data/lib/bumble.rb +18 -0
- data/lib/bumble/version.rb +3 -0
- data/lib/generators/bumble/assets_generator.rb +10 -0
- data/lib/generators/bumble/migrations_generator.rb +40 -0
- data/lib/generators/bumble/templates/assets/images/.gitignore +0 -0
- data/lib/generators/bumble/templates/assets/images/close.png +0 -0
- data/lib/generators/bumble/templates/assets/images/email.png +0 -0
- data/lib/generators/bumble/templates/assets/images/feed.png +0 -0
- data/lib/generators/bumble/templates/assets/images/image.png +0 -0
- data/lib/generators/bumble/templates/assets/images/loading.gif +0 -0
- data/lib/generators/bumble/templates/assets/images/preview.png +0 -0
- data/lib/generators/bumble/templates/assets/images/shortcut.png +0 -0
- data/lib/generators/bumble/templates/assets/images/youtube.png +0 -0
- data/lib/generators/bumble/templates/assets/javascripts/admin.js +95 -0
- data/lib/generators/bumble/templates/assets/javascripts/bumble.js +76 -0
- data/lib/generators/bumble/templates/assets/javascripts/iphone.js +7 -0
- data/lib/generators/bumble/templates/assets/javascripts/jquery.autogrow.js +37 -0
- data/lib/generators/bumble/templates/assets/javascripts/jquery.cookie.js +96 -0
- data/lib/generators/bumble/templates/assets/javascripts/jquery.form.js +665 -0
- data/lib/generators/bumble/templates/assets/javascripts/jquery.hint.js +44 -0
- data/lib/generators/bumble/templates/assets/javascripts/jquery.jgrow.js +85 -0
- data/lib/generators/bumble/templates/assets/javascripts/jquery.js +154 -0
- data/lib/generators/bumble/templates/assets/javascripts/jquery.ui.core.js +18 -0
- data/lib/generators/bumble/templates/assets/javascripts/jquery.ui.tabs.js +13 -0
- data/lib/generators/bumble/templates/assets/javascripts/jquery.ui.widget.js +18 -0
- data/lib/generators/bumble/templates/assets/javascripts/jquery.validate.js +16 -0
- data/lib/generators/bumble/templates/assets/javascripts/modernizr.js +13 -0
- data/lib/generators/bumble/templates/assets/javascripts/ui.core.js +289 -0
- data/lib/generators/bumble/templates/assets/javascripts/ui.tabs.js +593 -0
- data/lib/generators/bumble/templates/migrations/add_approved_to_comments.rb +15 -0
- data/lib/generators/bumble/templates/migrations/add_delta_to_posts.rb +9 -0
- data/lib/generators/bumble/templates/migrations/add_missing_indexes.rb +24 -0
- data/lib/generators/bumble/templates/migrations/add_url_to_users.rb +9 -0
- data/lib/generators/bumble/templates/migrations/create_assets.rb +18 -0
- data/lib/generators/bumble/templates/migrations/create_comments.rb +19 -0
- data/lib/generators/bumble/templates/migrations/create_posts.rb +25 -0
- data/lib/generators/bumble/templates/migrations/create_users.rb +28 -0
- data/lib/generators/bumble/templates/migrations/full_text_search.rb +13 -0
- data/public/stylesheets/sass/bumble.sass +423 -0
- data/public/stylesheets/sass/iphone.sass +79 -0
- data/public/stylesheets/sass/print.sass +2 -0
- data/public/stylesheets/sass/reset.sass +49 -0
- data/test/factories.rb +28 -0
- data/test/functional/comments_controller_test.rb +177 -0
- data/test/functional/password_resets_controller_test.rb +61 -0
- data/test/functional/posts_controller_test.rb +181 -0
- data/test/test_helper.rb +113 -0
- data/test/unit/comment_test.rb +18 -0
- data/test/unit/post_test.rb +18 -0
- data/test/unit/user_test.rb +37 -0
- metadata +403 -0
@@ -0,0 +1,15 @@
|
|
1
|
+
class AddApprovedToComments < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
add_column :comments, :approved, :boolean, :default => true
|
4
|
+
add_column :comments, :user_ip, :string
|
5
|
+
add_column :comments, :user_agent, :string
|
6
|
+
add_column :comments, :referrer, :string
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.down
|
10
|
+
remove_column :comments, :approved
|
11
|
+
remove_column :comments, :user_ip
|
12
|
+
remove_column :comments, :user_agent
|
13
|
+
remove_column :comments, :referrer
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
class AddMissingIndexes < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
|
4
|
+
# These indexes were found by searching for AR::Base finds on your application
|
5
|
+
# It is strongly recommanded that you will consult a professional DBA about your infrastucture and implemntation before
|
6
|
+
# changing your database in that matter.
|
7
|
+
# There is a possibility that some of the indexes offered below is not required and can be removed and not added, if you require
|
8
|
+
# further assistance with your rails application, database infrastructure or any other problem, visit:
|
9
|
+
#
|
10
|
+
# http://www.railsmentors.org
|
11
|
+
# http://www.railstutor.org
|
12
|
+
# http://guides.rubyonrails.org
|
13
|
+
|
14
|
+
add_index :posts, :permalink
|
15
|
+
add_index :comments, :post_id
|
16
|
+
add_index :posts, [:id, :type]
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.down
|
20
|
+
# remove_index :posts, :permalink
|
21
|
+
remove_index :comments, :post_id
|
22
|
+
remove_index :posts, :column => [:id, :type]
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class CreateAssets < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :assets do |t|
|
4
|
+
t.integer :post_id
|
5
|
+
t.string :attachment_file_name
|
6
|
+
t.string :attachment_content_type
|
7
|
+
t.integer :attachment_file_size
|
8
|
+
t.datetime :attachment_updated_at
|
9
|
+
t.string :attachment_remote_url
|
10
|
+
|
11
|
+
t.timestamps
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.down
|
16
|
+
drop_table :assets
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
class CreateComments < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :comments do |t|
|
4
|
+
t.text :body
|
5
|
+
t.integer :post_id
|
6
|
+
t.integer :user_id
|
7
|
+
t.string :author_name
|
8
|
+
t.string :author_email
|
9
|
+
t.string :author_url
|
10
|
+
t.datetime :deleted_at
|
11
|
+
|
12
|
+
t.timestamps
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.down
|
17
|
+
drop_table :comments
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
class CreatePosts < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :posts do |t|
|
4
|
+
t.string :title
|
5
|
+
t.string :link_url
|
6
|
+
t.string :image_url
|
7
|
+
t.text :video_embed
|
8
|
+
t.text :description
|
9
|
+
t.text :quote
|
10
|
+
t.string :permalink
|
11
|
+
t.integer :user_id
|
12
|
+
t.string :type
|
13
|
+
t.boolean :publicly_viewable, :default => true
|
14
|
+
t.datetime :published_at
|
15
|
+
t.datetime :deleted_at
|
16
|
+
t.string :via
|
17
|
+
|
18
|
+
t.timestamps
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.down
|
23
|
+
drop_table :posts
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
class CreateUsers < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :users do |t|
|
4
|
+
t.string :email, :null => false
|
5
|
+
t.string :crypted_password, :null => false
|
6
|
+
t.string :password_salt, :null => false
|
7
|
+
t.string :persistence_token, :null => false
|
8
|
+
t.integer :login_count, :null => false, :default => 0
|
9
|
+
t.integer :failed_login_count, :null => false, :default => 0
|
10
|
+
t.datetime :last_request_at
|
11
|
+
t.datetime :current_login_at
|
12
|
+
t.datetime :last_login_at
|
13
|
+
t.string :current_login_ip
|
14
|
+
t.string :last_login_ip
|
15
|
+
t.string :perishable_token
|
16
|
+
t.datetime :deleted_at
|
17
|
+
t.datetime :activated_at
|
18
|
+
t.string :first_name
|
19
|
+
t.string :last_name
|
20
|
+
|
21
|
+
t.timestamps
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.down
|
26
|
+
drop_table :users
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class FullTextSearch < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
ActiveRecord::Base.connection.execute(<<-'eosql')
|
4
|
+
DROP index IF EXISTS posts_fts_idx
|
5
|
+
eosql
|
6
|
+
ActiveRecord::Base.connection.execute(<<-'eosql')
|
7
|
+
CREATE index posts_fts_idx
|
8
|
+
ON posts
|
9
|
+
USING gin((to_tsvector('english', coalesce(posts.title, '') || ' ' || coalesce(posts.link_url, '') || ' ' || coalesce(posts.image_url, '') || ' ' || coalesce(posts.video_embed, '') || ' ' || coalesce(posts.description, '') || ' ' || coalesce(posts.quote, '') || ' ' || coalesce(posts.permalink, '') || ' ' || coalesce(posts.via, ''))))
|
10
|
+
|
11
|
+
eosql
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,423 @@
|
|
1
|
+
@import reset.sass
|
2
|
+
|
3
|
+
html, body
|
4
|
+
:height 100%
|
5
|
+
:background #fff
|
6
|
+
:font 12px Arial, "MS Trebuchet", sans-serif
|
7
|
+
:-webkit-text-size-adjust none
|
8
|
+
|
9
|
+
body
|
10
|
+
:width 800px
|
11
|
+
:margin 0 auto
|
12
|
+
|
13
|
+
a
|
14
|
+
:color #154DAD
|
15
|
+
|
16
|
+
.ui-tabs-hide
|
17
|
+
:display none
|
18
|
+
|
19
|
+
textarea
|
20
|
+
:min-height 80px
|
21
|
+
|
22
|
+
input, textarea
|
23
|
+
:font inherit
|
24
|
+
|
25
|
+
.blur
|
26
|
+
:color #aaa
|
27
|
+
|
28
|
+
.clearfix
|
29
|
+
:display inline-block
|
30
|
+
|
31
|
+
&:after
|
32
|
+
:content "."
|
33
|
+
:display block
|
34
|
+
:height 0
|
35
|
+
:clear both
|
36
|
+
:visibility hidden
|
37
|
+
|
38
|
+
pre
|
39
|
+
:overflow auto
|
40
|
+
:background #f5f5f5
|
41
|
+
:border 1px solid #efefef
|
42
|
+
:width auto
|
43
|
+
:padding 5px
|
44
|
+
|
45
|
+
label.error
|
46
|
+
:position absolute
|
47
|
+
:margin-left 450px
|
48
|
+
:width auto
|
49
|
+
:display block
|
50
|
+
:z-index 5000
|
51
|
+
:background #000
|
52
|
+
:color #fff
|
53
|
+
:font-family tahoma
|
54
|
+
:font-size 0.8em
|
55
|
+
:box-shadow 1px 1px 6px #000
|
56
|
+
:-moz-box-shadow 1px 1px 6px #000
|
57
|
+
:-webkit-box-shadow 1px 1px 6px #000
|
58
|
+
:padding 4px 10px 4px 10px
|
59
|
+
:border-radius 6px
|
60
|
+
:-moz-border-radius 6px
|
61
|
+
:-webkit-border-radius 6px
|
62
|
+
:opacity 0.8
|
63
|
+
|
64
|
+
.meta
|
65
|
+
:margin-top 5px
|
66
|
+
:color #aaa
|
67
|
+
:font-size 0.95em
|
68
|
+
a
|
69
|
+
:color #888
|
70
|
+
:text-decoration none
|
71
|
+
&:hover
|
72
|
+
:text-decoration underline
|
73
|
+
|
74
|
+
h2
|
75
|
+
:margin-bottom 7px
|
76
|
+
:color #111
|
77
|
+
:font
|
78
|
+
:weight bold
|
79
|
+
:size 1.2em
|
80
|
+
a
|
81
|
+
:color inherit
|
82
|
+
:text-decoration none
|
83
|
+
&:hover
|
84
|
+
:color #000 !important
|
85
|
+
:text-decoration underline
|
86
|
+
&:visited
|
87
|
+
:color #111
|
88
|
+
|
89
|
+
.loading
|
90
|
+
:margin 0 0 -3px 3px
|
91
|
+
|
92
|
+
#formatting
|
93
|
+
:margin 10px 5px 10px 0
|
94
|
+
:background #f5f5f5
|
95
|
+
:border 1px dashed #efefef
|
96
|
+
:padding 5px 10px
|
97
|
+
:display none
|
98
|
+
span
|
99
|
+
:display block
|
100
|
+
:float left
|
101
|
+
:width 200px
|
102
|
+
:padding 0 0 5px
|
103
|
+
pre
|
104
|
+
:border none
|
105
|
+
:overflow visible
|
106
|
+
:padding 0
|
107
|
+
.more
|
108
|
+
:clear both
|
109
|
+
:font-size 11px
|
110
|
+
:padding-top 5px
|
111
|
+
|
112
|
+
#header
|
113
|
+
:height 90px
|
114
|
+
:padding 40px 0 0
|
115
|
+
|
116
|
+
h1 a
|
117
|
+
:display block
|
118
|
+
:color #000
|
119
|
+
:font-size 3.0em
|
120
|
+
:text-decoration none
|
121
|
+
:width 186px
|
122
|
+
:height 54px
|
123
|
+
|
124
|
+
.field
|
125
|
+
:margin-bottom 5px
|
126
|
+
input:not([type='checkbox']), textarea
|
127
|
+
:width 98%
|
128
|
+
:margin 0
|
129
|
+
:padding 2px 2px
|
130
|
+
:border 1px solid #aaa
|
131
|
+
:border-radius 4px
|
132
|
+
:-moz-border-radius 4px
|
133
|
+
:-webkit-border-radius 4px
|
134
|
+
|
135
|
+
#content
|
136
|
+
:width 500px
|
137
|
+
:float left
|
138
|
+
ul, ol
|
139
|
+
:margin 5px 0 0
|
140
|
+
:padding 0 0 0 35px
|
141
|
+
li
|
142
|
+
:list-style-type disc
|
143
|
+
:padding 0px 0px 5px
|
144
|
+
ol li
|
145
|
+
:list-style-type decimal
|
146
|
+
p
|
147
|
+
:margin-bottom 10px
|
148
|
+
:line-height 1.35em
|
149
|
+
:text-align justify
|
150
|
+
.flash
|
151
|
+
:position absolute
|
152
|
+
:margin -35px 0 10px
|
153
|
+
:background #F7FCDF
|
154
|
+
:border 1px solid #EFFA9E
|
155
|
+
:padding 5px
|
156
|
+
:border-radius 2px
|
157
|
+
:-moz-border-radius 2px
|
158
|
+
:-webkit-border-radius 2px
|
159
|
+
&#error
|
160
|
+
:background #F3C0C1
|
161
|
+
:border 1px solid #E5A7A9
|
162
|
+
#search
|
163
|
+
:width 100%
|
164
|
+
:margin-bottom 15px
|
165
|
+
:border-bottom 1px solid #efefef
|
166
|
+
h2
|
167
|
+
:display inline
|
168
|
+
.meta
|
169
|
+
:float right
|
170
|
+
:margin-bottom 5px
|
171
|
+
.open
|
172
|
+
:position absolute
|
173
|
+
:top 0px
|
174
|
+
:display block
|
175
|
+
:z-index 5000
|
176
|
+
:background #efefef
|
177
|
+
:color #000
|
178
|
+
:font-family tahoma
|
179
|
+
:font-size 0.8em
|
180
|
+
:box-shadow 0px 0px 2px #000
|
181
|
+
:-moz-box-shadow 0px 0px 2px #000
|
182
|
+
:-webkit-box-shadow 0px 0px 2px #000
|
183
|
+
:padding 2px 10px 4px 10px
|
184
|
+
:border-radius 6px
|
185
|
+
:-moz-border-radius-bottomleft 6px
|
186
|
+
:-webkit-border-bottom-left-radius 6px
|
187
|
+
:-moz-border-radius-bottomright 6px
|
188
|
+
:-webkit-border-bottom-right-radius 6px
|
189
|
+
:text-decoration none
|
190
|
+
:margin-left 730px
|
191
|
+
form
|
192
|
+
a.more
|
193
|
+
:float right
|
194
|
+
:margin 0 5px 0 0
|
195
|
+
#new_post
|
196
|
+
:display none
|
197
|
+
:width 100%
|
198
|
+
:-webkit-box-shadow 0px 2px 5px #ccc
|
199
|
+
:-moz-box-shadow 0px 2px 5px #ccc
|
200
|
+
:box-shadow 0px 2px 5px #ccc
|
201
|
+
:margin 0 0 30px
|
202
|
+
:padding 0 0 5px
|
203
|
+
.close
|
204
|
+
:background url('../images/close.png') no-repeat
|
205
|
+
:display block
|
206
|
+
:width 30px
|
207
|
+
:height 30px
|
208
|
+
:text-indent -999px
|
209
|
+
:position absolute
|
210
|
+
:margin -10px 0 0 490px
|
211
|
+
ul
|
212
|
+
:padding 0
|
213
|
+
:height 25px
|
214
|
+
li
|
215
|
+
:list-style none
|
216
|
+
:float left
|
217
|
+
:padding 2px 5px
|
218
|
+
:margin 0 2px 0 0
|
219
|
+
&.ui-tabs-selected
|
220
|
+
:background #eee
|
221
|
+
.new_post
|
222
|
+
:padding 0 10px
|
223
|
+
.new_comment
|
224
|
+
:margin-top 15px
|
225
|
+
.help
|
226
|
+
:float right
|
227
|
+
:margin-right 5px
|
228
|
+
.post
|
229
|
+
:margin 0 0 25px
|
230
|
+
.description
|
231
|
+
:margin-top 5px
|
232
|
+
blockquote
|
233
|
+
:margin-bottom 10px
|
234
|
+
:font
|
235
|
+
:style italic
|
236
|
+
&:before
|
237
|
+
:content '“'
|
238
|
+
&:after
|
239
|
+
:content '”'
|
240
|
+
p
|
241
|
+
:display inline
|
242
|
+
img, object, embed
|
243
|
+
:width 100% !important
|
244
|
+
object, embed
|
245
|
+
:height 340px !important
|
246
|
+
pre
|
247
|
+
:overflow auto
|
248
|
+
:background #f5f5f5
|
249
|
+
:border 1px solid #efefef
|
250
|
+
:padding 5px
|
251
|
+
:font-size 0.95em
|
252
|
+
:margin-bottom 10px
|
253
|
+
.meta .via
|
254
|
+
:float right
|
255
|
+
&.preview
|
256
|
+
:background url('../images/preview.png')
|
257
|
+
.comment
|
258
|
+
:border-top 1px solid #efefef
|
259
|
+
:margin 10px 0
|
260
|
+
:padding 10px 0 0 50px
|
261
|
+
:overflow hidden
|
262
|
+
p, pre
|
263
|
+
:margin-bottom 10px
|
264
|
+
:line-height 1.35em
|
265
|
+
p
|
266
|
+
:text-align justify
|
267
|
+
.photo
|
268
|
+
:float left
|
269
|
+
:margin 3px 5px 0 -50px
|
270
|
+
:border 1px solid #eee
|
271
|
+
&.author
|
272
|
+
:padding 10px 50px 0 0
|
273
|
+
.photo
|
274
|
+
:float right
|
275
|
+
:margin 3px -50px 0 0
|
276
|
+
|
277
|
+
.link
|
278
|
+
h2
|
279
|
+
a
|
280
|
+
:padding-right 18px
|
281
|
+
:background url('../images/shortcut.png') no-repeat 100% 50%
|
282
|
+
|
283
|
+
input.youtube
|
284
|
+
:background url('../images/youtube.png') no-repeat 99.5% 50%
|
285
|
+
|
286
|
+
input.image
|
287
|
+
:background url('../images/image.png') no-repeat 99.5% 50%
|
288
|
+
|
289
|
+
.pagination
|
290
|
+
:clear both
|
291
|
+
:padding 8px 0
|
292
|
+
.prev_page
|
293
|
+
:float left
|
294
|
+
.next_page
|
295
|
+
:float right
|
296
|
+
a, span
|
297
|
+
:background #ddd
|
298
|
+
:color #000
|
299
|
+
:font-family tahoma
|
300
|
+
:font-size 0.9em
|
301
|
+
:padding 7px 20px
|
302
|
+
:margin 0 0 10px
|
303
|
+
:border-radius 2px
|
304
|
+
:-moz-border-radius 2px
|
305
|
+
:-webkit-border-radius 2px
|
306
|
+
:text-decoration none
|
307
|
+
&.disabled
|
308
|
+
:display none
|
309
|
+
a
|
310
|
+
&:hover, &:active
|
311
|
+
:background #ccc
|
312
|
+
|
313
|
+
#sidebar
|
314
|
+
:margin-left 560px
|
315
|
+
:width 240px
|
316
|
+
:position absolute
|
317
|
+
:top 130px
|
318
|
+
#search_form
|
319
|
+
.field
|
320
|
+
:display inline
|
321
|
+
input
|
322
|
+
:width 70%
|
323
|
+
h3
|
324
|
+
:border-bottom 1px solid #efefef
|
325
|
+
:padding 0 0 2px
|
326
|
+
:margin 20px 0 8px
|
327
|
+
:font-size 13px
|
328
|
+
:clear both
|
329
|
+
&:first-child
|
330
|
+
:margin-top 0
|
331
|
+
p
|
332
|
+
:text-align justify
|
333
|
+
:margin-bottom 12px
|
334
|
+
#links
|
335
|
+
:padding 5px 0 0
|
336
|
+
li
|
337
|
+
:background-repeat no-repeat
|
338
|
+
:margin 0px 0px 8px 15px
|
339
|
+
:line-height 12px
|
340
|
+
a
|
341
|
+
:display inline-block
|
342
|
+
:padding 0 0 5px 25px
|
343
|
+
:color #666
|
344
|
+
&.flickr
|
345
|
+
:background-image url('../images/flickr.png')
|
346
|
+
&.facebook
|
347
|
+
:background-image url('../images/facebook.png')
|
348
|
+
&.lastfm
|
349
|
+
:background-image url('../images/lastfm.png')
|
350
|
+
&.myspace
|
351
|
+
:background-image url('../images/myspace.png')
|
352
|
+
&.twitter
|
353
|
+
:background-image url('../images/twitter.png')
|
354
|
+
&.youtube
|
355
|
+
:background-image url('../images/youtube.png')
|
356
|
+
&.work
|
357
|
+
:background-image url('../images/work.png')
|
358
|
+
&.feed
|
359
|
+
:background-image url('../images/feed.png')
|
360
|
+
&.email
|
361
|
+
:background-image url('../images/email.png')
|
362
|
+
.album
|
363
|
+
:position relative
|
364
|
+
:height 72px
|
365
|
+
:margin-bottom 20px
|
366
|
+
a
|
367
|
+
:display block
|
368
|
+
:height 72px
|
369
|
+
:padding-left 90px
|
370
|
+
:float left
|
371
|
+
:position relative
|
372
|
+
:background url('../images/cd.png') no-repeat
|
373
|
+
:z-index 1
|
374
|
+
:text-decoration none
|
375
|
+
:color #000
|
376
|
+
strong
|
377
|
+
:display block
|
378
|
+
em
|
379
|
+
:font-size 0.9em
|
380
|
+
img
|
381
|
+
:position absolute
|
382
|
+
:left 10px
|
383
|
+
:top 2px
|
384
|
+
:z-index 0
|
385
|
+
.sparkline
|
386
|
+
:padding 10px 0
|
387
|
+
#footer, #bumble
|
388
|
+
:clear both
|
389
|
+
:color #999
|
390
|
+
:font-size 0.9em
|
391
|
+
:text-align right
|
392
|
+
:padding 10px 0
|
393
|
+
:margin-bottom 10px
|
394
|
+
a
|
395
|
+
:color inherit
|
396
|
+
:text-decoration none
|
397
|
+
.up
|
398
|
+
:float left
|
399
|
+
:display block
|
400
|
+
|
401
|
+
.bookmarks
|
402
|
+
h3
|
403
|
+
a
|
404
|
+
:display block
|
405
|
+
:text-decoration none
|
406
|
+
:color #000
|
407
|
+
ul
|
408
|
+
:padding 5px 0 0
|
409
|
+
li
|
410
|
+
:background url('../images/sprite.png') -10px -612px no-repeat
|
411
|
+
:margin 0px 0px 8px 3px
|
412
|
+
:padding-left 28px
|
413
|
+
h4
|
414
|
+
:font-weight normal
|
415
|
+
a
|
416
|
+
:color #000
|
417
|
+
:text-decoration none
|
418
|
+
span
|
419
|
+
:font-size 10px
|
420
|
+
:color #bbb
|
421
|
+
.js
|
422
|
+
form > label, .more > label
|
423
|
+
:display none
|