social-share-button 0.1.1 → 0.1.2
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.
- data/.gitignore +1 -0
- data/Changelogs.md +4 -0
- data/README.md +23 -1
- data/lib/assets/images/sprites/social-share-button.png +0 -0
- data/lib/assets/images/sprites/social-share-button/tumblr.png +0 -0
- data/lib/assets/images/sprites/social-share-button@2x.png +0 -0
- data/lib/assets/images/sprites/social-share-button@2x/tumblr.png +0 -0
- data/lib/assets/javascripts/social-share-button.coffee +32 -3
- data/lib/assets/stylesheets/social-share-button.scss +20 -17
- data/lib/generators/social_share_button/templates/config/initializers/social_share_button.rb +2 -2
- data/lib/generators/social_share_button/templates/config/locales/social_share_button.en.yml +1 -0
- data/lib/generators/social_share_button/templates/config/locales/social_share_button.zh-CN.yml +1 -0
- data/lib/generators/social_share_button/templates/config/locales/social_share_button.zh-TW.yml +1 -0
- data/lib/social_share_button/helper.rb +8 -5
- data/lib/social_share_button/version.rb +1 -1
- data/psd/{icon_templet.psd → icon.psd} +0 -0
- data/social-share-button.gemspec +2 -2
- metadata +7 -5
data/.gitignore
CHANGED
data/Changelogs.md
CHANGED
data/README.md
CHANGED
@@ -16,6 +16,7 @@ This is a gem to helper you quick create a share feature in you Rails apps.
|
|
16
16
|
* Kaixin001
|
17
17
|
* Google Bookmark
|
18
18
|
* Delicious
|
19
|
+
* Tumblr
|
19
20
|
|
20
21
|
## Screenshot
|
21
22
|
|
@@ -42,7 +43,7 @@ You can config `config/initializes/social_share_button.rb` to choose which site
|
|
42
43
|
|
43
44
|
```ruby
|
44
45
|
SocialShareButton.configure do |config|
|
45
|
-
config.allow_sites = %w(twitter facebook google_plus weibo douban tqq renren qq kaixin001 baidu)
|
46
|
+
config.allow_sites = %w(twitter facebook google_plus weibo douban tqq renren qq kaixin001 baidu tumblr)
|
46
47
|
end
|
47
48
|
```
|
48
49
|
|
@@ -80,6 +81,27 @@ You can also specify the URL that it links to:
|
|
80
81
|
<%= social_share_button_tag(@post.title, :url => "http://myapp.com/foo/bar") %>
|
81
82
|
```
|
82
83
|
|
84
|
+
For the Tumblr there are an extra settings, prefixed with :'data-*'
|
85
|
+
```erb
|
86
|
+
<%= social_share_button_tag(@post.title, :image => "https://raw.github.com/vkulpa/social-share-button/master/lib/assets/images/sprites/social-share-button/tumblr.png", :'data-type' => 'photo') %>
|
87
|
+
<%= social_share_button_tag(@post.title, :'data-source' => "https://raw.github.com/vkulpa/social-share-button/master/lib/assets/images/sprites/social-share-button/tumblr.png", :'data-type' => 'photo') %>
|
88
|
+
```
|
89
|
+
Those two above calls are identical.
|
90
|
+
Here are the mapping of attributes depending on you data-type parameter
|
91
|
+
|
92
|
+
<pre>
|
93
|
+
| data-type | standard | custom :"data-*" prefixed |
|
94
|
+
--------------------------------------------------------------
|
95
|
+
| link (default) | title | data-title |
|
96
|
+
| | url | data-url |
|
97
|
+
| text | title | data-title |
|
98
|
+
| photo | title | data-caption |
|
99
|
+
| | image | data-source |
|
100
|
+
| quote | title | data-quote |
|
101
|
+
| | | data-source |
|
102
|
+
</pre>
|
103
|
+
|
104
|
+
|
83
105
|
## Demo
|
84
106
|
|
85
107
|
[http://ruby-china.org/wiki/about](http://ruby-china.org/wiki/about)
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -5,9 +5,9 @@ window.SocialShareButton =
|
|
5
5
|
|
6
6
|
share : (el) ->
|
7
7
|
site = $(el).data('site')
|
8
|
-
title = encodeURIComponent($(el).parent().data('title'))
|
9
|
-
img = encodeURIComponent($(el).parent().data("img"))
|
10
|
-
url = encodeURIComponent($(el).parent().data("url"))
|
8
|
+
title = encodeURIComponent($(el).parent().data('title') || '')
|
9
|
+
img = encodeURIComponent($(el).parent().data("img") || '')
|
10
|
+
url = encodeURIComponent($(el).parent().data("url") || '')
|
11
11
|
if url.length == 0
|
12
12
|
url = encodeURIComponent(location.href)
|
13
13
|
switch site
|
@@ -35,4 +35,33 @@ window.SocialShareButton =
|
|
35
35
|
SocialShareButton.openUrl("https://www.google.com/bookmarks/mark?op=edit&output=popup&bkmk=#{url}&title=#{title}")
|
36
36
|
when "delicious"
|
37
37
|
SocialShareButton.openUrl("http://www.delicious.com/save?url=#{url}&title=#{title}&jump=yes&pic=#{img}")
|
38
|
+
when "tumblr"
|
39
|
+
get_tumblr_extra = (param) ->
|
40
|
+
cutom_data = $(el).attr("data-#{param}")
|
41
|
+
encodeURIComponent(cutom_data) if cutom_data
|
42
|
+
|
43
|
+
tumblr_params = ->
|
44
|
+
path = get_tumblr_extra('type') || 'link'
|
45
|
+
|
46
|
+
params = switch path
|
47
|
+
when 'text'
|
48
|
+
title = get_tumblr_extra('title') || title
|
49
|
+
"title=#{title}"
|
50
|
+
when 'photo'
|
51
|
+
title = get_tumblr_extra('caption') || title
|
52
|
+
source = get_tumblr_extra('source') || img
|
53
|
+
"caption=#{title}&source=#{source}"
|
54
|
+
when 'quote'
|
55
|
+
quote = get_tumblr_extra('quote') || title
|
56
|
+
source = get_tumblr_extra('source') || ''
|
57
|
+
"quote=#{quote}&source=#{source}"
|
58
|
+
else # actually, it's a link clause
|
59
|
+
title = get_tumblr_extra('title') || title
|
60
|
+
url = get_tumblr_extra('url') || url
|
61
|
+
"name=#{title}&url=#{url}"
|
62
|
+
|
63
|
+
|
64
|
+
"/#{path}?#{params}"
|
65
|
+
|
66
|
+
SocialShareButton.openUrl("http://www.tumblr.com/share#{tumblr_params()}")
|
38
67
|
false
|
@@ -14,6 +14,7 @@
|
|
14
14
|
lib/assets/images/sprites/social-share-button/qq.png (16x16)
|
15
15
|
lib/assets/images/sprites/social-share-button/renren.png (16x16)
|
16
16
|
lib/assets/images/sprites/social-share-button/tqq.png (16x16)
|
17
|
+
lib/assets/images/sprites/social-share-button/tumblr.png (16x16)
|
17
18
|
lib/assets/images/sprites/social-share-button/twitter.png (16x16)
|
18
19
|
lib/assets/images/sprites/social-share-button/weibo.png (16x16)
|
19
20
|
|
@@ -38,22 +39,24 @@
|
|
38
39
|
.social-share-button-qq { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button.png')) -48px 0px no-repeat }
|
39
40
|
.social-share-button-renren { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button.png')) -48px -16px no-repeat }
|
40
41
|
.social-share-button-tqq { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button.png')) -48px -32px no-repeat }
|
41
|
-
.social-share-button-
|
42
|
-
.social-share-button-
|
42
|
+
.social-share-button-tumblr { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button.png')) 0px -48px no-repeat }
|
43
|
+
.social-share-button-twitter { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button.png')) -16px -48px no-repeat }
|
44
|
+
.social-share-button-weibo { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button.png')) -32px -48px no-repeat }
|
43
45
|
|
44
|
-
@media only screen and (-webkit-device-pixel-ratio: 2){
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
46
|
+
@media only screen and (-webkit-device-pixel-ratio: 2) {
|
47
|
+
.social-share-button-baidu { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button@2x.png')) 0px 0px no-repeat; background-size:64px 64px; }
|
48
|
+
.social-share-button-delicious { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button@2x.png')) -16px 0px no-repeat; background-size:64px 64px; }
|
49
|
+
.social-share-button-douban { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button@2x.png')) 0px -16px no-repeat; background-size:64px 64px;}
|
50
|
+
.social-share-button-email { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button@2x.png')) -16px -16px no-repeat; background-size:64px 64px;}
|
51
|
+
.social-share-button-facebook { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button@2x.png')) -32px 0px no-repeat; background-size:64px 64px;}
|
52
|
+
.social-share-button-flickr { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button@2x.png')) -32px -16px no-repeat; background-size:64px 64px;}
|
53
|
+
.social-share-button-google_bookmark { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button@2x.png')) 0px -32px no-repeat; background-size:64px 64px;}
|
54
|
+
.social-share-button-google_plus { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button@2x.png')) -16px -32px no-repeat; background-size:64px 64px;}
|
55
|
+
.social-share-button-kaixin001 { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button@2x.png')) -32px -32px no-repeat; background-size:64px 64px;}
|
56
|
+
.social-share-button-qq { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button@2x.png')) -48px 0px no-repeat; background-size:64px 64px;}
|
57
|
+
.social-share-button-renren { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button@2x.png')) -48px -16px no-repeat; background-size:64px 64px;}
|
58
|
+
.social-share-button-tqq { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button@2x.png')) -48px -32px no-repeat; background-size:64px 64px;}
|
59
|
+
.social-share-button-tumblr { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button@2x.png')) 0px -48px no-repeat; background-size:64px 64px;}
|
60
|
+
.social-share-button-twitter { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button@2x.png')) -16px -48px no-repeat; background-size:64px 64px;}
|
61
|
+
.social-share-button-weibo { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button@2x.png')) -32px -48px no-repeat; background-size:64px 64px;}
|
59
62
|
}
|
data/lib/generators/social_share_button/templates/config/initializers/social_share_button.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
SocialShareButton.configure do |config|
|
2
|
-
config.allow_sites = %w(twitter facebook google_plus weibo douban tqq renren qq kaixin001 baidu google_bookmark delicious huaban)
|
3
|
-
end
|
2
|
+
config.allow_sites = %w(twitter facebook google_plus weibo douban tqq renren qq kaixin001 baidu google_bookmark delicious huaban tumblr)
|
3
|
+
end
|
@@ -2,17 +2,20 @@
|
|
2
2
|
module SocialShareButton
|
3
3
|
module Helper
|
4
4
|
def social_share_button_tag(title = "", opts = {})
|
5
|
+
extra_data = {}
|
5
6
|
rel = opts[:rel]
|
6
7
|
html = []
|
7
8
|
html << "<div class='social-share-button' data-title='#{title}' data-img='#{opts[:image]}' data-url='#{opts[:url]}'>"
|
8
9
|
|
9
10
|
SocialShareButton.config.allow_sites.each do |name|
|
11
|
+
extra_data = opts.select { |k, _| k.to_s.start_with?('data') } if name.eql?('tumblr')
|
12
|
+
|
10
13
|
link_title = t "social_share_button.share_to", :name => t("social_share_button.#{name.downcase}")
|
11
|
-
html << link_to("","#", :rel => "nofollow
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
14
|
+
html << link_to("","#", {:rel => ["nofollow", rel],
|
15
|
+
"data-site" => name,
|
16
|
+
:class => "social-share-button-#{name}",
|
17
|
+
:onclick => "return SocialShareButton.share(this);",
|
18
|
+
:title => h(link_title)}.merge(extra_data))
|
16
19
|
end
|
17
20
|
html << "</div>"
|
18
21
|
raw html.join("\n")
|
Binary file
|
data/social-share-button.gemspec
CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |s|
|
|
8
8
|
s.authors = ["Jason Lee"]
|
9
9
|
s.email = ["huacnlee@gmail.com"]
|
10
10
|
s.homepage = "http://github.com/huacnlee/social-share-button"
|
11
|
-
s.summary = %q{Helper for add social share feature in your Rails app. Twitter, Facebook, Weibo, Douban, QQ ...}
|
12
|
-
s.description = %q{Helper for add social share feature in your Rails app. Twitter, Facebook, Weibo, Douban, QQ ...}
|
11
|
+
s.summary = %q{Helper for add social share feature in your Rails app. Twitter, Facebook, Weibo, Douban, QQ, Tumblr ...}
|
12
|
+
s.description = %q{Helper for add social share feature in your Rails app. Twitter, Facebook, Weibo, Douban, QQ, Tumblr ...}
|
13
13
|
|
14
14
|
s.files = `git ls-files`.split("\n")
|
15
15
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: social-share-button
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-03-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -28,7 +28,7 @@ dependencies:
|
|
28
28
|
version: '0'
|
29
29
|
none: false
|
30
30
|
description: Helper for add social share feature in your Rails app. Twitter, Facebook,
|
31
|
-
Weibo, Douban, QQ ...
|
31
|
+
Weibo, Douban, QQ, Tumblr ...
|
32
32
|
email:
|
33
33
|
- huacnlee@gmail.com
|
34
34
|
executables: []
|
@@ -54,6 +54,7 @@ files:
|
|
54
54
|
- lib/assets/images/sprites/social-share-button/qq.png
|
55
55
|
- lib/assets/images/sprites/social-share-button/renren.png
|
56
56
|
- lib/assets/images/sprites/social-share-button/tqq.png
|
57
|
+
- lib/assets/images/sprites/social-share-button/tumblr.png
|
57
58
|
- lib/assets/images/sprites/social-share-button/twitter.png
|
58
59
|
- lib/assets/images/sprites/social-share-button/weibo.png
|
59
60
|
- lib/assets/images/sprites/social-share-button@2x.png
|
@@ -69,6 +70,7 @@ files:
|
|
69
70
|
- lib/assets/images/sprites/social-share-button@2x/qq.png
|
70
71
|
- lib/assets/images/sprites/social-share-button@2x/renren.png
|
71
72
|
- lib/assets/images/sprites/social-share-button@2x/tqq.png
|
73
|
+
- lib/assets/images/sprites/social-share-button@2x/tumblr.png
|
72
74
|
- lib/assets/images/sprites/social-share-button@2x/twitter.png
|
73
75
|
- lib/assets/images/sprites/social-share-button@2x/weibo.png
|
74
76
|
- lib/assets/javascripts/social-share-button.coffee
|
@@ -85,7 +87,7 @@ files:
|
|
85
87
|
- lib/social_share_button/helper.rb
|
86
88
|
- lib/social_share_button/railtie.rb
|
87
89
|
- lib/social_share_button/version.rb
|
88
|
-
- psd/
|
90
|
+
- psd/icon.psd
|
89
91
|
- social-share-button.gemspec
|
90
92
|
homepage: http://github.com/huacnlee/social-share-button
|
91
93
|
licenses: []
|
@@ -111,5 +113,5 @@ rubygems_version: 1.8.24
|
|
111
113
|
signing_key:
|
112
114
|
specification_version: 3
|
113
115
|
summary: Helper for add social share feature in your Rails app. Twitter, Facebook,
|
114
|
-
Weibo, Douban, QQ ...
|
116
|
+
Weibo, Douban, QQ, Tumblr ...
|
115
117
|
test_files: []
|