socializer 0.1.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (291) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +11 -0
  3. data/.gitignore +29 -0
  4. data/.rubocop.yml +42 -0
  5. data/.travis.yml +13 -0
  6. data/CONTRIBUTING.md +46 -0
  7. data/Gemfile +31 -0
  8. data/README.md +91 -0
  9. data/Rakefile +38 -0
  10. data/app/assets/images/socializer/.gitkeep +0 -0
  11. data/app/assets/images/socializer/auth_buttons/facebook_128.png +0 -0
  12. data/app/assets/images/socializer/auth_buttons/facebook_256.png +0 -0
  13. data/app/assets/images/socializer/auth_buttons/facebook_32.png +0 -0
  14. data/app/assets/images/socializer/auth_buttons/facebook_64.png +0 -0
  15. data/app/assets/images/socializer/auth_buttons/google_128.png +0 -0
  16. data/app/assets/images/socializer/auth_buttons/google_256.png +0 -0
  17. data/app/assets/images/socializer/auth_buttons/google_32.png +0 -0
  18. data/app/assets/images/socializer/auth_buttons/google_64.png +0 -0
  19. data/app/assets/images/socializer/auth_buttons/linkedin_128.png +0 -0
  20. data/app/assets/images/socializer/auth_buttons/linkedin_256.png +0 -0
  21. data/app/assets/images/socializer/auth_buttons/linkedin_32.png +0 -0
  22. data/app/assets/images/socializer/auth_buttons/linkedin_64.png +0 -0
  23. data/app/assets/images/socializer/auth_buttons/twitter_128.png +0 -0
  24. data/app/assets/images/socializer/auth_buttons/twitter_256.png +0 -0
  25. data/app/assets/images/socializer/auth_buttons/twitter_32.png +0 -0
  26. data/app/assets/images/socializer/auth_buttons/twitter_64.png +0 -0
  27. data/app/assets/images/socializer/auth_buttons/yahoo_128.png +0 -0
  28. data/app/assets/images/socializer/auth_buttons/yahoo_256.png +0 -0
  29. data/app/assets/images/socializer/auth_buttons/yahoo_32.png +0 -0
  30. data/app/assets/images/socializer/auth_buttons/yahoo_64.png +0 -0
  31. data/app/assets/images/socializer/close.png +0 -0
  32. data/app/assets/images/socializer/icons/Bell.png +0 -0
  33. data/app/assets/images/socializer/icons/Edit.png +0 -0
  34. data/app/assets/images/socializer/icons/Home.png +0 -0
  35. data/app/assets/images/socializer/icons/Power.png +0 -0
  36. data/app/assets/images/socializer/icons/Safe.png +0 -0
  37. data/app/assets/images/socializer/icons/User.png +0 -0
  38. data/app/assets/images/socializer/icons/Users.png +0 -0
  39. data/app/assets/images/socializer/icons/Web.png +0 -0
  40. data/app/assets/images/socializer/loading.gif +0 -0
  41. data/app/assets/images/socializer/next.png +0 -0
  42. data/app/assets/images/socializer/pause.png +0 -0
  43. data/app/assets/images/socializer/play.png +0 -0
  44. data/app/assets/images/socializer/previous.png +0 -0
  45. data/app/assets/javascripts/socializer/activities.js.coffee +47 -0
  46. data/app/assets/javascripts/socializer/application.js +24 -0
  47. data/app/assets/javascripts/socializer/circles.js.coffee +33 -0
  48. data/app/assets/javascripts/socializer/jquery.qtip.min.js +7 -0
  49. data/app/assets/javascripts/socializer/jquery.tokeninput.js +862 -0
  50. data/app/assets/javascripts/socializer/notes.js.coffee +38 -0
  51. data/app/assets/javascripts/socializer/people.js.coffee +7 -0
  52. data/app/assets/javascripts/socializer/shares.js.coffee +8 -0
  53. data/app/assets/stylesheets/socializer/activities.css +84 -0
  54. data/app/assets/stylesheets/socializer/application.css +409 -0
  55. data/app/assets/stylesheets/socializer/authentications.css +4 -0
  56. data/app/assets/stylesheets/socializer/circles.css +74 -0
  57. data/app/assets/stylesheets/socializer/comments.css +4 -0
  58. data/app/assets/stylesheets/socializer/groups.css +61 -0
  59. data/app/assets/stylesheets/socializer/jquery.qtip.min.css +2 -0
  60. data/app/assets/stylesheets/socializer/likes.css +4 -0
  61. data/app/assets/stylesheets/socializer/memberships.css +4 -0
  62. data/app/assets/stylesheets/socializer/notes.css +21 -0
  63. data/app/assets/stylesheets/socializer/notifications.css +46 -0
  64. data/app/assets/stylesheets/socializer/pages.css +4 -0
  65. data/app/assets/stylesheets/socializer/persons.css +25 -0
  66. data/app/assets/stylesheets/socializer/sessions.css +4 -0
  67. data/app/assets/stylesheets/socializer/shares.css.scss +3 -0
  68. data/app/assets/stylesheets/socializer/ties.css +4 -0
  69. data/app/assets/stylesheets/socializer/token-input.css +183 -0
  70. data/app/controllers/socializer/activities_controller.rb +84 -0
  71. data/app/controllers/socializer/application_controller.rb +37 -0
  72. data/app/controllers/socializer/audiences_controller.rb +30 -0
  73. data/app/controllers/socializer/authentications_controller.rb +13 -0
  74. data/app/controllers/socializer/circles_controller.rb +54 -0
  75. data/app/controllers/socializer/comments_controller.rb +37 -0
  76. data/app/controllers/socializer/groups_controller.rb +70 -0
  77. data/app/controllers/socializer/likes_controller.rb +50 -0
  78. data/app/controllers/socializer/memberships_controller.rb +46 -0
  79. data/app/controllers/socializer/notes_controller.rb +43 -0
  80. data/app/controllers/socializer/notifications_controller.rb +29 -0
  81. data/app/controllers/socializer/pages_controller.rb +7 -0
  82. data/app/controllers/socializer/people_controller.rb +37 -0
  83. data/app/controllers/socializer/person_addresses_controller.rb +27 -0
  84. data/app/controllers/socializer/person_contributions_controller.rb +27 -0
  85. data/app/controllers/socializer/person_educations_controller.rb +27 -0
  86. data/app/controllers/socializer/person_employments_controller.rb +27 -0
  87. data/app/controllers/socializer/person_links_controller.rb +27 -0
  88. data/app/controllers/socializer/person_phones_controller.rb +27 -0
  89. data/app/controllers/socializer/person_places_controller.rb +27 -0
  90. data/app/controllers/socializer/person_profiles_controller.rb +27 -0
  91. data/app/controllers/socializer/sessions_controller.rb +37 -0
  92. data/app/controllers/socializer/shares_controller.rb +54 -0
  93. data/app/controllers/socializer/ties_controller.rb +16 -0
  94. data/app/helpers/socializer/application_helper.rb +22 -0
  95. data/app/models/concerns/socializer/object_type_base.rb +58 -0
  96. data/app/models/socializer/activity.rb +162 -0
  97. data/app/models/socializer/activity_field.rb +10 -0
  98. data/app/models/socializer/activity_object.rb +118 -0
  99. data/app/models/socializer/audience.rb +19 -0
  100. data/app/models/socializer/authentication.rb +20 -0
  101. data/app/models/socializer/circle.rb +32 -0
  102. data/app/models/socializer/comment.rb +13 -0
  103. data/app/models/socializer/group.rb +100 -0
  104. data/app/models/socializer/group_category.rb +11 -0
  105. data/app/models/socializer/group_link.rb +12 -0
  106. data/app/models/socializer/identity.rb +9 -0
  107. data/app/models/socializer/membership.rb +24 -0
  108. data/app/models/socializer/note.rb +13 -0
  109. data/app/models/socializer/notification.rb +16 -0
  110. data/app/models/socializer/person.rb +129 -0
  111. data/app/models/socializer/person_address.rb +12 -0
  112. data/app/models/socializer/person_contribution.rb +12 -0
  113. data/app/models/socializer/person_education.rb +8 -0
  114. data/app/models/socializer/person_employment.rb +8 -0
  115. data/app/models/socializer/person_link.rb +12 -0
  116. data/app/models/socializer/person_phone.rb +16 -0
  117. data/app/models/socializer/person_place.rb +11 -0
  118. data/app/models/socializer/person_profile.rb +12 -0
  119. data/app/models/socializer/tie.rb +12 -0
  120. data/app/models/socializer/verb.rb +9 -0
  121. data/app/views/layouts/socializer/_header.html.erb +11 -0
  122. data/app/views/layouts/socializer/application.html.erb +60 -0
  123. data/app/views/socializer/activities/_activity.html.erb +23 -0
  124. data/app/views/socializer/activities/_activity_bottom.html.erb +55 -0
  125. data/app/views/socializer/activities/_activity_content.html.erb +19 -0
  126. data/app/views/socializer/activities/_activity_top.html.erb +22 -0
  127. data/app/views/socializer/activities/_stream_card.html.erb +6 -0
  128. data/app/views/socializer/activities/_stream_list.html.erb +16 -0
  129. data/app/views/socializer/activities/audience.html.erb +19 -0
  130. data/app/views/socializer/activities/destroy.js.erb +3 -0
  131. data/app/views/socializer/activities/edit.html.erb +0 -0
  132. data/app/views/socializer/activities/index.html.erb +15 -0
  133. data/app/views/socializer/authentications/_form.html.erb +0 -0
  134. data/app/views/socializer/authentications/_menu.html.erb +5 -0
  135. data/app/views/socializer/authentications/index.html.erb +8 -0
  136. data/app/views/socializer/authentications/new.html.erb +8 -0
  137. data/app/views/socializer/circles/_card.html.erb +7 -0
  138. data/app/views/socializer/circles/_circles.html.erb +6 -0
  139. data/app/views/socializer/circles/_form.html.erb +6 -0
  140. data/app/views/socializer/circles/_menu.html.erb +7 -0
  141. data/app/views/socializer/circles/contact_of.html.erb +7 -0
  142. data/app/views/socializer/circles/contacts.html.erb +7 -0
  143. data/app/views/socializer/circles/edit.html.erb +1 -0
  144. data/app/views/socializer/circles/find_people.html.erb +7 -0
  145. data/app/views/socializer/circles/index.html.erb +6 -0
  146. data/app/views/socializer/circles/new.html.erb +1 -0
  147. data/app/views/socializer/circles/show.html.erb +10 -0
  148. data/app/views/socializer/comments/_form.html.erb +8 -0
  149. data/app/views/socializer/comments/edit.html.erb +1 -0
  150. data/app/views/socializer/comments/new.html.erb +1 -0
  151. data/app/views/socializer/groups/_card.html.erb +6 -0
  152. data/app/views/socializer/groups/_form.html.erb +6 -0
  153. data/app/views/socializer/groups/_menu.html.erb +10 -0
  154. data/app/views/socializer/groups/edit.html.erb +1 -0
  155. data/app/views/socializer/groups/index.html.erb +0 -0
  156. data/app/views/socializer/groups/joinable.html.erb +16 -0
  157. data/app/views/socializer/groups/memberships.html.erb +19 -0
  158. data/app/views/socializer/groups/new.html.erb +1 -0
  159. data/app/views/socializer/groups/ownerships.html.erb +20 -0
  160. data/app/views/socializer/groups/pending_invites.html.erb +20 -0
  161. data/app/views/socializer/groups/public.html.erb +16 -0
  162. data/app/views/socializer/groups/restricted.html.erb +16 -0
  163. data/app/views/socializer/groups/show.html.erb +29 -0
  164. data/app/views/socializer/likes/create.js.erb +2 -0
  165. data/app/views/socializer/likes/destroy.js.erb +2 -0
  166. data/app/views/socializer/likes/index.html.erb +5 -0
  167. data/app/views/socializer/notes/_form.html.erb +7 -0
  168. data/app/views/socializer/notes/create.js.erb +10 -0
  169. data/app/views/socializer/notes/destroy.js.erb +3 -0
  170. data/app/views/socializer/notes/edit.html.erb +1 -0
  171. data/app/views/socializer/notes/new.html.erb +2 -0
  172. data/app/views/socializer/notifications/index.html.erb +35 -0
  173. data/app/views/socializer/pages/index.html.erb +2 -0
  174. data/app/views/socializer/people/_card.html.erb +15 -0
  175. data/app/views/socializer/people/_form.html.erb +30 -0
  176. data/app/views/socializer/people/_login.html.erb +14 -0
  177. data/app/views/socializer/people/_menu.html.erb +9 -0
  178. data/app/views/socializer/people/edit.html.erb +2 -0
  179. data/app/views/socializer/people/index.html.erb +5 -0
  180. data/app/views/socializer/people/likes.html.erb +6 -0
  181. data/app/views/socializer/people/message.html.erb +5 -0
  182. data/app/views/socializer/people/show.html.erb +122 -0
  183. data/app/views/socializer/person_addresses/_form.html.erb +12 -0
  184. data/app/views/socializer/person_contributions/_form.html.erb +7 -0
  185. data/app/views/socializer/person_educations/_form.html.erb +10 -0
  186. data/app/views/socializer/person_employments/_form.html.erb +10 -0
  187. data/app/views/socializer/person_links/_form.html.erb +6 -0
  188. data/app/views/socializer/person_phones/_form.html.erb +6 -0
  189. data/app/views/socializer/person_places/_form.html.erb +6 -0
  190. data/app/views/socializer/person_profiles/_form.html.erb +6 -0
  191. data/app/views/socializer/shares/_form.html.erb +19 -0
  192. data/app/views/socializer/shares/new.html.erb +1 -0
  193. data/config.ru +4 -0
  194. data/config/cucumber.yml +8 -0
  195. data/config/initializers/inflections.rb +3 -0
  196. data/config/locales/en.yml +108 -0
  197. data/config/locales/fr.yml +329 -0
  198. data/config/rails_best_practices.yml +41 -0
  199. data/config/routes.rb +71 -0
  200. data/db/migrate/20110804175740_create_socializer_activity_objects.rb +14 -0
  201. data/db/migrate/20110804180557_create_socializer_people.rb +31 -0
  202. data/db/migrate/20110804184415_create_socializer_notes.rb +12 -0
  203. data/db/migrate/20110804192211_create_socializer_authentications.rb +12 -0
  204. data/db/migrate/20110805085417_create_socializer_circles.rb +14 -0
  205. data/db/migrate/20110805090617_create_socializer_activities.rb +17 -0
  206. data/db/migrate/20110805092635_create_socializer_audiences.rb +14 -0
  207. data/db/migrate/20110805094846_create_socializer_comments.rb +12 -0
  208. data/db/migrate/20110805121454_create_socializer_groups.rb +19 -0
  209. data/db/migrate/20110805121543_create_socializer_memberships.rb +14 -0
  210. data/db/migrate/20110805125606_create_socializer_ties.rb +13 -0
  211. data/db/migrate/20111207234435_create_socializer_identities.rb +12 -0
  212. data/db/migrate/20130524000429_create_socializer_verbs.rb +10 -0
  213. data/db/migrate/20130528143831_create_socializer_activity_fields.rb +10 -0
  214. data/db/migrate/20140128235250_create_socializer_notifications.rb +11 -0
  215. data/db/migrate/20140131065531_create_socializer_person_employments.rb +15 -0
  216. data/db/migrate/20140131065733_create_socializer_person_educations.rb +15 -0
  217. data/db/migrate/20140131065836_create_socializer_person_places.rb +11 -0
  218. data/db/migrate/20140131070051_create_socializer_person_contributions.rb +12 -0
  219. data/db/migrate/20140131070232_create_socializer_person_links.rb +11 -0
  220. data/db/migrate/20140131070259_create_socializer_person_profiles.rb +11 -0
  221. data/db/migrate/20140131070417_create_socializer_person_phones.rb +12 -0
  222. data/db/migrate/20140131070611_create_socializer_person_addresses.rb +17 -0
  223. data/db/migrate/20140131070839_create_socializer_group_links.rb +11 -0
  224. data/db/migrate/20140131070951_create_socializer_group_categories.rb +10 -0
  225. data/features/support/capybara.rb +14 -0
  226. data/features/support/env.rb +57 -0
  227. data/features/support/factory_girl.rb +1 -0
  228. data/lib/socializer.rb +4 -0
  229. data/lib/socializer/engine.rb +27 -0
  230. data/lib/socializer/version.rb +3 -0
  231. data/lib/tasks/cucumber.rake +65 -0
  232. data/lib/tasks/socializer_tasks.rake +4 -0
  233. data/script/cucumber +10 -0
  234. data/socializer.gemspec +49 -0
  235. data/spec/controllers/socializer/likes_controller_spec.rb +29 -0
  236. data/spec/controllers/socializer/shares_controller_spec.rb +22 -0
  237. data/spec/factories/socializer_activities.rb +11 -0
  238. data/spec/factories/socializer_activity_fields.rb +8 -0
  239. data/spec/factories/socializer_activity_objects.rb +7 -0
  240. data/spec/factories/socializer_audiences.rb +9 -0
  241. data/spec/factories/socializer_authentications.rb +6 -0
  242. data/spec/factories/socializer_circles.rb +9 -0
  243. data/spec/factories/socializer_comments.rb +6 -0
  244. data/spec/factories/socializer_group_categories.rb +8 -0
  245. data/spec/factories/socializer_group_links.rb +9 -0
  246. data/spec/factories/socializer_groups.rb +9 -0
  247. data/spec/factories/socializer_identities.rb +10 -0
  248. data/spec/factories/socializer_memberships.rb +6 -0
  249. data/spec/factories/socializer_notes.rb +7 -0
  250. data/spec/factories/socializer_notifications.rb +10 -0
  251. data/spec/factories/socializer_people.rb +7 -0
  252. data/spec/factories/socializer_person_addresses.rb +8 -0
  253. data/spec/factories/socializer_person_contributions.rb +9 -0
  254. data/spec/factories/socializer_person_educations.rb +7 -0
  255. data/spec/factories/socializer_person_employments.rb +7 -0
  256. data/spec/factories/socializer_person_links.rb +9 -0
  257. data/spec/factories/socializer_person_phones.rb +9 -0
  258. data/spec/factories/socializer_person_places.rb +8 -0
  259. data/spec/factories/socializer_person_profiles.rb +9 -0
  260. data/spec/factories/socializer_ties.rb +6 -0
  261. data/spec/factories/socializer_verbs.rb +7 -0
  262. data/spec/inflector_spec.rb +19 -0
  263. data/spec/models/socializer/activity_field_spec.rb +25 -0
  264. data/spec/models/socializer/activity_object_spec.rb +118 -0
  265. data/spec/models/socializer/activity_spec.rb +16 -0
  266. data/spec/models/socializer/audience_spec.rb +32 -0
  267. data/spec/models/socializer/authentication_spec.rb +29 -0
  268. data/spec/models/socializer/circle_spec.rb +53 -0
  269. data/spec/models/socializer/comment_spec.rb +19 -0
  270. data/spec/models/socializer/group_category_spec.rb +23 -0
  271. data/spec/models/socializer/group_link_spec.rb +25 -0
  272. data/spec/models/socializer/group_spec.rb +218 -0
  273. data/spec/models/socializer/identity_spec.rb +32 -0
  274. data/spec/models/socializer/membership_spec.rb +68 -0
  275. data/spec/models/socializer/note_spec.rb +19 -0
  276. data/spec/models/socializer/notification_spec.rb +28 -0
  277. data/spec/models/socializer/person_address_spec.rb +27 -0
  278. data/spec/models/socializer/person_contribution_spec.rb +27 -0
  279. data/spec/models/socializer/person_education_spec.rb +25 -0
  280. data/spec/models/socializer/person_employment_spec.rb +25 -0
  281. data/spec/models/socializer/person_link_spec.rb +26 -0
  282. data/spec/models/socializer/person_phone_spec.rb +28 -0
  283. data/spec/models/socializer/person_place_spec.rb +25 -0
  284. data/spec/models/socializer/person_profile_spec.rb +26 -0
  285. data/spec/models/socializer/person_spec.rb +105 -0
  286. data/spec/models/socializer/tie_spec.rb +24 -0
  287. data/spec/models/socializer/verb_spec.rb +24 -0
  288. data/spec/spec_helper.rb +84 -0
  289. data/vendor/assets/javascripts/moment/langs.js +5841 -0
  290. data/vendor/assets/javascripts/moment/moment.js +2400 -0
  291. metadata +754 -0
