social_stream 2.0.3 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/base/app/assets/javascripts/social_stream-base.js +1 -0
- data/base/app/assets/javascripts/social_stream/relation_customs.js +2 -1
- data/base/app/assets/stylesheets/social_stream-base.css.sass +1 -0
- data/base/app/assets/stylesheets/social_stream/base/adjust/_adjust.css.sass +1 -4
- data/base/app/assets/stylesheets/social_stream/base/contacts/layouts/_contacts.css.sass +2 -0
- data/base/app/assets/stylesheets/social_stream/base/frontpage_devise/_frontpage.css.sass +1 -0
- data/base/app/assets/stylesheets/social_stream/base/logo/_logo-in.css +8 -7
- data/base/app/assets/stylesheets/social_stream/base/modals/layout/_modals.css.sass +4 -1
- data/base/app/assets/stylesheets/social_stream/base/profile/layout/_profile.css.sass +7 -6
- data/base/app/assets/stylesheets/social_stream/base/timeline/_wrapper_activities.css.sass +14 -6
- data/base/app/assets/stylesheets/social_stream/base/timeline/layout/_wrapper_activities.css.sass +1 -4
- data/base/app/views/layouts/_header_dropdown_menu.html.erb +3 -3
- data/base/app/views/layouts/application.html.erb +3 -3
- data/base/app/views/profiles/_personal.html.erb +16 -10
- data/base/app/views/profiles/_tags.html.erb +1 -1
- data/base/app/views/relation/customs/_index.html.erb +18 -0
- data/base/app/views/relation/customs/_list.html.erb +2 -1
- data/base/app/views/relation/customs/index.html.erb +2 -16
- data/base/config/locales/en.yml +5 -1
- data/base/config/locales/es.yml +4 -2
- data/base/config/locales/pt.yml +7 -3
- data/base/config/locales/zh.yml +5 -2
- data/base/lib/inherited_resources/social_stream.rb +11 -14
- data/base/lib/social_stream/base/engine.rb +1 -1
- data/base/lib/social_stream/base/version.rb +1 -1
- data/base/lib/social_stream/controllers/objects.rb +2 -4
- data/base/social_stream-base.gemspec +2 -2
- data/base/vendor/assets/javascripts/bootstrap-modal.js +1 -0
- data/base/vendor/assets/javascripts/bootstrap-scroll-modal.js +276 -0
- data/base/vendor/assets/stylesheets/bootstrap-scroll-modal.css +70 -0
- data/documents/app/views/common_documents/_new_button.html.erb +1 -1
- data/documents/lib/social_stream/documents/version.rb +1 -1
- data/documents/social_stream-documents.gemspec +1 -1
- data/events/app/assets/javascripts/social_stream/calendar.js.erb +1 -1
- data/events/app/assets/stylesheets/social_stream/events/calendar/_calendar.css.sass +0 -5
- data/events/app/assets/stylesheets/social_stream/events/calendar/_calendar_modal.css.sass +11 -3
- data/events/app/views/events/_new.html.erb +7 -4
- data/events/lib/social_stream/events/version.rb +1 -1
- data/events/social_stream-events.gemspec +1 -1
- data/lib/social_stream/version.rb +1 -1
- data/oauth2_server/app/assets/images/step_1.png +0 -0
- data/oauth2_server/app/assets/images/step_2.png +0 -0
- data/oauth2_server/app/assets/stylesheets/social_stream-oauth2_server.css.sass +2 -0
- data/oauth2_server/app/assets/stylesheets/social_stream/oauth2_server/applications/_applications-oauth2server.css.sass +47 -32
- data/oauth2_server/app/assets/stylesheets/social_stream/oauth2_server/create/layout/_create-oauth2server.css.sass +15 -1
- data/oauth2_server/app/assets/stylesheets/social_stream/oauth2_server/mixins/_mixins.css.sass +5 -0
- data/oauth2_server/app/assets/stylesheets/social_stream/oauth2_server/show/_show-oauth2server.css.sass +13 -16
- data/oauth2_server/app/assets/stylesheets/social_stream/oauth2_server/show/layout/_show-oauth2server.css.sass +55 -34
- data/oauth2_server/app/controllers/site/clients_controller.rb +18 -0
- data/oauth2_server/app/decorators/social_stream/base/user_decorator.rb +17 -0
- data/oauth2_server/app/decorators/social_stream/base/users_controller_decorator.rb +8 -0
- data/oauth2_server/app/models/oauth2_token.rb +1 -1
- data/oauth2_server/app/overrides/layouts/_header_dropdown_menu/applications_entry.html.erb.deface +1 -1
- data/oauth2_server/app/views/site/clients/_form.html.erb +38 -38
- data/oauth2_server/app/views/site/clients/_form_step1.html.erb +7 -0
- data/oauth2_server/app/views/site/clients/_form_step2.html.erb +20 -0
- data/oauth2_server/app/views/site/clients/_list.html.erb +24 -0
- data/oauth2_server/app/views/site/clients/edit.html.erb +14 -0
- data/oauth2_server/app/views/site/clients/index.html.erb +44 -27
- data/oauth2_server/app/views/site/clients/new.html.erb +2 -2
- data/oauth2_server/app/views/site/clients/show.html.erb +104 -42
- data/oauth2_server/config/locales/en.yml +7 -0
- data/oauth2_server/config/locales/es.yml +7 -0
- data/oauth2_server/lib/social_stream/oauth2_server/token_endpoint.rb +23 -22
- data/oauth2_server/lib/social_stream/oauth2_server/version.rb +1 -1
- data/oauth2_server/social_stream-oauth2_server.gemspec +1 -1
- data/presence/app/assets/stylesheets/social_stream/presence/_wrapper-chatBox.css.sass +1 -0
- data/presence/lib/social_stream/presence/version.rb +1 -1
- data/presence/social_stream-presence.gemspec +1 -1
- data/social_stream.gemspec +5 -5
- data/spec/dummy/config/initializers/devise.rb +1 -1
- metadata +24 -17
- data/contacts/_contacts.css.sass +0 -64
- data/contacts/layouts/_contacts.css.sass +0 -177
- data/contacts/responsive/_responsive-1200px-min.css.sass +0 -29
- data/contacts/responsive/_responsive-767px-max.css.sass +0 -88
- data/contacts/responsive/_responsive-768px-979px.css.sass +0 -14
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f0db077c1e603d3899591dea35f043c8aa3d91df
|
|
4
|
+
data.tar.gz: 0c2b036ffe855298d2a8ebbdc75e6a5534f38459
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: efba25852f05c3076943c393eaffbae7891aff2db73f40c4c25a5cae8cb3d37d40373be95bb056437392e458ca1d293f91918d7bb519b3023c60aecb3a73b8bc
|
|
7
|
+
data.tar.gz: 06b33c37329c16de1d5fd01ad27516beb74a19f5ccf207db288503cf0b4f2dce2256db8708e68f779141fc1152ece372ab6d7c2f8072459ebaf3755048ad69cc
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
//= require social_stream/callback
|
|
2
|
+
|
|
2
3
|
SocialStream.RelationCustom = (function(SS, $, undefined){
|
|
3
4
|
var callback = new SS.Callback();
|
|
4
5
|
|
|
5
6
|
var getListEl = function() {
|
|
6
|
-
return $('
|
|
7
|
+
return $('.relation_list');
|
|
7
8
|
};
|
|
8
9
|
|
|
9
10
|
var getPermissionsPath = function() {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
.logo-header-in .cube {
|
|
2
2
|
position:relative;
|
|
3
|
-
left: -
|
|
3
|
+
left: -44px;
|
|
4
|
+
margin-top: 7px;
|
|
4
5
|
z-index: 2;
|
|
5
6
|
float: left;
|
|
6
|
-
-webkit-transform: rotate(
|
|
7
|
-
-moz-transform: rotate(
|
|
7
|
+
-webkit-transform: rotate(6deg);
|
|
8
|
+
-moz-transform: rotate(6deg);
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
.logo-header-in .cube:hover {
|
|
@@ -12,20 +13,20 @@
|
|
|
12
13
|
-moz-animation: float 2s infinite ease-in-out;
|
|
13
14
|
-o-animation: float 2s infinite ease-in-out;
|
|
14
15
|
animation: float 2s infinite ease-in-out;
|
|
15
|
-
|
|
16
|
-
-
|
|
16
|
+
|
|
17
|
+
margin-top: 4px;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
@-webkit-keyframes float {
|
|
20
21
|
0% {
|
|
21
|
-
-webkit-transform: translate(0px,
|
|
22
|
+
-webkit-transform: translate(0px, 2px);
|
|
22
23
|
}
|
|
23
24
|
50% {
|
|
24
25
|
-webkit-transform: translate(0px, 0px);
|
|
25
26
|
|
|
26
27
|
}
|
|
27
28
|
100% {
|
|
28
|
-
-webkit-transform: translate(0px,
|
|
29
|
+
-webkit-transform: translate(0px, 2px);
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
32
|
|
|
@@ -32,4 +32,7 @@
|
|
|
32
32
|
padding-bottom: 50px
|
|
33
33
|
.select2-container-multi
|
|
34
34
|
.select2-choices
|
|
35
|
-
@include gradient-directional($startColor: #f9f9f9, $endColor: #f1f1f1, $deg: 45deg)
|
|
35
|
+
@include gradient-directional($startColor: #f9f9f9, $endColor: #f1f1f1, $deg: 45deg)
|
|
36
|
+
.modal-wrapper
|
|
37
|
+
.modal
|
|
38
|
+
min-height: 600px
|
|
@@ -32,13 +32,15 @@
|
|
|
32
32
|
@include grid-core-span(12, $fluidGridColumnWidth, $fluidGridGutterWidth)
|
|
33
33
|
background-color: $white
|
|
34
34
|
margin-left: 0px
|
|
35
|
-
padding: 12px 0px
|
|
35
|
+
padding: 12px 0px 32px 0px !important
|
|
36
36
|
form.edit_profile
|
|
37
37
|
padding: 0 14px
|
|
38
38
|
input
|
|
39
39
|
&[type="submit"]
|
|
40
|
+
@include btn-primary
|
|
41
|
+
@include border-radius(5px)
|
|
40
42
|
float: right
|
|
41
|
-
margin-top:
|
|
43
|
+
margin-top: 10px
|
|
42
44
|
margin-right: 9px
|
|
43
45
|
|
|
44
46
|
|
|
@@ -99,14 +101,13 @@
|
|
|
99
101
|
.update
|
|
100
102
|
.jcrop-holder
|
|
101
103
|
width: 100% !important
|
|
104
|
+
background: $black
|
|
102
105
|
div
|
|
103
106
|
img
|
|
104
|
-
max-width: 90%
|
|
105
|
-
max-height: 90%
|
|
106
107
|
margin: 0 auto
|
|
107
108
|
position: relative
|
|
108
109
|
div
|
|
109
|
-
|
|
110
|
-
|
|
110
|
+
overflow: hidden
|
|
111
|
+
|
|
111
112
|
|
|
112
113
|
|
|
@@ -64,12 +64,20 @@
|
|
|
64
64
|
.new_document
|
|
65
65
|
display: inline
|
|
66
66
|
padding: 1px 6px 4px 6px
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
67
|
+
|
|
68
|
+
.form-privacy
|
|
69
|
+
display: inline-block
|
|
70
|
+
@include btn-add
|
|
71
|
+
.btn-group
|
|
72
|
+
button
|
|
73
|
+
padding: 4px 12px 4px 8px
|
|
74
|
+
label
|
|
75
|
+
font-size: 14px
|
|
76
|
+
font-weight: bold
|
|
77
|
+
letter-spacing: 1px
|
|
78
|
+
line-height: 20px
|
|
79
|
+
color: #333
|
|
80
|
+
|
|
73
81
|
|
|
74
82
|
|
|
75
83
|
#post_text
|
data/base/app/assets/stylesheets/social_stream/base/timeline/layout/_wrapper_activities.css.sass
CHANGED
|
@@ -38,13 +38,10 @@
|
|
|
38
38
|
display: inline-block
|
|
39
39
|
.dropdown-menu
|
|
40
40
|
li
|
|
41
|
-
margin-left: 0px
|
|
42
|
-
padding-left: 7px
|
|
43
41
|
a
|
|
44
42
|
padding: 0px !important
|
|
45
43
|
label
|
|
46
|
-
margin-left:
|
|
47
|
-
padding: 0px 16px 0px 0px!important
|
|
44
|
+
margin-left: 7px
|
|
48
45
|
&:hover
|
|
49
46
|
background: $principalColor
|
|
50
47
|
color: $auxiliarColor
|
|
@@ -7,16 +7,16 @@
|
|
|
7
7
|
<ul class="dropdown-menu">
|
|
8
8
|
<%= render :partial => 'layouts/header_dropdown_menu_sessions'%>
|
|
9
9
|
|
|
10
|
-
<li>
|
|
10
|
+
<li class="notifications-menu">
|
|
11
11
|
<%= link_to t('dropdown.notifications'), notifications_path, :id => "btn_menu_settings" %>
|
|
12
12
|
</li>
|
|
13
13
|
|
|
14
|
-
<li>
|
|
14
|
+
<li class="settings-menu">
|
|
15
15
|
<%= link_to t('dropdown.settings'), settings_path, :id => "btn_menu_settings" %>
|
|
16
16
|
</li>
|
|
17
17
|
|
|
18
18
|
<% if SocialStream.relation_model == :custom %>
|
|
19
|
-
<li>
|
|
19
|
+
<li class="privacity-menu">
|
|
20
20
|
<%= link_to t('dropdown.privacy'), relation_customs_path %>
|
|
21
21
|
</li>
|
|
22
22
|
<% end %>
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
<html lang="<%= I18n.locale.to_s %>">
|
|
4
4
|
<head>
|
|
5
5
|
<meta charset="utf-8">
|
|
6
|
-
<title><%=
|
|
7
|
-
<meta name="keywords" content="<%=
|
|
8
|
-
<meta name="description" content= "<%=
|
|
6
|
+
<title><%= content_for?(:title) ? yield(:title) : t('site.current.title') %></title>
|
|
7
|
+
<meta name="keywords" content="<%= content_for?(:keywords) ? yield(:keywords) : t('site.current.keywords') %>" >
|
|
8
|
+
<meta name="description" content= "<%= content_for?(:description) ? yield(:description) : t('site.current.description') %>" >
|
|
9
9
|
<meta name="generator" content="Social Stream" />
|
|
10
10
|
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" />
|
|
11
11
|
|
|
@@ -7,6 +7,15 @@
|
|
|
7
7
|
</header>
|
|
8
8
|
<div class="briefing">
|
|
9
9
|
<% if @profile.personal_present? %>
|
|
10
|
+
<% if @profile.description? %>
|
|
11
|
+
<h5>
|
|
12
|
+
<%= t("profile.#{ @profile.subject.class.to_s.downcase }.about") %>:
|
|
13
|
+
</h5>
|
|
14
|
+
|
|
15
|
+
<%= simple_format @profile.description %>
|
|
16
|
+
<% end %>
|
|
17
|
+
|
|
18
|
+
|
|
10
19
|
<% if @profile.organization? %>
|
|
11
20
|
<h5>
|
|
12
21
|
<%= t('profile.organization') %>
|
|
@@ -50,13 +59,7 @@
|
|
|
50
59
|
</p>
|
|
51
60
|
<% end %>
|
|
52
61
|
|
|
53
|
-
|
|
54
|
-
<h5>
|
|
55
|
-
<%= t("profile.#{ @profile.subject.class.to_s.downcase }.about") %>:
|
|
56
|
-
</h5>
|
|
57
|
-
|
|
58
|
-
<%= simple_format @profile.description %>
|
|
59
|
-
<% end %>
|
|
62
|
+
|
|
60
63
|
|
|
61
64
|
<% else %>
|
|
62
65
|
<%= render partial: 'empty' %>
|
|
@@ -72,6 +75,12 @@
|
|
|
72
75
|
</h6>
|
|
73
76
|
|
|
74
77
|
<%= f.text_field :name, :class => "required" %>
|
|
78
|
+
|
|
79
|
+
<h6>
|
|
80
|
+
<%= f.label :description, t("profile.#{ current_subject.class.to_s.downcase }.about") %>
|
|
81
|
+
</h6>
|
|
82
|
+
|
|
83
|
+
<%= f.text_area :description, :maxlength => 200, :rows => 10 %>
|
|
75
84
|
|
|
76
85
|
<h6>
|
|
77
86
|
<%= f.label :organization, t('profile.organization') %>
|
|
@@ -93,9 +102,6 @@
|
|
|
93
102
|
|
|
94
103
|
<%= f.text_field :country %>
|
|
95
104
|
|
|
96
|
-
<%= f.label :description, t("profile.#{ current_subject.class.to_s.downcase }.about") %>
|
|
97
|
-
|
|
98
|
-
<%= f.text_area :description, :maxlength => 200, :rows => 10 %>
|
|
99
105
|
<p>
|
|
100
106
|
<%= t('required') %>
|
|
101
107
|
</p>
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<div class="update">
|
|
17
17
|
<%= form_for(@profile, :url => [ @profile.subject, :profile ]) do |f| %>
|
|
18
18
|
<%= f.text_field :tag_list, "data-path" => tags_path(format: :json) %>
|
|
19
|
-
<%= f.submit
|
|
19
|
+
<%= f.submit %>
|
|
20
20
|
<% end %>
|
|
21
21
|
</div>
|
|
22
22
|
<% end %>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<%= render partial: 'relation/customs/list',
|
|
2
|
+
object: list %>
|
|
3
|
+
|
|
4
|
+
<div id="permissions">
|
|
5
|
+
<div class="postit rotate">
|
|
6
|
+
<span class="rotate-int">
|
|
7
|
+
<%= t 'permission.postit' %>
|
|
8
|
+
</span>
|
|
9
|
+
</div>
|
|
10
|
+
<%= render partial: 'layouts/loading' %>
|
|
11
|
+
</div>
|
|
12
|
+
|
|
13
|
+
<%= javascript_tag do %>
|
|
14
|
+
$(function() {
|
|
15
|
+
SocialStream.RelationCustom.index();
|
|
16
|
+
})
|
|
17
|
+
<% end %>
|
|
18
|
+
|
|
@@ -6,21 +6,7 @@
|
|
|
6
6
|
<%= t 'relation_custom.title' %>
|
|
7
7
|
</h2>
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
<div id="permissions">
|
|
12
|
-
<div class="postit rotate">
|
|
13
|
-
<span class="rotate-int">
|
|
14
|
-
<%= t 'permission.postit' %>
|
|
15
|
-
</span>
|
|
16
|
-
</div>
|
|
17
|
-
<%= render partial: 'layouts/loading' %>
|
|
18
|
-
</div>
|
|
19
|
-
|
|
20
|
-
<%= javascript_tag do %>
|
|
21
|
-
$(function() {
|
|
22
|
-
SocialStream.RelationCustom.index();
|
|
23
|
-
})
|
|
24
|
-
<% end %>
|
|
9
|
+
<%= render partial: 'relation/customs/index',
|
|
10
|
+
locals: { list: @customs } %>
|
|
25
11
|
</section>
|
|
26
12
|
</section>
|
data/base/config/locales/en.yml
CHANGED
|
@@ -266,7 +266,7 @@ en:
|
|
|
266
266
|
other: '%{count} followers'
|
|
267
267
|
forgot_password: Forgot you password?
|
|
268
268
|
frontpage:
|
|
269
|
-
main_title: Social Stream,
|
|
269
|
+
main_title: Social Stream, a framework for building distributed social network websites.
|
|
270
270
|
presentation:
|
|
271
271
|
modular:
|
|
272
272
|
header: Modular
|
|
@@ -610,6 +610,10 @@ en:
|
|
|
610
610
|
sign_out: Sign out
|
|
611
611
|
sign_up: Sign up
|
|
612
612
|
site:
|
|
613
|
+
current:
|
|
614
|
+
description: A framework for building distributed social network websites
|
|
615
|
+
keywords: social stream,social software,framework,ruby on rails
|
|
616
|
+
title: Social Stream
|
|
613
617
|
name: Social Stream
|
|
614
618
|
subject:
|
|
615
619
|
this_is_you: This is you!
|
data/base/config/locales/es.yml
CHANGED
|
@@ -267,8 +267,6 @@ es:
|
|
|
267
267
|
other: '%{count} seguidores'
|
|
268
268
|
forgot_password: ¿Olvidaste tu contraseña?
|
|
269
269
|
frontpage:
|
|
270
|
-
main_title: Social Stream, el núcleo para construir webs con características de
|
|
271
|
-
red social distribuída
|
|
272
270
|
presentation:
|
|
273
271
|
modular:
|
|
274
272
|
header: Modular
|
|
@@ -644,6 +642,10 @@ es:
|
|
|
644
642
|
sign_out: Salir
|
|
645
643
|
sign_up: Registrarse
|
|
646
644
|
site:
|
|
645
|
+
current:
|
|
646
|
+
description: Un marco para construir para construir webs con características de red social distribuída
|
|
647
|
+
keywords: social stream,social software,framework,ruby on rails
|
|
648
|
+
title: Social Stream
|
|
647
649
|
name: Social Stream
|
|
648
650
|
subject:
|
|
649
651
|
this_is_you: ¡Eres tú!
|
data/base/config/locales/pt.yml
CHANGED
|
@@ -218,7 +218,6 @@ pt:
|
|
|
218
218
|
title: Followings
|
|
219
219
|
forgot_password: Esqueceu sua senha?
|
|
220
220
|
frontpage:
|
|
221
|
-
main_title: Social Stream é a base para a construção de sites de rede social.
|
|
222
221
|
stats: '%{users} usuários e %{groups} grupos registrados'
|
|
223
222
|
presentation:
|
|
224
223
|
modular:
|
|
@@ -546,8 +545,6 @@ pt:
|
|
|
546
545
|
sign_in: Entrar
|
|
547
546
|
sign_out: Sair
|
|
548
547
|
sign_up: Cadastrar-se
|
|
549
|
-
site:
|
|
550
|
-
name: Social Stream
|
|
551
548
|
subject:
|
|
552
549
|
this_is_you: Este é você!
|
|
553
550
|
sure: Você tem certeza?
|
|
@@ -631,3 +628,10 @@ pt:
|
|
|
631
628
|
by: Order by
|
|
632
629
|
last_modified: Last modified
|
|
633
630
|
most_popular: Most popular
|
|
631
|
+
site:
|
|
632
|
+
current:
|
|
633
|
+
description: A base para a construção de sites de rede social.
|
|
634
|
+
keywords: social stream,social software,framework,ruby on rails
|
|
635
|
+
title: Social Stream
|
|
636
|
+
name: Social Stream
|
|
637
|
+
|
data/base/config/locales/zh.yml
CHANGED
|
@@ -225,7 +225,6 @@ zh:
|
|
|
225
225
|
other: '%{count} 粉丝'
|
|
226
226
|
forgot_password: 忘了您的密码吗?
|
|
227
227
|
frontpage:
|
|
228
|
-
main_title: 社交视频互动是我们建立社交网的核心.
|
|
229
228
|
stats: '%{users} 用户 和 %{groups} 已注册的群组'
|
|
230
229
|
presentation:
|
|
231
230
|
modular:
|
|
@@ -546,7 +545,11 @@ zh:
|
|
|
546
545
|
sign_out: 退出
|
|
547
546
|
sign_up: 注册
|
|
548
547
|
site:
|
|
549
|
-
|
|
548
|
+
current:
|
|
549
|
+
description: 社交视频互动是我们建立社交网的核心.
|
|
550
|
+
keywords: social stream,social software,framework,ruby on rails
|
|
551
|
+
title: Social Stream
|
|
552
|
+
name: Social Stream
|
|
550
553
|
subject:
|
|
551
554
|
this_is_you: 这是您!
|
|
552
555
|
sure: 您肯定吗?
|