Sha256: 8259f93e1d05ef6c82ba6a14a73ddebdfe009110b953782b3327d95f3848602f
Contents?: true
Size: 1.31 KB
Versions: 1
Compression:
Stored size: 1.31 KB
Contents
%w{ uri murlsh }.each { |m| require m } module Murlsh # show a via link for the url class UrlDisplayAdd60Via < Plugin @hook = 'url_display_add' HttpRe = %r{^http://}i HackerNewsRe = %r{^news\.ycombinator\.com}i RedditRe = %r{^www\.reddit\.com/r/([a-z\d]+?)/}i DeliciousRe = %r{^(?:www\.)?delicious\.com/(\w+)}i TwitterRe = %r{^twitter\.com/(\w+)}i TumblrRe = %r{^([a-z\d][a-z\d-]{0,61}[a-z\d])\.tumblr\.com/}i # show a via link for the url def self.run(markup, url, config) if url.via if via_uri = Murlsh::failproof { URI(url.via) } via_uri_s = via_uri.to_s search = via_uri_s.gsub(HttpRe, '') display_via = case when m = search.match(HackerNewsRe) 'hacker news' when m = search.match(RedditRe) "#{m[1]}.reddit" when m = search.match(DeliciousRe) "delicious/#{m[1]}" when m = search.match(TwitterRe) "twitter/#{m[1]}" when m = search.match(TumblrRe) "#{m[1]}.tumblr" else via_uri.domain || via_uri_s end markup.span(:class => 'via') do markup.text!(' via '); markup.a(display_via, :href => via_uri_s) end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
murlsh-1.0.0 | plugins/url_display_add_60_via.rb |