static_addthis 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +7 -0
- data/Gemfile.lock +26 -0
- data/Rakefile +52 -0
- data/Readme.md +53 -0
- data/VERSION +1 -0
- data/assets/addthis_sprite.png +0 -0
- data/assets/static_addthis.css +15 -0
- data/lib/static_addthis.rb +91 -0
- data/spec/static_addthis_spec.rb +53 -0
- data/static_addthis.gemspec +40 -0
- metadata +76 -0
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
GEM
|
2
|
+
remote: http://rubygems.org/
|
3
|
+
specs:
|
4
|
+
diff-lcs (1.1.2)
|
5
|
+
git (1.2.5)
|
6
|
+
jeweler (1.6.0)
|
7
|
+
bundler (~> 1.0.0)
|
8
|
+
git (>= 1.2.5)
|
9
|
+
rake
|
10
|
+
rake (0.8.7)
|
11
|
+
rspec (2.6.0)
|
12
|
+
rspec-core (~> 2.6.0)
|
13
|
+
rspec-expectations (~> 2.6.0)
|
14
|
+
rspec-mocks (~> 2.6.0)
|
15
|
+
rspec-core (2.6.0)
|
16
|
+
rspec-expectations (2.6.0)
|
17
|
+
diff-lcs (~> 1.1.2)
|
18
|
+
rspec-mocks (2.6.0)
|
19
|
+
|
20
|
+
PLATFORMS
|
21
|
+
ruby
|
22
|
+
|
23
|
+
DEPENDENCIES
|
24
|
+
jeweler
|
25
|
+
rake
|
26
|
+
rspec (~> 2)
|
data/Rakefile
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
task :default do
|
2
|
+
exec "rspec spec/"
|
3
|
+
end
|
4
|
+
|
5
|
+
task :refresh_icons do
|
6
|
+
icon_set = '.at15t'
|
7
|
+
css = "http://s7.addthis.com/static/r07/widget59.css"
|
8
|
+
css = `curl #{css}`
|
9
|
+
|
10
|
+
css_rules = css.split('}').map(&:strip)
|
11
|
+
puts "found #{css_rules.size} rules"
|
12
|
+
|
13
|
+
# find all simple class rules
|
14
|
+
css_rules = css_rules.map do |rule|
|
15
|
+
next unless match = rule.match(/^(\.[_a-z\d]+)\s*\{/)
|
16
|
+
[match[1], rule.sub(match[0],'')]
|
17
|
+
end.compact
|
18
|
+
css_rules = Hash[css_rules]
|
19
|
+
|
20
|
+
puts "extracted #{css_rules.size} simple rules"
|
21
|
+
|
22
|
+
# find png location
|
23
|
+
png = 'http:' + css_rules[icon_set][%r{//.*?\.png}]
|
24
|
+
puts "using image #{png}"
|
25
|
+
`curl #{png} > assets/addthis_sprite.png`
|
26
|
+
|
27
|
+
# extract background offset info
|
28
|
+
icons = css_rules.map do |klass, css|
|
29
|
+
puts klass+css
|
30
|
+
next unless klass+css =~ /^#{icon_set}_([_a-z]+)background-position:0 -(\d+)px/
|
31
|
+
[$1, $2.to_i]
|
32
|
+
end.compact.sort
|
33
|
+
icons = Hash[icons]
|
34
|
+
|
35
|
+
puts icons.inspect
|
36
|
+
puts "now paste this into lib/static_addthis.rb"
|
37
|
+
end
|
38
|
+
|
39
|
+
begin
|
40
|
+
require 'jeweler'
|
41
|
+
Jeweler::Tasks.new do |gem|
|
42
|
+
gem.name = 'static_addthis'
|
43
|
+
gem.summary = "Fast Addthis: no external js/css/images + no backlinks to addthis"
|
44
|
+
gem.email = "michael@grosser.it"
|
45
|
+
gem.homepage = "http://github.com/grosser/#{gem.name}"
|
46
|
+
gem.authors = ["Michael Grosser"]
|
47
|
+
end
|
48
|
+
|
49
|
+
Jeweler::GemcutterTasks.new
|
50
|
+
rescue LoadError
|
51
|
+
puts "Jeweler, or one of its dependencies, is not available. Install it with: gem install jeweler"
|
52
|
+
end
|
data/Readme.md
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
Advantages:
|
2
|
+
|
3
|
+
- Pagespeed: no additional js/css files + no js execution time
|
4
|
+
- Security: no flash tracking pixel from addthis
|
5
|
+
- Offline access: everything working without an internet connection
|
6
|
+
- SEO: no backlinks to addthis
|
7
|
+
|
8
|
+
Install
|
9
|
+
=======
|
10
|
+
rails plugin install git://github.com/grosser/static_addthis.git
|
11
|
+
|
12
|
+
- copy css from assets/static_addthis.css (0.2kb) to public and include it
|
13
|
+
- copy assets/addthis_sprite.png into public/images
|
14
|
+
|
15
|
+
Usage
|
16
|
+
=====
|
17
|
+
|
18
|
+
# app/helpers/application_helper.rb
|
19
|
+
def add_this(options)
|
20
|
+
# add google analytics tracking
|
21
|
+
url = request.request_uri
|
22
|
+
url += url.include?('?') ? '&' : '?'
|
23
|
+
url += 'utm_source=add_this&utm_medium=%{provider}'
|
24
|
+
|
25
|
+
StaticAddthis.icons(options.reverse_merge(
|
26
|
+
:title => @page_title,
|
27
|
+
:url => request.request_uri,
|
28
|
+
:username => 'myaddthisusername',
|
29
|
+
:uid => '12345'
|
30
|
+
))
|
31
|
+
end
|
32
|
+
|
33
|
+
# in view
|
34
|
+
<%= add_this :providers => ['Facebook', 'Twitter', '|', 'more'] %>
|
35
|
+
|
36
|
+
# adding a custom provider
|
37
|
+
<%= add_this(:providers => ['Twitter', 'MyStuff', 'more']).sub('MyStuff', link_to('MyStuff', '/my_stuff')) %>
|
38
|
+
|
39
|
+
# without icons
|
40
|
+
<%= add_this :providers => ['more'], :only_text => true %>
|
41
|
+
|
42
|
+
# custom translations
|
43
|
+
<%= add_this :providers => ['Facebook', 'Twitter', 'more'], :text => "Share on %{provider}", :show_text => true, :more_text => 'All...' %>
|
44
|
+
|
45
|
+
# just need some icons ?
|
46
|
+
<%= StaticAddthis.social_icon('Facebook') %>
|
47
|
+
|
48
|
+
|
49
|
+
Author
|
50
|
+
======
|
51
|
+
[Michael Grosser](http://grosser.it)<br/>
|
52
|
+
michael@grosser.it<br/>
|
53
|
+
Hereby placed under public domain, do what you want, just do not hold me accountable...<br/>
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.1.0
|
Binary file
|
@@ -0,0 +1,15 @@
|
|
1
|
+
.addthis_icon{
|
2
|
+
background: url(/images/addthis_sprite.png) no-repeat;
|
3
|
+
width: 16px;
|
4
|
+
height: 15px;
|
5
|
+
display: inline-block;
|
6
|
+
text-decoration: none;
|
7
|
+
}
|
8
|
+
|
9
|
+
.addthis_separator{
|
10
|
+
margin-left: 3px;
|
11
|
+
}
|
12
|
+
|
13
|
+
.addthis_toolbox .addthis_icon {
|
14
|
+
margin-left: 3px;
|
15
|
+
}
|
@@ -0,0 +1,91 @@
|
|
1
|
+
require 'cgi'
|
2
|
+
|
3
|
+
module StaticAddthis
|
4
|
+
VERSION = File.read( File.join(File.dirname(__FILE__),'..','VERSION') ).strip
|
5
|
+
|
6
|
+
ICON_OFFSETS = {"addio"=>112, "addressbar"=>128, "adfty"=>160, "adifni"=>176, "aerosocial"=>192, "aim"=>208, "allmyfaves"=>224, "amazonwishlist"=>240, "amenme"=>256, "aolmail"=>272, "armenix"=>288, "arto"=>304, "aviary"=>320, "baang"=>336, "baidu"=>352, "bebo"=>368, "bentio"=>384, "biggerpockets"=>400, "bitly"=>416, "bizsugar"=>432, "bleetbox"=>448, "blinklist"=>464, "blip"=>480, "blogger"=>496, "bloggy"=>512, "blogmarks"=>528, "blogtrottr"=>544, "blurpalicious"=>560, "boardlite"=>576, "bobrdobr"=>592, "bonzobox"=>608, "bookmarkedbyus"=>624, "bookmarkycz"=>640, "bookmerkende"=>656, "bordom"=>672, "box"=>688, "brainify"=>704, "bryderi"=>720, "buddymarks"=>736, "buzzzy"=>752, "camyoo"=>768, "cardthis"=>784, "chiq"=>816, "cirip"=>832, "citeulike"=>848, "classicalplace"=>864, "clickazoo"=>880, "clply"=>896, "cndig"=>912, "colivia"=>928, "compact"=>3440, "connotea"=>944, "cootopia"=>960, "cosmiq"=>976, "curateus"=>992, "dashboard"=>1008, "delicious"=>1024, "designbump"=>1040, "designmoo"=>1056, "digaculturanet"=>1072, "digg"=>1088, "diggita"=>1104, "diggtiger"=>1120, "diglog"=>1136, "digo"=>1152, "digthiswebhost"=>1168, "digzign"=>1184, "diigo"=>1200, "dipdive"=>1216, "domaintoolswhois"=>1232, "domelhor"=>1248, "dosti"=>1264, "dotnetkicks"=>1280, "dotnetshoutout"=>1296, "douban"=>1312, "draugiem"=>1328, "drimio"=>1344, "dropjack"=>1360, "dwellicious"=>1376, "dzone"=>1392, "edelight"=>1408, "efactor"=>1424, "ekudos"=>1440, "elefantapl"=>1456, "email"=>1472, "embarkons"=>1488, "eucliquei"=>1504, "evernote"=>1520, "expanded"=>3440, "extraplay"=>1536, "ezyspot"=>1552, "facebook"=>1584, "facebook_like"=>1600, "fark"=>1616, "farkinda"=>1632, "fashiolista"=>1648, "fashionburner"=>1664, "favable"=>1680, "faves"=>1696, "favicon"=>1712, "favlogde"=>1728, "favoritende"=>1744, "favorites"=>1760, "favoritus"=>1776, "flaker"=>1792, "flickr"=>1808, "flosspro"=>1824, "folkd"=>1840, "followtags"=>1856, "forceindya"=>1872, "formspring"=>1888, "fresqui"=>1904, "friendfeed"=>1920, "friendster"=>1936, "funp"=>1952, "fwisp"=>1968, "gabbr"=>1984, "gacetilla"=>2000, "gamekicker"=>2016, "givealink"=>2032, "globalgrind"=>2048, "gluvsnap"=>2064, "gmail"=>2080, "goodnoows"=>2096, "google"=>2112, "googlebuzz"=>2128, "googlereader"=>2144, "googletranslate"=>2160, "gravee"=>2176, "greaterdebater"=>2192, "grono"=>2208, "grumper"=>2224, "habergentr"=>2240, "hackernews"=>2256, "hadashhot"=>2272, "hatena"=>2288, "hazarkor"=>2304, "hedgehogs"=>2320, "hellotxt"=>2336, "hipstr"=>2368, "historious"=>2384, "hitmarks"=>2400, "hotbookmark"=>2416, "hotklix"=>2432, "hotmail"=>2448, "hyves"=>2464, "idearef"=>2480, "identica"=>2496, "igoogle"=>2512, "ihavegot"=>2528, "indexor"=>2560, "informazione"=>2576, "instapaper"=>2592, "investorlinks"=>2608, "iorbix"=>2624, "isociety"=>2640, "iwiw"=>2656, "jamespot"=>2672, "jappy"=>2688, "jisko"=>2704, "joliprint"=>2720, "jumptags"=>2736, "kaboodle"=>2752, "kaevur"=>2768, "kaixin"=>2784, "kipup"=>2800, "kirtsy"=>2816, "kledy"=>2832, "kommenting"=>2848, "laaikit"=>2864, "ladenzeile"=>2880, "latafaneracat"=>2896, "librerio"=>2912, "linkagogo"=>2928, "linkedin"=>2944, "linkninja"=>2960, "linksgutter"=>2976, "linkshares"=>2992, "linksnapr"=>3008, "linkstore"=>3024, "linkuj"=>3040, "live"=>3056, "livefavoris"=>3072, "livejournal"=>3088, "lockerblogger"=>3104, "lynki"=>3136, "mailto"=>3152, "markme"=>3168, "mashbord"=>3184, "mawindo"=>3200, "meccho"=>3216, "meinvz"=>3232, "mekusharim"=>3248, "memonic"=>3264, "memori"=>3280, "meneame"=>3296, "menu"=>3312, "mindbodygreen"=>3328, "misterwong"=>3344, "misterwong_de"=>3360, "misterwong_ru"=>3376, "mixx"=>3392, "moemesto"=>3408, "moikrug"=>3424, "more"=>3440, "mototagz"=>3456, "mrcnetworkit"=>3472, "mssocialbookmarks"=>3488, "multiply"=>3504, "myaol"=>3520, "myhayastan"=>3536, "mylinkvault"=>3552, "mymailru"=>3568, "mynasa"=>3584, "myspace"=>3600, "myyearbook"=>3616, "naszaklasa"=>3648, "netlog"=>3664, "netvibes"=>3680, "netvouz"=>3696, "newsmeback"=>3712, "newstrust"=>3728, "newsvine"=>3744, "nujij"=>3760, "odnoklassniki_ru"=>3776, "oknotizie"=>3792, "olddogg"=>3808, "oneview"=>3824, "ongobee"=>3840, "orkut"=>3856, "osmosus"=>3872, "oyyla"=>3888, "packg"=>3904, "pafnetde"=>3920, "pdfmyurl"=>3936, "pdfonline"=>3952, "phonefavs"=>3968, "pimpthisblog"=>3984, "pingfm"=>4000, "planypus"=>4016, "plaxo"=>4032, "plurk"=>4048, "pochvalcz"=>4064, "popedition"=>4080, "posteezy"=>4096, "posterous"=>4112, "pratiba"=>4128, "print"=>4144, "printfriendly"=>4160, "pusha"=>4176, "qrfin"=>4192, "quantcast"=>4208, "qzone"=>4224, "readitlater"=>4240, "reddit"=>4256, "rediff"=>4272, "redkum"=>4288, "ridefix"=>4304, "rss"=>4320, "scoopat"=>4336, "segnalo"=>4352, "sekoman"=>4368, "shaveh"=>4400, "shetoldme"=>4416, "shirintar"=>4432, "simpy"=>4448, "sinaweibo"=>4464, "slashdot"=>4480, "smiru"=>4496, "socialbookmarkingnet"=>4512, "sodahead"=>4528, "sonico"=>4544, "speedtile"=>4560, "sphinn"=>4576, "spinsnap"=>4592, "spokentoyou"=>4608, "sportpost"=>4624, "springpad"=>4640, "spruzer"=>4656, "squidoo"=>4672, "startaid"=>4688, "startlap"=>4704, "storyfollower"=>4720, "studivz"=>4736, "stuffpit"=>4752, "stumbleupon"=>4768, "stumpedia"=>4784, "stylehive"=>4800, "surfpeoplenet"=>4816, "svejo"=>4832, "symbaloo"=>4848, "taaza"=>4864, "tagmarksde"=>4880, "tagvn"=>4896, "tagza"=>4912, "tailrank"=>4928, "tarpipe"=>4944, "technerd"=>4960, "teknikim"=>4976, "tellmypolitician"=>4992, "thefreedictionary"=>5008, "thewebblend"=>5024, "thinkfinity"=>5040, "thisnext"=>5056, "throwpile"=>5072, "tipd"=>5088, "topsitelernet"=>5104, "transferr"=>5120, "tuenti"=>5136, "tulinq"=>5152, "tumblr"=>5168, "tusul"=>5184, "tvinx"=>5200, "tweetmeme"=>5216, "twitter"=>5232, "twitthis"=>5248, "typepad"=>5264, "upnews"=>5280, "urlaubswerkde"=>5296, "viadeo"=>5312, "virb"=>5328, "visitezmonsite"=>5344, "vk"=>5360, "vkrugudruzei"=>5376, "voxopolis"=>5392, "vybralisme"=>5408, "vyoom"=>5424, "webnews"=>5456, "webs"=>5472, "windows"=>5488, "windycitizen"=>5504, "wirefan"=>5520, "wordpress"=>5536, "worio"=>5552, "woscc"=>5568, "wykop"=>5584, "xanga"=>5600, "xing"=>5616, "yahoobkm"=>5632, "yahoomail"=>5648, "yammer"=>5664, "yardbarker"=>5680, "yemle"=>5696, "yigg"=>5712, "yiid"=>5728, "yoolink"=>5744, "yorumcuyum"=>5760, "youblr"=>5776, "youbookmarks"=>5792, "youmob"=>5808, "youtube"=>5824, "yuuby"=>5840, "zakladoknet"=>5856, "zanatic"=>5872, "ziczac"=>5888, "zingme"=>5904, "zooloo"=>5920, "zootool"=>5936}
|
7
|
+
|
8
|
+
def self.icons(options)
|
9
|
+
providers = options[:providers].map{|p| link_to_provider(p, options) }
|
10
|
+
|
11
|
+
if options[:inline]
|
12
|
+
content_tag :span, providers.to_s, :class => "addthis_toolbox"
|
13
|
+
else
|
14
|
+
<<-HTML
|
15
|
+
<div class="addthis_toolbox">
|
16
|
+
#{providers}
|
17
|
+
<div style="clear:both"></div>
|
18
|
+
</div>
|
19
|
+
HTML
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.social_icon(provider, options={})
|
24
|
+
return '' unless offset = icon_offset(provider)
|
25
|
+
options = {:class => 'addthis_icon', :style => "background-position: 0 #{-1*offset}px"}.merge(options)
|
26
|
+
options[:title] ||= provider.to_s.capitalize
|
27
|
+
content_tag :span, ' ', options
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.link_to_provider(provider, options)
|
31
|
+
provider = provider.to_s
|
32
|
+
|
33
|
+
url = options[:url] || raise('addthis needs :url')
|
34
|
+
url = CGI.escape(url.gsub('%{provider}', provider))
|
35
|
+
|
36
|
+
title = CGI.escape(options[:title] || raise('addthis needs :title'))
|
37
|
+
username = options[:username] || raise('addthis needs :username')
|
38
|
+
uid = options[:uid] || raise('addthis needs :uid')
|
39
|
+
|
40
|
+
case provider
|
41
|
+
when '|' then
|
42
|
+
%{<span class="addthis_separator">|</span>}
|
43
|
+
when 'more'
|
44
|
+
href = "http://www.addthis.com/bookmark.php?v=250&username=#{username}"
|
45
|
+
text = (options[:more_text] || options[:text] || '+')
|
46
|
+
build_link provider, text, href, options
|
47
|
+
else
|
48
|
+
if known_provider?(provider)
|
49
|
+
href = "//www.addthis.com/bookmark.php?pub=#{username}&v=250&source=tbx-250&tt=0&s=#{provider}&url=#{url}&title=#{title}&content=&uid=#{uid}"
|
50
|
+
text = (options[:text] || provider.capitalize)
|
51
|
+
build_link provider, text, href, options
|
52
|
+
else
|
53
|
+
provider
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
private
|
59
|
+
|
60
|
+
def self.build_link(provider, text, href, options)
|
61
|
+
text = text.gsub('%{provider}', provider)
|
62
|
+
icon = social_icon(provider, :title => text)
|
63
|
+
|
64
|
+
text = if options[:only_text]
|
65
|
+
text
|
66
|
+
elsif options[:show_text] or (options[:show_more_text] and provider == 'more')
|
67
|
+
"#{icon}#{text}"
|
68
|
+
else
|
69
|
+
icon
|
70
|
+
end
|
71
|
+
|
72
|
+
link_to text, href, :target => :blank, :rel => :nofollow, :id => "add_this_#{provider}"
|
73
|
+
end
|
74
|
+
|
75
|
+
def self.icon_offset(provider)
|
76
|
+
ICON_OFFSETS[provider.to_s.downcase]
|
77
|
+
end
|
78
|
+
|
79
|
+
def self.known_provider?(provider)
|
80
|
+
!!icon_offset(provider)
|
81
|
+
end
|
82
|
+
|
83
|
+
def self.link_to(name, href, options={})
|
84
|
+
content_tag :a, name, options.merge(:href => href)
|
85
|
+
end
|
86
|
+
|
87
|
+
def self.content_tag(name, content, options={})
|
88
|
+
options = options.map{|k,v| %{#{k}="#{v.to_s.gsub('"','`')}"}} * ' '
|
89
|
+
"<#{name} #{options}>#{content}</#{name}>"
|
90
|
+
end
|
91
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'lib/static_addthis'
|
3
|
+
|
4
|
+
describe StaticAddthis do
|
5
|
+
let(:defaults){ {:url => 'asdadas', :title => 'xxczx', :uid => '1121', :username => 'asdads'} }
|
6
|
+
|
7
|
+
describe :icons do
|
8
|
+
it "produces seperator" do
|
9
|
+
StaticAddthis.icons(defaults.merge(:providers => ['|'])).should include("<span class=\"addthis_separator\">|</span>")
|
10
|
+
end
|
11
|
+
|
12
|
+
it "produces more" do
|
13
|
+
StaticAddthis.icons(defaults.merge(:providers => ['more'])).should include(%{class="addthis_icon"})
|
14
|
+
end
|
15
|
+
|
16
|
+
it "produces a provider" do
|
17
|
+
StaticAddthis.icons(defaults.merge(:providers => ['Twitter'], :show_text => true)).should include(">Twitter<")
|
18
|
+
end
|
19
|
+
|
20
|
+
it "overwrites %{provider} in url" do
|
21
|
+
StaticAddthis.icons(defaults.merge(:providers => ['Twitter'], :url => 'xxx%{provider}yyy')).should include("xxxTwitteryyy")
|
22
|
+
end
|
23
|
+
|
24
|
+
it "ignores unknown providers so I can gsub them" do
|
25
|
+
result = StaticAddthis.icons(defaults.merge(:providers => ['Foo']))
|
26
|
+
result.should_not include(">Foo<")
|
27
|
+
result.should include("Foo\n")
|
28
|
+
end
|
29
|
+
|
30
|
+
it "does not show icons with only_text option" do
|
31
|
+
result = StaticAddthis.icons(defaults.merge(:providers => ['Twitter','more'], :only_text => true))
|
32
|
+
result.should_not include(%{class="addthis_icon"})
|
33
|
+
end
|
34
|
+
|
35
|
+
it "supports custom translations" do
|
36
|
+
result = StaticAddthis.icons(defaults.merge(:providers => ['Twitter'], :text => "Share on %{provider}"))
|
37
|
+
result.should include('Share on Twitter')
|
38
|
+
end
|
39
|
+
|
40
|
+
it "supports :inline" do
|
41
|
+
result = StaticAddthis.icons(defaults.merge(:providers => ['Twitter'], :inline => true))
|
42
|
+
result.should_not include('clear')
|
43
|
+
result.should_not include('<div')
|
44
|
+
result.should include('addthis_toolbox')
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
describe :social_icon do
|
49
|
+
it "finds correct offset" do
|
50
|
+
StaticAddthis.social_icon('Twitter').should include('background-position: 0 -5232px')
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{static_addthis}
|
8
|
+
s.version = "0.1.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Michael Grosser"]
|
12
|
+
s.date = %q{2011-06-06}
|
13
|
+
s.email = %q{michael@grosser.it}
|
14
|
+
s.files = [
|
15
|
+
"Gemfile",
|
16
|
+
"Gemfile.lock",
|
17
|
+
"Rakefile",
|
18
|
+
"Readme.md",
|
19
|
+
"VERSION",
|
20
|
+
"assets/addthis_sprite.png",
|
21
|
+
"assets/static_addthis.css",
|
22
|
+
"lib/static_addthis.rb",
|
23
|
+
"spec/static_addthis_spec.rb",
|
24
|
+
"static_addthis.gemspec"
|
25
|
+
]
|
26
|
+
s.homepage = %q{http://github.com/grosser/static_addthis}
|
27
|
+
s.require_paths = ["lib"]
|
28
|
+
s.rubygems_version = %q{1.6.2}
|
29
|
+
s.summary = %q{Fast Addthis: no external js/css/images + no backlinks to addthis}
|
30
|
+
|
31
|
+
if s.respond_to? :specification_version then
|
32
|
+
s.specification_version = 3
|
33
|
+
|
34
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
35
|
+
else
|
36
|
+
end
|
37
|
+
else
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
metadata
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: static_addthis
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 27
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
- 0
|
10
|
+
version: 0.1.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Michael Grosser
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-06-06 00:00:00 +02:00
|
19
|
+
default_executable:
|
20
|
+
dependencies: []
|
21
|
+
|
22
|
+
description:
|
23
|
+
email: michael@grosser.it
|
24
|
+
executables: []
|
25
|
+
|
26
|
+
extensions: []
|
27
|
+
|
28
|
+
extra_rdoc_files: []
|
29
|
+
|
30
|
+
files:
|
31
|
+
- Gemfile
|
32
|
+
- Gemfile.lock
|
33
|
+
- Rakefile
|
34
|
+
- Readme.md
|
35
|
+
- VERSION
|
36
|
+
- assets/addthis_sprite.png
|
37
|
+
- assets/static_addthis.css
|
38
|
+
- lib/static_addthis.rb
|
39
|
+
- spec/static_addthis_spec.rb
|
40
|
+
- static_addthis.gemspec
|
41
|
+
has_rdoc: true
|
42
|
+
homepage: http://github.com/grosser/static_addthis
|
43
|
+
licenses: []
|
44
|
+
|
45
|
+
post_install_message:
|
46
|
+
rdoc_options: []
|
47
|
+
|
48
|
+
require_paths:
|
49
|
+
- lib
|
50
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
hash: 3
|
56
|
+
segments:
|
57
|
+
- 0
|
58
|
+
version: "0"
|
59
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
60
|
+
none: false
|
61
|
+
requirements:
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
hash: 3
|
65
|
+
segments:
|
66
|
+
- 0
|
67
|
+
version: "0"
|
68
|
+
requirements: []
|
69
|
+
|
70
|
+
rubyforge_project:
|
71
|
+
rubygems_version: 1.6.2
|
72
|
+
signing_key:
|
73
|
+
specification_version: 3
|
74
|
+
summary: "Fast Addthis: no external js/css/images + no backlinks to addthis"
|
75
|
+
test_files: []
|
76
|
+
|