@@ -0,0 +1,38 @@
1
+ # Place all the behaviors and hooks related to the matching controller here.
2
+ # All this logic will automatically be available in application.js.
3
+ # You can use CoffeeScript in this file: http://coffeescript.org/
4
+
5
+ @resetNoteForm = ->
6
+ $('#note_content').removeAttr('style').val('')
7
+ $('#note_object_ids').hide()
8
+ $('.token-input-list').hide()
9
+ $('#new_note .action-button').hide()
10
+
11
+ $('#note_content').one 'click', ->
12
+ $(this).animate
13
+ height: 100
14
+ , 'fast'
15
+
16
+ audience_path = $('#note_object_ids').data('path')
17
+ title = $('#note_object_ids').data('title')
18
+ current_id = $('#note_object_ids').data('current-id')
19
+ prepopulate = null
20
+
21
+ if current_id?
22
+ prepopulate = [
23
+ id: current_id
24
+ name: title
25
+ ]
26
+
27
+ $('#note_object_ids').tokenInput audience_path,
28
+ minChars: 0
29
+ preventDuplicates: true
30
+ prePopulate: prepopulate
31
+
32
+ $('.token-input-list').hide() if (current_id?) and (title is '')
33
+ $('#new_note .action-button').show 'fast'
34
+
35
+ jQuery ->
36
+ controller_name = $('body').data('controller')
37
+ if controller_name == 'notes' || controller_name = 'activities'
38
+ resetNoteForm()
@@ -0,0 +1,7 @@
1
+ # Place all the behaviors and hooks related to the matching controller here.
2
+ # All this logic will automatically be available in application.js.
3
+ # You can use CoffeeScript in this file: http://coffeescript.org/
4
+
5
+ jQuery ->
6
+ if $('body').data('controller') == 'people'
7
+ $('[id^=message_person_] #note_content').click().focus()
@@ -0,0 +1,8 @@
1
+ # Place all the behaviors and hooks related to the matching controller here.
2
+ # All this logic will automatically be available in application.js.
3
+ # You can use CoffeeScript in this file: http://coffeescript.org/
4
+
5
+ jQuery ->
6
+ if $('body').data('controller') == 'shares'
7
+ url = $('#share_object_ids').data('path')
8
+ $('#share_object_ids').tokenInput(url, { minChars: 0 })
@@ -0,0 +1,84 @@
1
+ /*
2
+ Place all the styles related to the matching controller here.
3
+ They will automatically be included in application.css.
4
+ */
5
+ ul.activities {
6
+ list-style-type: none;
7
+ margin: 0;
8
+ padding: 0;
9
+ }
10
+
11
+ ul.activities > li {
12
+ border-bottom: 1px solid #ccc;
13
+ padding: 10px 20px;
14
+ }
15
+
16
+ ul.activities ul {
17
+ list-style-type: none;
18
+ margin: 5px 0 5px 50px;
19
+ padding: 0;
20
+ }
21
+
22
+ ul.activities ul > li {
23
+ border-bottom-width: 0;
24
+ padding: 0;
25
+ margin: 0;
26
+ }
27
+
28
+ .activity-content {
29
+ white-space: pre-wrap;
30
+ }
31
+
32
+ .activity-subcontent
33
+ {
34
+ padding: 5px 20px 10px 50px;
35
+ }
36
+
37
+ .ui-tooltip-content ul
38
+ {
39
+ padding: 0;
40
+ margin: 0;
41
+ }
42
+
43
+ ul.activities a.important-link
44
+ {
45
+ font-weight: bold;
46
+ text-decoration: none;
47
+ color: #00a;
48
+ }
49
+
50
+ ul.activities a.unimportant-link
51
+ {
52
+ text-decoration: none;
53
+ color: #aaa;
54
+ }
55
+
56
+ ul.activities a
57
+ {
58
+ color: #00a;
59
+ text-decoration: none;
60
+ }
61
+
62
+ ul.activities a:hover
63
+ {
64
+ text-decoration: underline;
65
+ }
66
+
67
+ .note-content-field
68
+ {
69
+ width: 506px;
70
+ height: 16px;
71
+ resize: none;
72
+ border: 1px solid #ccc;
73
+ margin-bottom: 5px;
74
+ padding: 5px;
75
+ }
76
+
77
+ ul.activities .separator
78
+ {
79
+ color: #ccc;
80
+ }
81
+ .separator:before
82
+ {
83
+ content: '\2013';
84
+ }
@@ -0,0 +1,409 @@
1
+ /*
2
+ * This is a manifest file that'll automatically include all the stylesheets available in this directory
3
+ * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
4
+ * the top of the compiled file, but it's generally better to create a new file per style scope.
5
+ *= require_self
6
+ *= require_tree .
7
+ */
8
+
9
+ /**
10
+ * HTML5 ✰ Boilerplate
11
+ *
12
+ * style.css contains a reset, font normalization and some base styles.
13
+ *
14
+ * Credit is left where credit is due.
15
+ * Much inspiration was taken from these projects:
16
+ * - yui.yahooapis.com/2.8.1/build/base/base.css
17
+ * - camendesign.com/design/
18
+ * - praegnanz.de/weblog/htmlcssjs-kickstart
19
+ */
20
+
21
+
22
+ /**
23
+ * html5doctor.com Reset Stylesheet (Eric Meyer's Reset Reloaded + HTML5 baseline)
24
+ * v1.6.1 2010-09-17 | Authors: Eric Meyer & Richard Clark
25
+ * html5doctor.com/html-5-reset-stylesheet/
26
+ */
27
+
28
+ html, body, body div, span, object, iframe,
29
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
30
+ abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
31
+ small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
32
+ fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
33
+ article, aside, canvas, details, figcaption, figure,
34
+ footer, header, hgroup, menu, nav, section, summary,
35
+ time, mark, audio, video {
36
+ margin: 0;
37
+ padding: 0;
38
+ border: 0;
39
+ font-size: 100%;
40
+ vertical-align: baseline;
41
+ }
42
+
43
+ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
44
+ display: block;
45
+ }
46
+
47
+ blockquote, q { quotes: none; }
48
+
49
+ blockquote:before, blockquote:after,
50
+ q:before, q:after { content: ""; content: none; }
51
+
52
+ ins { background-color: #ff9; color: #000; text-decoration: none; }
53
+
54
+ mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
55
+
56
+ del { text-decoration: line-through; }
57
+
58
+ abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
59
+
60
+ table { border-collapse: collapse; border-spacing: 0; }
61
+
62
+ hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
63
+
64
+
65
+ /**
66
+ * Font normalization inspired by YUI Library's fonts.css: developer.yahoo.com/yui/
67
+ */
68
+
69
+ body { font:13px/1.231 sans-serif; *font-size:small; } /* Hack retained to preserve specificity */
70
+
71
+ /* Normalize monospace sizing:
72
+ en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */
73
+ pre, code, kbd, samp { font-family: monospace, sans-serif; }
74
+
75
+
76
+ /**
77
+ * Minimal base styles.
78
+ */
79
+
80
+ /* 1) Always force a scrollbar in non-IE
81
+ 2) Remove iOS text size adjust without disabling user zoom: www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/ */
82
+ html { overflow-y: scroll; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; }
83
+
84
+ /* j.mp/webkit-tap-highlight-color */
85
+ a:link { -webkit-tap-highlight-color: #FF5E99; }
86
+
87
+ /* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */
88
+ a:hover, a:active { outline: none; }
89
+
90
+ a, a:active, a:visited { color: #607890; }
91
+ a:hover { color: #036; }
92
+
93
+ ul, ol { margin-left: 2em; }
94
+ ol { list-style-type: decimal; }
95
+
96
+ /* Remove margins for navigation lists */
97
+ nav ul, nav li { margin: 0; list-style:none; list-style-image: none; }
98
+
99
+ small { font-size: 85%; }
100
+ b, strong, th { font-weight: bold; }
101
+
102
+ td { vertical-align: top; }
103
+
104
+ /* Set sub, sup without affecting line-height: gist.github.com/413930 */
105
+ sub, sup { font-size: 75%; line-height: 0; position: relative; }
106
+ sup { top: -0.5em; }
107
+ sub { bottom: -0.25em; }
108
+
109
+ pre {
110
+ /* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */
111
+ white-space: pre; white-space: pre-wrap; word-wrap: break-word;
112
+ padding: 15px;
113
+ }
114
+
115
+ .ie6 legend, .ie7 legend { margin-left: -7px; }
116
+
117
+ /* 1) Make inputs and buttons play nice in IE: www.viget.com/inspire/styling-the-button-element-in-internet-explorer/
118
+ 2) WebKit browsers add a 2px margin outside the chrome of form elements.
119
+ Firefox adds a 1px margin above and below textareas
120
+ 3) Set font-size to match <body>'s, and font-family to sans-serif
121
+ 4) Align to baseline */
122
+ button, input, select, textarea { width: auto; overflow: visible; margin: 0; font-size: 100%; font-family: sans-serif; vertical-align: baseline; }
123
+
124
+ /* 1) Remove default scrollbar in IE: www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/
125
+ 2) Align to text-top */
126
+ textarea { overflow: auto; vertical-align:text-top; }
127
+
128
+ /* Hand cursor on clickable input elements */
129
+ label, input[type="button"], input[type="submit"], input[type="image"], button { cursor: pointer; }
130
+
131
+ /* Remove extra padding and inner border in Firefox */
132
+ input::-moz-focus-inner,
133
+ button::-moz-focus-inner { border: 0; padding: 0; }
134
+
135
+ /* Colors for form validity */
136
+ input:valid, textarea:valid { }
137
+ input:invalid, textarea:invalid { border-radius: 1px; -moz-box-shadow: 0px 0px 5px red; -webkit-box-shadow: 0px 0px 5px red; box-shadow: 0px 0px 5px red; }
138
+ .no-boxshadow input:invalid, .no-boxshadow textarea:invalid { background-color: #f0dddd; }
139
+
140
+ /* Bicubic resizing for non-native sized IMG:
141
+ code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */
142
+ .ie7 img { -ms-interpolation-mode: bicubic; }
143
+
144
+
145
+ /**
146
+ * You might tweak these..
147
+ */
148
+
149
+ body, select, input, textarea {
150
+ font-family: Arial, Helvetica, sans-serif;
151
+ color: #000;
152
+ font-size: 90%;
153
+ }
154
+
155
+ /* Headers (h1, h2, etc) have no default font-size or margin; define those yourself */
156
+ h1, h2, h3, h4, h5, h6 { font-weight: bold; }
157
+
158
+ /* These selection declarations have to be separate
159
+ No text-shadow: twitter.com/miketaylr/status/12228805301 */
160
+ ::-moz-selection { background: #00f; color:#fff; text-shadow: none; }
161
+ ::selection { background:#00f; color:#fff; text-shadow: none; }
162
+
163
+ html, body
164
+ {
165
+ margin: 0;
166
+ padding: 0;
167
+ font-family: Arial;
168
+
169
+ }
170
+
171
+ h1 { font-size: 175%; margin: 20px 0; }
172
+ h2 { font-size: 150%; margin: 15px 0; }
173
+ h3 { font-size: 125%; margin: 10px 0; }
174
+ p { padding: 10px 0; }
175
+
176
+ #outer-page
177
+ {
178
+ width: 960px;
179
+ margin: 0 auto;
180
+ }
181
+
182
+ #page-header
183
+ {
184
+ border-bottom: 1px solid #ddd;
185
+ padding: 15px 0 5px;
186
+ text-align: center;
187
+ background-color: #fafafa;
188
+ }
189
+
190
+ #inner-header
191
+ {
192
+ width: 960px;
193
+ margin: 0 auto;
194
+ }
195
+
196
+ #page-header img
197
+ {
198
+ padding: 0 5px;
199
+ }
200
+
201
+ #page-header img:hover
202
+ {
203
+ opacity: .5;
204
+ -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
205
+ filter: alpha(opacity=50);
206
+ }
207
+
208
+ #page-content
209
+ {
210
+ float: left;
211
+ padding: 0;
212
+ border-left: 1px solid #ddd;
213
+ border-right: 1px solid #ddd;
214
+ }
215
+
216
+ #page-content h1, #page-content h2
217
+ {
218
+ padding: 0 20px;
219
+ }
220
+
221
+ #page-content h3 {
222
+ padding: 20px 20px 0 20px;
223
+ }
224
+
225
+ #stream-column
226
+ {
227
+ float: left;
228
+ width: 190px;
229
+ padding-right: 10px;
230
+ }
231
+
232
+ #stream-column a
233
+ {
234
+ text-decoration: none;
235
+ color: #000;
236
+ }
237
+
238
+ #stream-column a:hover
239
+ {
240
+ color: #aaa;
241
+ }
242
+
243
+ #stream-column p a
244
+ {
245
+ font-weight: bold;
246
+ }
247
+
248
+ #stream-column #groups-stream-list, #stream-column #circles-stream-list
249
+ {
250
+ list-style-type: none;
251
+ margin: 0;
252
+ padding: 0 0 5px 5px;
253
+ }
254
+
255
+ #stream-column #groups-stream-list li, #stream-column #circles-stream-list li
256
+ {
257
+ padding: 2px 0 2px 24px;
258
+ background-repeat: no-repeat;
259
+ background-position: 0px 2px;
260
+ background-size: 20px 20px;
261
+ }
262
+
263
+ #circles-stream-list li
264
+ {
265
+ background-image: url(icons/Web.png);
266
+ }
267
+
268
+ #groups-stream-list li
269
+ {
270
+ background-image: url(icons/Users.png);
271
+ }
272
+
273
+ #contextual-column
274
+ {
275
+ float: left;
276
+ width: 160px;
277
+ padding: 0 20px;
278
+ }
279
+
280
+ .content-header-bar
281
+ {
282
+ border-top: 1px solid #ddd;
283
+ border-bottom: 1px solid #ddd;
284
+ background-color: #efefef;
285
+ padding: 10px 20px;
286
+ }
287
+
288
+ .content-header-bar a
289
+ {
290
+ text-decoration: none;
291
+ font-weight: bold;
292
+ padding-right: 20px;
293
+ color: #000;
294
+ }
295
+
296
+ .content-header-bar a:hover
297
+ {
298
+ color: #aaa;
299
+ }
300
+
301
+ .content-header-bar .current
302
+ {
303
+ color: #a00;
304
+ }
305
+
306
+ .action-button, .action-button:link, .action-button:active, .action-button:visited, .action-button:hover {
307
+ /* styling */
308
+ border: 1px solid #003399;
309
+
310
+ -moz-border-radius: 4px;
311
+ -webkit-border-radius: 4px;
312
+ -khtml-border-radius: 4px;
313
+ border-radius: 4px;
314
+
315
+ -moz-background-clip: padding;
316
+ -webkit-background-clip: padding-box;
317
+ background-clip: padding-box;
318
+
319
+ background-color: #4B92B6;
320
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#4B92B6), to(#006699)); /* Saf4+, Chrome */
321
+ background-image: -webkit-linear-gradient(top, #4B92B6, #006699); /* Chrome 10+, Saf5.1+ */
322
+ background-image: -moz-linear-gradient(top, #4B92B6, #006699); /* FF3.6 */
323
+ background-image: -ms-linear-gradient(top, #4B92B6, #006699); /* IE10 */
324
+ background-image: -o-linear-gradient(top, #4B92B6, #006699); /* Opera 11.10+ */
325
+ background-image: linear-gradient(top, #4B92B6, #006699);
326
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#4B92B6', EndColorStr='#006699');
327
+
328
+ /* dimensions */
329
+ padding: 8px 12px;
330
+ margin: 0;
331
+ display: block;
332
+
333
+ /* text formatting */
334
+ color: #fff !important;
335
+ font-weight: bold;
336
+ font-size: 9pt;
337
+ text-align: center;
338
+ text-transform: uppercase;
339
+ }
340
+
341
+
342
+ /**
343
+ * Non-semantic helper classes: please define your styles before this section.
344
+ */
345
+
346
+ /* For image replacement */
347
+ .ir { display: block; text-indent: -999em; overflow: hidden; background-repeat: no-repeat; text-align: left; direction: ltr; }
348
+ .ir br { display: none; }
349
+
350
+ /* Hide for both screenreaders and browsers:
351
+ css-discuss.incutio.com/wiki/Screenreader_Visibility */
352
+ .hidden { display: none; visibility: hidden; }
353
+
354
+ /* Hide only visually, but have it available for screenreaders: by Jon Neal.
355
+ www.webaim.org/techniques/css/invisiblecontent/ & j.mp/visuallyhidden */
356
+ .visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
357
+ /* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: drupal.org/node/897638 */
358
+ .visuallyhidden.focusable:active,
359
+ .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
360
+
361
+ /* Hide visually and from screenreaders, but maintain layout */
362
+ .invisible { visibility: hidden; }
363
+
364
+ /* The Magnificent Clearfix: Updated to prevent margin-collapsing on child elements in most situations.
365
+ nicolasgallagher.com/micro-clearfix-hack/ */
366
+ .clearfix:before, .clearfix:after { content: ""; display: table; }
367
+ .clearfix:after { clear: both; }
368
+ .clearfix { zoom: 1; }
369
+
370
+
371
+
372
+ /**
373
+ * Placeholder media queries for responsive design. Modify as design requires.
374
+ * These follow after, and will override, the primary ('mobile first') styles
375
+ * The closing /mediaquery comment is required by respond.js min/max-width Media Query polyfill
376
+ */
377
+
378
+ @media only screen and (min-width: 480px) {
379
+ /* Style adjustments for viewports 480px and over go here */
380
+
381
+ }/*/mediaquery*/
382
+
383
+ @media only screen and (min-width: 768px) {
384
+ /* Style adjustments for viewports 768px and over go here */
385
+
386
+ }/*/mediaquery*/
387
+
388
+
389
+
390
+ /**
391
+ * Print styles.
392
+ *
393
+ * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
394
+ */
395
+ @media print {
396
+ * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important;
397
+ -ms-filter: none !important; } /* Black prints faster: sanbeiji.com/archives/953 */
398
+ a, a:visited { color: #444 !important; text-decoration: underline; }
399
+ a[href]:after { content: " (" attr(href) ")"; }
400
+ abbr[title]:after { content: " (" attr(title) ")"; }
401
+ .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } /* Don't show links for images, or javascript/internal links */
402
+ pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
403
+ thead { display: table-header-group; } /* css-discuss.incutio.com/wiki/Printing_Tables */
404
+ tr, img { page-break-inside: avoid; }
405
+ img { max-width: 100% !important; }
406
+ @page { margin: 0.5cm; }
407
+ p, h2, h3 { orphans: 3; widows: 3; }
408
+ h2, h3{ page-break-after: avoid; }
409
+ }