open_graph_helper 0.0.1
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 +17 -0
- data/Gemfile +4 -0
- data/Rakefile +2 -0
- data/lib/open_graph_helper/railtie.rb +9 -0
- data/lib/open_graph_helper/version.rb +3 -0
- data/lib/open_graph_helper.rb +69 -0
- data/open_graph_helper.gemspec +17 -0
- metadata +74 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
require "open_graph_helper/version"
|
2
|
+
require 'open_graph_helper/railtie' if defined?(Rails)
|
3
|
+
|
4
|
+
# http://developers.facebook.com/docs/opengraph/
|
5
|
+
module OpenGraphHelper
|
6
|
+
def og_title(content)
|
7
|
+
"<meta property='og:title' content='#{content}'/>"
|
8
|
+
end
|
9
|
+
|
10
|
+
def og_description(content)
|
11
|
+
content = html_escape(strip_tags(content))
|
12
|
+
"<meta property='og:description' content='#{truncate(content , :length => 100)}'/>"
|
13
|
+
end
|
14
|
+
|
15
|
+
def og_type(content = "article")
|
16
|
+
"<meta property='og:type' content='#{content}'/>"
|
17
|
+
end
|
18
|
+
|
19
|
+
# 50x50 px ~ 150x150 px
|
20
|
+
def og_image(content)
|
21
|
+
"<meta property='og:image' content='#{content}'/>"
|
22
|
+
end
|
23
|
+
|
24
|
+
def og_url(content)
|
25
|
+
"<meta property='og:url' content='#{content}'/>"
|
26
|
+
end
|
27
|
+
|
28
|
+
def og_site_name(content)
|
29
|
+
"<meta property='og:site_name' content='#{content}'/>"
|
30
|
+
end
|
31
|
+
|
32
|
+
def og_fb_app_id(content)
|
33
|
+
tag(:meta, { :property => "fb:app_id", :content => content }, true)
|
34
|
+
end
|
35
|
+
|
36
|
+
def og_fb_admins(content)
|
37
|
+
tag(:meta, { :property => "fb:admins", :content => content }, true)
|
38
|
+
end
|
39
|
+
|
40
|
+
# types: icon, icon_link, button, button_count, box_count
|
41
|
+
def fb_share_link(share_url, type = "button_count", script = false)
|
42
|
+
output = link_to("分享", "http://www.facebook.com/sharer.php", :name => "fb_share", :share_url => share_url, :type => type, :class => "facebook fb-share")
|
43
|
+
output << content_tag(:script, "", :src => "http://static.ak.fbcdn.net/connect.php/js/FB.Share", :type => "text/javascript") if script
|
44
|
+
output
|
45
|
+
end
|
46
|
+
|
47
|
+
# types: button_count, standard
|
48
|
+
def fb_like_iframe(like_url, type = "button_count", size = "85x21")
|
49
|
+
width, height = size.split("x")
|
50
|
+
src = "http://www.facebook.com/plugins/like.php?href=#{like_url}&locale=zh_TW&layout=#{type}&show_faces=true&action=like&colorscheme=light&width=#{width}&height=#{height}"
|
51
|
+
style = "border:none; overflow:hidden; width:#{width}px; height:#{height}px;"
|
52
|
+
content_tag(:iframe, "", :src => src, :scrolling => "no", :frameborder => "0", :style => style, :allowtransparency => "true")
|
53
|
+
end
|
54
|
+
|
55
|
+
def fb_likebox_iframe(like_url, size = "240x65")
|
56
|
+
width, height = size.split("x")
|
57
|
+
src = "http://www.facebook.com/plugins/likebox.php?href=#{like_url}&connections=0&stream=false&header=true&colorscheme=light&width=#{width}&height=#{height}"
|
58
|
+
style = "border:none; overflow:hidden; width:#{width}px; height:#{height}px;"
|
59
|
+
content_tag(:iframe, "", :src => src, :scrolling => "no", :frameborder => "0", :style => style, :allowtransparency => "true")
|
60
|
+
end
|
61
|
+
|
62
|
+
def fb_recommendation_iframe(site_url, size = "300x380")
|
63
|
+
width, height = size.split("x")
|
64
|
+
src = "http://www.facebook.com/plugins/recommendations.php?site=#{site_url}&header=false&colorscheme=light&border_color=%23CCCCCC&width=#{width}&height=#{height}"
|
65
|
+
style = "border:none; overflow:hidden; width:#{width}px; height:#{height}px;"
|
66
|
+
content_tag(:iframe, "", :src => src, :scrolling => "no", :frameborder => "0", :style => style, :allowtransparency => "true")
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/open_graph_helper/version', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.authors = ["xdite"]
|
6
|
+
gem.email = ["xdite@techbang.com.tw"]
|
7
|
+
gem.description = %q{OpenGraph Helper}
|
8
|
+
gem.summary = %q{OpenGraph Helper}
|
9
|
+
gem.homepage = ""
|
10
|
+
|
11
|
+
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
12
|
+
gem.files = `git ls-files`.split("\n")
|
13
|
+
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
14
|
+
gem.name = "open_graph_helper"
|
15
|
+
gem.require_paths = ["lib"]
|
16
|
+
gem.version = OpenGraphHelper::VERSION
|
17
|
+
end
|
metadata
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: open_graph_helper
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 29
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 1
|
10
|
+
version: 0.0.1
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- xdite
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-10-20 00:00:00 +08:00
|
19
|
+
default_executable:
|
20
|
+
dependencies: []
|
21
|
+
|
22
|
+
description: OpenGraph Helper
|
23
|
+
email:
|
24
|
+
- xdite@techbang.com.tw
|
25
|
+
executables: []
|
26
|
+
|
27
|
+
extensions: []
|
28
|
+
|
29
|
+
extra_rdoc_files: []
|
30
|
+
|
31
|
+
files:
|
32
|
+
- .gitignore
|
33
|
+
- Gemfile
|
34
|
+
- Rakefile
|
35
|
+
- lib/open_graph_helper.rb
|
36
|
+
- lib/open_graph_helper/railtie.rb
|
37
|
+
- lib/open_graph_helper/version.rb
|
38
|
+
- open_graph_helper.gemspec
|
39
|
+
has_rdoc: true
|
40
|
+
homepage: ""
|
41
|
+
licenses: []
|
42
|
+
|
43
|
+
post_install_message:
|
44
|
+
rdoc_options: []
|
45
|
+
|
46
|
+
require_paths:
|
47
|
+
- lib
|
48
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
hash: 3
|
54
|
+
segments:
|
55
|
+
- 0
|
56
|
+
version: "0"
|
57
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
hash: 3
|
63
|
+
segments:
|
64
|
+
- 0
|
65
|
+
version: "0"
|
66
|
+
requirements: []
|
67
|
+
|
68
|
+
rubyforge_project:
|
69
|
+
rubygems_version: 1.5.2
|
70
|
+
signing_key:
|
71
|
+
specification_version: 3
|
72
|
+
summary: OpenGraph Helper
|
73
|
+
test_files: []
|
74
|
+
|