text_helpers 0.5.3 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6e9b829fa88f9ad1e94b5fc765be9ef96dece698
4
- data.tar.gz: d44540a66cec3f4fc55833abdd5aeebdfdbbe10d
3
+ metadata.gz: 49b35b498f0e54737019e94b1de125ae9e7319a1
4
+ data.tar.gz: c05d609d512fcd23f83c9e86d3ff25020d5ce794
5
5
  SHA512:
6
- metadata.gz: b837b932d7ac506aeebd0a6710c5b2d5f8207661d5a4f73178109520a399faab0dd501d7d96e92d7e8683b155f4a83f9cf13630d85e02091c4ab32ca6b55f010
7
- data.tar.gz: 4842e1f6a211bb49bde743ce7a90c671599c8588c25bb9f80766e60a602ffb8a411b728d7d5bc90567243b7059094379befdf72a0c93b3350034b187d81dd65a
6
+ metadata.gz: 209bd9aec92f16e3cbdc2789e4a5dff9983bb9a08ddc1f2481ec21900a260efcfa6688d04e1c466d0929d3dd5e1093a0359cb234a070a3fdf575c7ef43aa79ae
7
+ data.tar.gz: 01e934de93f63e04425313d09736ee11e880a828639162e8625ab0f9c725e9c01719fd881f1283fd0cc28dc6b64d1b82817b0df63894e1750fcbe1451163f9bb
data/.travis.yml ADDED
@@ -0,0 +1,3 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.2.2
@@ -4,6 +4,22 @@ require "redcarpet"
4
4
 
5
5
  module TextHelpers
6
6
 
7
+ class ExternalLinks < Redcarpet::Render::HTML
8
+
9
+ PROTOCOL_MATCHER = /\Ahttp/.freeze
10
+
11
+ def link(link, title, content)
12
+ attributes = [
13
+ ("href=\"#{link}\"" if link),
14
+ ("title=\"#{title}\"" if title),
15
+ ("target=\"_blank\"" if link =~ PROTOCOL_MATCHER),
16
+ ]
17
+
18
+ "<a #{attributes.compact.join(" ")}>#{content}</a>"
19
+ end
20
+
21
+ end
22
+
7
23
  module Translation
8
24
 
9
25
  ORPHAN_MATCHER = /\s(?![^<]*>)(\S+\s*<\/(?:p|li)>)/.freeze
@@ -62,7 +78,7 @@ module TextHelpers
62
78
  #
63
79
  # Returns a String.
64
80
  def markdown(text)
65
- @renderer ||= Redcarpet::Markdown.new(Redcarpet::Render::HTML, no_intra_emphasis: true)
81
+ @renderer ||= Redcarpet::Markdown.new(ExternalLinks, no_intra_emphasis: true)
66
82
  smartify(@renderer.render(text))
67
83
  end
68
84
 
@@ -1,3 +1,3 @@
1
1
  module TextHelpers
2
- VERSION = "0.5.3"
2
+ VERSION = "0.6.0"
3
3
  end
@@ -24,6 +24,8 @@ describe TextHelpers::Translation do
24
24
  test_key: @global_text,
25
25
  multiline_key: @multiline_text,
26
26
  interpolated_key: "%{interpolate_with}",
27
+ internal_link: "[Internal link](/internal/path)",
28
+ external_link: "[External link](http://external.com)",
27
29
  test: {
28
30
  email_key: "<#{@email_address}>",
29
31
  test_key: "*#{@scoped_text}*",
@@ -98,6 +100,14 @@ describe TextHelpers::Translation do
98
100
  assert_equal "<em>#{@scoped_text}</em>\n", @helper.html(:test_key, inline: true, orphans: true)
99
101
  end
100
102
 
103
+ it "renders internal links without a target" do
104
+ assert_equal "<a href=\"/internal/path\">Internal&nbsp;link</a>\n", @helper.html(:internal_link, inline: true)
105
+ end
106
+
107
+ it "renders external links with target='_blank'" do
108
+ assert_equal "<a href=\"http://external.com\" target=\"_blank\">External&nbsp;link</a>\n", @helper.html(:external_link, inline: true)
109
+ end
110
+
101
111
  it "interpolates values wrapped in !!" do
102
112
  assert_equal "Global? (#{@global_text})", @helper.text(:interpolated_key)
103
113
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: text_helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Horner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-25 00:00:00.000000000 Z
11
+ date: 2015-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -88,6 +88,7 @@ extensions: []
88
88
  extra_rdoc_files: []
89
89
  files:
90
90
  - ".gitignore"
91
+ - ".travis.yml"
91
92
  - Gemfile
92
93
  - LICENSE
93
94
  - README.md
@@ -123,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
124
  version: '0'
124
125
  requirements: []
125
126
  rubyforge_project:
126
- rubygems_version: 2.4.3
127
+ rubygems_version: 2.4.7
127
128
  signing_key:
128
129
  specification_version: 4
129
130
  summary: TextHelpers is a gem which supplies some basic utilities for text localization