text_helpers 0.5.3 → 0.6.0

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.
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