socializer 0.1.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.editorconfig +11 -0
- data/.gitignore +29 -0
- data/.rubocop.yml +42 -0
- data/.travis.yml +13 -0
- data/CONTRIBUTING.md +46 -0
- data/Gemfile +31 -0
- data/README.md +91 -0
- data/Rakefile +38 -0
- data/app/assets/images/socializer/.gitkeep +0 -0
- data/app/assets/images/socializer/auth_buttons/facebook_128.png +0 -0
- data/app/assets/images/socializer/auth_buttons/facebook_256.png +0 -0
- data/app/assets/images/socializer/auth_buttons/facebook_32.png +0 -0
- data/app/assets/images/socializer/auth_buttons/facebook_64.png +0 -0
- data/app/assets/images/socializer/auth_buttons/google_128.png +0 -0
- data/app/assets/images/socializer/auth_buttons/google_256.png +0 -0
- data/app/assets/images/socializer/auth_buttons/google_32.png +0 -0
- data/app/assets/images/socializer/auth_buttons/google_64.png +0 -0
- data/app/assets/images/socializer/auth_buttons/linkedin_128.png +0 -0
- data/app/assets/images/socializer/auth_buttons/linkedin_256.png +0 -0
- data/app/assets/images/socializer/auth_buttons/linkedin_32.png +0 -0
- data/app/assets/images/socializer/auth_buttons/linkedin_64.png +0 -0
- data/app/assets/images/socializer/auth_buttons/twitter_128.png +0 -0
- data/app/assets/images/socializer/auth_buttons/twitter_256.png +0 -0
- data/app/assets/images/socializer/auth_buttons/twitter_32.png +0 -0
- data/app/assets/images/socializer/auth_buttons/twitter_64.png +0 -0
- data/app/assets/images/socializer/auth_buttons/yahoo_128.png +0 -0
- data/app/assets/images/socializer/auth_buttons/yahoo_256.png +0 -0
- data/app/assets/images/socializer/auth_buttons/yahoo_32.png +0 -0
- data/app/assets/images/socializer/auth_buttons/yahoo_64.png +0 -0
- data/app/assets/images/socializer/close.png +0 -0
- data/app/assets/images/socializer/icons/Bell.png +0 -0
- data/app/assets/images/socializer/icons/Edit.png +0 -0
- data/app/assets/images/socializer/icons/Home.png +0 -0
- data/app/assets/images/socializer/icons/Power.png +0 -0
- data/app/assets/images/socializer/icons/Safe.png +0 -0
- data/app/assets/images/socializer/icons/User.png +0 -0
- data/app/assets/images/socializer/icons/Users.png +0 -0
- data/app/assets/images/socializer/icons/Web.png +0 -0
- data/app/assets/images/socializer/loading.gif +0 -0
- data/app/assets/images/socializer/next.png +0 -0
- data/app/assets/images/socializer/pause.png +0 -0
- data/app/assets/images/socializer/play.png +0 -0
- data/app/assets/images/socializer/previous.png +0 -0
- data/app/assets/javascripts/socializer/activities.js.coffee +47 -0
- data/app/assets/javascripts/socializer/application.js +24 -0
- data/app/assets/javascripts/socializer/circles.js.coffee +33 -0
- data/app/assets/javascripts/socializer/jquery.qtip.min.js +7 -0
- data/app/assets/javascripts/socializer/jquery.tokeninput.js +862 -0
- data/app/assets/javascripts/socializer/notes.js.coffee +38 -0
- data/app/assets/javascripts/socializer/people.js.coffee +7 -0
- data/app/assets/javascripts/socializer/shares.js.coffee +8 -0
- data/app/assets/stylesheets/socializer/activities.css +84 -0
- data/app/assets/stylesheets/socializer/application.css +409 -0
- data/app/assets/stylesheets/socializer/authentications.css +4 -0
- data/app/assets/stylesheets/socializer/circles.css +74 -0
- data/app/assets/stylesheets/socializer/comments.css +4 -0
- data/app/assets/stylesheets/socializer/groups.css +61 -0
- data/app/assets/stylesheets/socializer/jquery.qtip.min.css +2 -0
- data/app/assets/stylesheets/socializer/likes.css +4 -0
- data/app/assets/stylesheets/socializer/memberships.css +4 -0
- data/app/assets/stylesheets/socializer/notes.css +21 -0
- data/app/assets/stylesheets/socializer/notifications.css +46 -0
- data/app/assets/stylesheets/socializer/pages.css +4 -0
- data/app/assets/stylesheets/socializer/persons.css +25 -0
- data/app/assets/stylesheets/socializer/sessions.css +4 -0
- data/app/assets/stylesheets/socializer/shares.css.scss +3 -0
- data/app/assets/stylesheets/socializer/ties.css +4 -0
- data/app/assets/stylesheets/socializer/token-input.css +183 -0
- data/app/controllers/socializer/activities_controller.rb +84 -0
- data/app/controllers/socializer/application_controller.rb +37 -0
- data/app/controllers/socializer/audiences_controller.rb +30 -0
- data/app/controllers/socializer/authentications_controller.rb +13 -0
- data/app/controllers/socializer/circles_controller.rb +54 -0
- data/app/controllers/socializer/comments_controller.rb +37 -0
- data/app/controllers/socializer/groups_controller.rb +70 -0
- data/app/controllers/socializer/likes_controller.rb +50 -0
- data/app/controllers/socializer/memberships_controller.rb +46 -0
- data/app/controllers/socializer/notes_controller.rb +43 -0
- data/app/controllers/socializer/notifications_controller.rb +29 -0
- data/app/controllers/socializer/pages_controller.rb +7 -0
- data/app/controllers/socializer/people_controller.rb +37 -0
- data/app/controllers/socializer/person_addresses_controller.rb +27 -0
- data/app/controllers/socializer/person_contributions_controller.rb +27 -0
- data/app/controllers/socializer/person_educations_controller.rb +27 -0
- data/app/controllers/socializer/person_employments_controller.rb +27 -0
- data/app/controllers/socializer/person_links_controller.rb +27 -0
- data/app/controllers/socializer/person_phones_controller.rb +27 -0
- data/app/controllers/socializer/person_places_controller.rb +27 -0
- data/app/controllers/socializer/person_profiles_controller.rb +27 -0
- data/app/controllers/socializer/sessions_controller.rb +37 -0
- data/app/controllers/socializer/shares_controller.rb +54 -0
- data/app/controllers/socializer/ties_controller.rb +16 -0
- data/app/helpers/socializer/application_helper.rb +22 -0
- data/app/models/concerns/socializer/object_type_base.rb +58 -0
- data/app/models/socializer/activity.rb +162 -0
- data/app/models/socializer/activity_field.rb +10 -0
- data/app/models/socializer/activity_object.rb +118 -0
- data/app/models/socializer/audience.rb +19 -0
- data/app/models/socializer/authentication.rb +20 -0
- data/app/models/socializer/circle.rb +32 -0
- data/app/models/socializer/comment.rb +13 -0
- data/app/models/socializer/group.rb +100 -0
- data/app/models/socializer/group_category.rb +11 -0
- data/app/models/socializer/group_link.rb +12 -0
- data/app/models/socializer/identity.rb +9 -0
- data/app/models/socializer/membership.rb +24 -0
- data/app/models/socializer/note.rb +13 -0
- data/app/models/socializer/notification.rb +16 -0
- data/app/models/socializer/person.rb +129 -0
- data/app/models/socializer/person_address.rb +12 -0
- data/app/models/socializer/person_contribution.rb +12 -0
- data/app/models/socializer/person_education.rb +8 -0
- data/app/models/socializer/person_employment.rb +8 -0
- data/app/models/socializer/person_link.rb +12 -0
- data/app/models/socializer/person_phone.rb +16 -0
- data/app/models/socializer/person_place.rb +11 -0
- data/app/models/socializer/person_profile.rb +12 -0
- data/app/models/socializer/tie.rb +12 -0
- data/app/models/socializer/verb.rb +9 -0
- data/app/views/layouts/socializer/_header.html.erb +11 -0
- data/app/views/layouts/socializer/application.html.erb +60 -0
- data/app/views/socializer/activities/_activity.html.erb +23 -0
- data/app/views/socializer/activities/_activity_bottom.html.erb +55 -0
- data/app/views/socializer/activities/_activity_content.html.erb +19 -0
- data/app/views/socializer/activities/_activity_top.html.erb +22 -0
- data/app/views/socializer/activities/_stream_card.html.erb +6 -0
- data/app/views/socializer/activities/_stream_list.html.erb +16 -0
- data/app/views/socializer/activities/audience.html.erb +19 -0
- data/app/views/socializer/activities/destroy.js.erb +3 -0
- data/app/views/socializer/activities/edit.html.erb +0 -0
- data/app/views/socializer/activities/index.html.erb +15 -0
- data/app/views/socializer/authentications/_form.html.erb +0 -0
- data/app/views/socializer/authentications/_menu.html.erb +5 -0
- data/app/views/socializer/authentications/index.html.erb +8 -0
- data/app/views/socializer/authentications/new.html.erb +8 -0
- data/app/views/socializer/circles/_card.html.erb +7 -0
- data/app/views/socializer/circles/_circles.html.erb +6 -0
- data/app/views/socializer/circles/_form.html.erb +6 -0
- data/app/views/socializer/circles/_menu.html.erb +7 -0
- data/app/views/socializer/circles/contact_of.html.erb +7 -0
- data/app/views/socializer/circles/contacts.html.erb +7 -0
- data/app/views/socializer/circles/edit.html.erb +1 -0
- data/app/views/socializer/circles/find_people.html.erb +7 -0
- data/app/views/socializer/circles/index.html.erb +6 -0
- data/app/views/socializer/circles/new.html.erb +1 -0
- data/app/views/socializer/circles/show.html.erb +10 -0
- data/app/views/socializer/comments/_form.html.erb +8 -0
- data/app/views/socializer/comments/edit.html.erb +1 -0
- data/app/views/socializer/comments/new.html.erb +1 -0
- data/app/views/socializer/groups/_card.html.erb +6 -0
- data/app/views/socializer/groups/_form.html.erb +6 -0
- data/app/views/socializer/groups/_menu.html.erb +10 -0
- data/app/views/socializer/groups/edit.html.erb +1 -0
- data/app/views/socializer/groups/index.html.erb +0 -0
- data/app/views/socializer/groups/joinable.html.erb +16 -0
- data/app/views/socializer/groups/memberships.html.erb +19 -0
- data/app/views/socializer/groups/new.html.erb +1 -0
- data/app/views/socializer/groups/ownerships.html.erb +20 -0
- data/app/views/socializer/groups/pending_invites.html.erb +20 -0
- data/app/views/socializer/groups/public.html.erb +16 -0
- data/app/views/socializer/groups/restricted.html.erb +16 -0
- data/app/views/socializer/groups/show.html.erb +29 -0
- data/app/views/socializer/likes/create.js.erb +2 -0
- data/app/views/socializer/likes/destroy.js.erb +2 -0
- data/app/views/socializer/likes/index.html.erb +5 -0
- data/app/views/socializer/notes/_form.html.erb +7 -0
- data/app/views/socializer/notes/create.js.erb +10 -0
- data/app/views/socializer/notes/destroy.js.erb +3 -0
- data/app/views/socializer/notes/edit.html.erb +1 -0
- data/app/views/socializer/notes/new.html.erb +2 -0
- data/app/views/socializer/notifications/index.html.erb +35 -0
- data/app/views/socializer/pages/index.html.erb +2 -0
- data/app/views/socializer/people/_card.html.erb +15 -0
- data/app/views/socializer/people/_form.html.erb +30 -0
- data/app/views/socializer/people/_login.html.erb +14 -0
- data/app/views/socializer/people/_menu.html.erb +9 -0
- data/app/views/socializer/people/edit.html.erb +2 -0
- data/app/views/socializer/people/index.html.erb +5 -0
- data/app/views/socializer/people/likes.html.erb +6 -0
- data/app/views/socializer/people/message.html.erb +5 -0
- data/app/views/socializer/people/show.html.erb +122 -0
- data/app/views/socializer/person_addresses/_form.html.erb +12 -0
- data/app/views/socializer/person_contributions/_form.html.erb +7 -0
- data/app/views/socializer/person_educations/_form.html.erb +10 -0
- data/app/views/socializer/person_employments/_form.html.erb +10 -0
- data/app/views/socializer/person_links/_form.html.erb +6 -0
- data/app/views/socializer/person_phones/_form.html.erb +6 -0
- data/app/views/socializer/person_places/_form.html.erb +6 -0
- data/app/views/socializer/person_profiles/_form.html.erb +6 -0
- data/app/views/socializer/shares/_form.html.erb +19 -0
- data/app/views/socializer/shares/new.html.erb +1 -0
- data/config.ru +4 -0
- data/config/cucumber.yml +8 -0
- data/config/initializers/inflections.rb +3 -0
- data/config/locales/en.yml +108 -0
- data/config/locales/fr.yml +329 -0
- data/config/rails_best_practices.yml +41 -0
- data/config/routes.rb +71 -0
- data/db/migrate/20110804175740_create_socializer_activity_objects.rb +14 -0
- data/db/migrate/20110804180557_create_socializer_people.rb +31 -0
- data/db/migrate/20110804184415_create_socializer_notes.rb +12 -0
- data/db/migrate/20110804192211_create_socializer_authentications.rb +12 -0
- data/db/migrate/20110805085417_create_socializer_circles.rb +14 -0
- data/db/migrate/20110805090617_create_socializer_activities.rb +17 -0
- data/db/migrate/20110805092635_create_socializer_audiences.rb +14 -0
- data/db/migrate/20110805094846_create_socializer_comments.rb +12 -0
- data/db/migrate/20110805121454_create_socializer_groups.rb +19 -0
- data/db/migrate/20110805121543_create_socializer_memberships.rb +14 -0
- data/db/migrate/20110805125606_create_socializer_ties.rb +13 -0
- data/db/migrate/20111207234435_create_socializer_identities.rb +12 -0
- data/db/migrate/20130524000429_create_socializer_verbs.rb +10 -0
- data/db/migrate/20130528143831_create_socializer_activity_fields.rb +10 -0
- data/db/migrate/20140128235250_create_socializer_notifications.rb +11 -0
- data/db/migrate/20140131065531_create_socializer_person_employments.rb +15 -0
- data/db/migrate/20140131065733_create_socializer_person_educations.rb +15 -0
- data/db/migrate/20140131065836_create_socializer_person_places.rb +11 -0
- data/db/migrate/20140131070051_create_socializer_person_contributions.rb +12 -0
- data/db/migrate/20140131070232_create_socializer_person_links.rb +11 -0
- data/db/migrate/20140131070259_create_socializer_person_profiles.rb +11 -0
- data/db/migrate/20140131070417_create_socializer_person_phones.rb +12 -0
- data/db/migrate/20140131070611_create_socializer_person_addresses.rb +17 -0
- data/db/migrate/20140131070839_create_socializer_group_links.rb +11 -0
- data/db/migrate/20140131070951_create_socializer_group_categories.rb +10 -0
- data/features/support/capybara.rb +14 -0
- data/features/support/env.rb +57 -0
- data/features/support/factory_girl.rb +1 -0
- data/lib/socializer.rb +4 -0
- data/lib/socializer/engine.rb +27 -0
- data/lib/socializer/version.rb +3 -0
- data/lib/tasks/cucumber.rake +65 -0
- data/lib/tasks/socializer_tasks.rake +4 -0
- data/script/cucumber +10 -0
- data/socializer.gemspec +49 -0
- data/spec/controllers/socializer/likes_controller_spec.rb +29 -0
- data/spec/controllers/socializer/shares_controller_spec.rb +22 -0
- data/spec/factories/socializer_activities.rb +11 -0
- data/spec/factories/socializer_activity_fields.rb +8 -0
- data/spec/factories/socializer_activity_objects.rb +7 -0
- data/spec/factories/socializer_audiences.rb +9 -0
- data/spec/factories/socializer_authentications.rb +6 -0
- data/spec/factories/socializer_circles.rb +9 -0
- data/spec/factories/socializer_comments.rb +6 -0
- data/spec/factories/socializer_group_categories.rb +8 -0
- data/spec/factories/socializer_group_links.rb +9 -0
- data/spec/factories/socializer_groups.rb +9 -0
- data/spec/factories/socializer_identities.rb +10 -0
- data/spec/factories/socializer_memberships.rb +6 -0
- data/spec/factories/socializer_notes.rb +7 -0
- data/spec/factories/socializer_notifications.rb +10 -0
- data/spec/factories/socializer_people.rb +7 -0
- data/spec/factories/socializer_person_addresses.rb +8 -0
- data/spec/factories/socializer_person_contributions.rb +9 -0
- data/spec/factories/socializer_person_educations.rb +7 -0
- data/spec/factories/socializer_person_employments.rb +7 -0
- data/spec/factories/socializer_person_links.rb +9 -0
- data/spec/factories/socializer_person_phones.rb +9 -0
- data/spec/factories/socializer_person_places.rb +8 -0
- data/spec/factories/socializer_person_profiles.rb +9 -0
- data/spec/factories/socializer_ties.rb +6 -0
- data/spec/factories/socializer_verbs.rb +7 -0
- data/spec/inflector_spec.rb +19 -0
- data/spec/models/socializer/activity_field_spec.rb +25 -0
- data/spec/models/socializer/activity_object_spec.rb +118 -0
- data/spec/models/socializer/activity_spec.rb +16 -0
- data/spec/models/socializer/audience_spec.rb +32 -0
- data/spec/models/socializer/authentication_spec.rb +29 -0
- data/spec/models/socializer/circle_spec.rb +53 -0
- data/spec/models/socializer/comment_spec.rb +19 -0
- data/spec/models/socializer/group_category_spec.rb +23 -0
- data/spec/models/socializer/group_link_spec.rb +25 -0
- data/spec/models/socializer/group_spec.rb +218 -0
- data/spec/models/socializer/identity_spec.rb +32 -0
- data/spec/models/socializer/membership_spec.rb +68 -0
- data/spec/models/socializer/note_spec.rb +19 -0
- data/spec/models/socializer/notification_spec.rb +28 -0
- data/spec/models/socializer/person_address_spec.rb +27 -0
- data/spec/models/socializer/person_contribution_spec.rb +27 -0
- data/spec/models/socializer/person_education_spec.rb +25 -0
- data/spec/models/socializer/person_employment_spec.rb +25 -0
- data/spec/models/socializer/person_link_spec.rb +26 -0
- data/spec/models/socializer/person_phone_spec.rb +28 -0
- data/spec/models/socializer/person_place_spec.rb +25 -0
- data/spec/models/socializer/person_profile_spec.rb +26 -0
- data/spec/models/socializer/person_spec.rb +105 -0
- data/spec/models/socializer/tie_spec.rb +24 -0
- data/spec/models/socializer/verb_spec.rb +24 -0
- data/spec/spec_helper.rb +84 -0
- data/vendor/assets/javascripts/moment/langs.js +5841 -0
- data/vendor/assets/javascripts/moment/moment.js +2400 -0
- 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
|
+
}
|