auto-linker 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/auto-linker.rb +2 -0
- data/lib/auto-linker/config/instagram.rb +4 -4
- data/lib/auto-linker/config/twitter.rb +4 -4
- data/lib/auto-linker/linker.rb +3 -14
- data/lib/auto-linker/regex.rb +2 -6
- metadata +17 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b588273f3f7ca4a2d62d4b7d914102c1c335c61d
|
4
|
+
data.tar.gz: 1c31d044c745d7efde62a2433dfe07f85017b13a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c2fd0e2364201f31e5b7c1dbd983fc425c3844bb561cb21a8da92c0300a45722fddedc5b1bc2220cd3eda34e89bde8d8cba2c4d7913c307c6375fe8cb303af6
|
7
|
+
data.tar.gz: 0a97f0366e81906c1e51b239050ad8cd37f4d43f37d2dc257dcc9163949e97571ad03115559b34b813f8f926e32f911f5254fb2cbc4ac90024ec10cfb07563b1
|
data/lib/auto-linker.rb
CHANGED
@@ -2,13 +2,13 @@ class Autolinker
|
|
2
2
|
module Config
|
3
3
|
INSTAGRAM = {
|
4
4
|
:handle_class => "linked-url handle".freeze,
|
5
|
-
:hashtag_class => "linked-url hashtag".freeze,
|
6
|
-
:url_class => "linked-url url".freeze,
|
7
|
-
:email_class => "linked-url email".freeze,
|
8
|
-
|
9
5
|
:handle_url_base => "https://instagram.com/".freeze,
|
6
|
+
|
7
|
+
:hashtag_class => "linked-url hashtag".freeze,
|
10
8
|
:hashtag_url_base => "https://instagram.com/explore/tags/".freeze,
|
11
9
|
|
10
|
+
:url_class => "linked-url url".freeze,
|
11
|
+
|
12
12
|
:target => "_blank".freeze
|
13
13
|
}.freeze
|
14
14
|
end
|
@@ -2,13 +2,13 @@ class Autolinker
|
|
2
2
|
module Config
|
3
3
|
TWITTER = {
|
4
4
|
:handle_class => "linked-url handle".freeze,
|
5
|
-
:hashtag_class => "linked-url hashtag".freeze,
|
6
|
-
:url_class => "linked-url url".freeze,
|
7
|
-
:email_class => "linked-url email".freeze,
|
8
|
-
|
9
5
|
:handle_url_base => "https://twitter.com/".freeze,
|
6
|
+
|
7
|
+
:hashtag_class => "linked-url hashtag".freeze,
|
10
8
|
:hashtag_url_base => "https://twitter.com/#!/search?q=%23".freeze,
|
11
9
|
|
10
|
+
:url_class => "linked-url url".freeze,
|
11
|
+
|
12
12
|
:target => "_blank".freeze
|
13
13
|
}.freeze
|
14
14
|
end
|
data/lib/auto-linker/linker.rb
CHANGED
@@ -25,9 +25,8 @@ class Autolinker
|
|
25
25
|
return '' unless text
|
26
26
|
|
27
27
|
@text = text
|
28
|
-
|
28
|
+
@text = Rinku.auto_link(@text, mode=:all, "class=\"#{@config[:url_class]}\" target=\"#{@config[:target]}\"")
|
29
29
|
replace_handle
|
30
|
-
replace_email
|
31
30
|
replace_hashtag
|
32
31
|
@text
|
33
32
|
end
|
@@ -35,21 +34,11 @@ class Autolinker
|
|
35
34
|
private
|
36
35
|
# Replaces handles with clickable links
|
37
36
|
def replace_handle
|
38
|
-
@text.gsub!(Regex::HANDLE,
|
39
|
-
end
|
40
|
-
|
41
|
-
# Replaces urls with clickable links
|
42
|
-
def replace_url
|
43
|
-
@text.gsub!(Regex::URL, '<a href="http://\1" class="' << @config[:url_class] << '" target="' << @config[:target] << '">\1</a>')
|
44
|
-
end
|
45
|
-
|
46
|
-
# Replaces emails with clickable links
|
47
|
-
def replace_email
|
48
|
-
@text.gsub!(Regex::EMAIL, '<a href="mailto:\1" class="' << @config[:email_class] << '" target="' << @config[:target] << '">\1</a>')
|
37
|
+
@text.gsub!(Regex::HANDLE, "<a href=\"#{@config[:handle_url_base]}\\1\" class=\"#{@config[:handle_class]}\" target=\"#{@config[:target]}\">@\\1</a>")
|
49
38
|
end
|
50
39
|
|
51
40
|
# Replaces hashtags with clickable links
|
52
41
|
def replace_hashtag
|
53
|
-
@text.gsub!(Regex::HASHTAG,
|
42
|
+
@text.gsub!(Regex::HASHTAG, "<a href=\"#{@config[:hashtag_url_base]}\\1\" class=\"#{@config[:hashtag_class]}\" target=\"#{@config[:target]}\">#\\1</a>")
|
54
43
|
end
|
55
44
|
end
|
data/lib/auto-linker/regex.rb
CHANGED
@@ -1,11 +1,7 @@
|
|
1
1
|
class Autolinker
|
2
2
|
module Regex extend self
|
3
|
-
HANDLE =
|
3
|
+
HANDLE = /\B@([\w]+)/i
|
4
4
|
|
5
|
-
HASHTAG =
|
6
|
-
|
7
|
-
URL = /(?:https?:\/\/)?([\da-z\.-]+\.[a-z\.]{2,6}[\/\w \#\.-]*)+\/?/i
|
8
|
-
|
9
|
-
EMAIL = /([a-z0-9_\.-]+@[\da-z\.-]+\.[a-z\.]{2,6})/i
|
5
|
+
HASHTAG = /\B#([\w]+)/i
|
10
6
|
end
|
11
7
|
end
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: auto-linker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- François Lehoux
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
12
|
-
dependencies:
|
11
|
+
date: 2015-09-16 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rinku
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.7.2
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.7.2
|
13
27
|
description: Automatically replace mentions, hashtags, urls and emails with links
|
14
28
|
for multiple services (twitter, instagram, facebook, ...)
|
15
29
|
email:
|