marker 0.2.2 → 0.3.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.
- data/lib/marker/common.rb +1 -1
- data/lib/marker/language.treetop +1 -1
- data/lib/marker/links.rb +6 -12
- data/test/links_test.rb +14 -4
- metadata +29 -18
data/lib/marker/common.rb
CHANGED
data/lib/marker/language.treetop
CHANGED
data/lib/marker/links.rb
CHANGED
@@ -137,23 +137,17 @@ module Marker #:nodoc:
|
|
137
137
|
|
138
138
|
class URL < ParseNode
|
139
139
|
def to_html( options = {} )
|
140
|
-
|
141
|
-
if
|
142
|
-
|
143
|
-
"<a href='#{bare_url}'>[#{n}]</a>"
|
140
|
+
url = bare_url
|
141
|
+
if url =~ /[.,!?:]$/
|
142
|
+
"<a href='#{url[0...-1]}'>#{url[0...-1]}</a>#{url[-1]}"
|
144
143
|
else
|
145
|
-
"<a href='#{
|
144
|
+
"<a href='#{url}'>#{url}</a>"
|
146
145
|
end
|
147
146
|
end
|
148
147
|
|
149
148
|
def to_s( options = {} )
|
150
|
-
|
151
|
-
|
152
|
-
n = f.add( bare_url )
|
153
|
-
"[#{n}]"
|
154
|
-
else
|
155
|
-
bare_url
|
156
|
-
end
|
149
|
+
# no need to worry about trailing punctuation since it's all text.
|
150
|
+
bare_url
|
157
151
|
end
|
158
152
|
|
159
153
|
# returns just the URL that was matched
|
data/test/links_test.rb
CHANGED
@@ -101,25 +101,35 @@ class LinkTest < Test::Unit::TestCase
|
|
101
101
|
text = "http://www.example.com following text"
|
102
102
|
markup = Marker.parse text
|
103
103
|
|
104
|
-
assert_match("<p><a href='http://www.example.com'>
|
104
|
+
assert_match("<p><a href='http://www.example.com'>http://www.example.com</a> following text</p>", markup.to_html)
|
105
105
|
end
|
106
106
|
|
107
107
|
def test_bare_url_with_encodings
|
108
108
|
text = "http://www.example.com/page?input=%28%29 following text"
|
109
109
|
markup = Marker.parse text
|
110
110
|
|
111
|
-
assert_match("<p><a href='http://www.example.com/page?input=%28%29'>
|
111
|
+
assert_match("<p><a href='http://www.example.com/page?input=%28%29'>http://www.example.com/page?input=%28%29</a> following text</p>", markup.to_html)
|
112
112
|
end
|
113
113
|
|
114
114
|
def test_bare_url_with_anchor
|
115
115
|
text = "http://www.example.com/page#anchor following text"
|
116
116
|
markup = Marker.parse text
|
117
117
|
|
118
|
-
assert_match("<p><a href='http://www.example.com/page#anchor'>
|
118
|
+
assert_match("<p><a href='http://www.example.com/page#anchor'>http://www.example.com/page#anchor</a> following text</p>", markup.to_html)
|
119
|
+
end
|
120
|
+
|
121
|
+
def test_bare_url_with_punctuation
|
122
|
+
text = "http://www.example.com. following text"
|
123
|
+
markup = Marker.parse text
|
124
|
+
assert_match("<p><a href='http://www.example.com'>http://www.example.com</a>. following text</p>", markup.to_html)
|
125
|
+
|
126
|
+
text = "http://www.example.com, following text"
|
127
|
+
markup = Marker.parse text
|
128
|
+
assert_match("<p><a href='http://www.example.com'>http://www.example.com</a>, following text</p>", markup.to_html)
|
119
129
|
end
|
120
130
|
|
121
131
|
def test_multiple_footnotes
|
122
|
-
text = "http://www.example.com [http://www.example.com]"
|
132
|
+
text = "[http://www.example.com] [http://www.example.com]"
|
123
133
|
markup = Marker.parse text
|
124
134
|
|
125
135
|
# TODO: should this collect identical links into one footnote?
|
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: marker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 3
|
8
|
+
- 0
|
9
|
+
version: 0.3.0
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- Ryan Blue
|
@@ -9,19 +14,23 @@ autorequire:
|
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date: 2010-
|
17
|
+
date: 2010-04-06 00:00:00 +02:00
|
13
18
|
default_executable:
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
21
|
name: treetop
|
17
|
-
|
18
|
-
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
24
|
requirements:
|
21
25
|
- - ">="
|
22
26
|
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 1
|
29
|
+
- 4
|
30
|
+
- 2
|
23
31
|
version: 1.4.2
|
24
|
-
|
32
|
+
type: :runtime
|
33
|
+
version_requirements: *id001
|
25
34
|
description:
|
26
35
|
email: rdblue@gmail.com
|
27
36
|
executables:
|
@@ -33,15 +42,15 @@ extra_rdoc_files:
|
|
33
42
|
- LICENSE
|
34
43
|
files:
|
35
44
|
- bin/marker
|
36
|
-
- lib/marker.rb
|
37
|
-
- lib/marker/verbatim.rb
|
38
|
-
- lib/marker/templates.rb
|
39
|
-
- lib/marker/markup.rb
|
40
45
|
- lib/marker/common.rb
|
41
|
-
- lib/marker/text.rb
|
42
|
-
- lib/marker/links.rb
|
43
46
|
- lib/marker/lists.rb
|
44
47
|
- lib/marker/headings.rb
|
48
|
+
- lib/marker/text.rb
|
49
|
+
- lib/marker/markup.rb
|
50
|
+
- lib/marker/verbatim.rb
|
51
|
+
- lib/marker/links.rb
|
52
|
+
- lib/marker/templates.rb
|
53
|
+
- lib/marker.rb
|
45
54
|
- lib/marker/language.treetop
|
46
55
|
- README
|
47
56
|
- LICENSE
|
@@ -58,26 +67,28 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
58
67
|
requirements:
|
59
68
|
- - ">="
|
60
69
|
- !ruby/object:Gem::Version
|
70
|
+
segments:
|
71
|
+
- 0
|
61
72
|
version: "0"
|
62
|
-
version:
|
63
73
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
64
74
|
requirements:
|
65
75
|
- - ">="
|
66
76
|
- !ruby/object:Gem::Version
|
77
|
+
segments:
|
78
|
+
- 0
|
67
79
|
version: "0"
|
68
|
-
version:
|
69
80
|
requirements: []
|
70
81
|
|
71
82
|
rubyforge_project:
|
72
|
-
rubygems_version: 1.3.
|
83
|
+
rubygems_version: 1.3.6
|
73
84
|
signing_key:
|
74
85
|
specification_version: 3
|
75
86
|
summary: A markup parser that outputs html and text. Syntax is similar to MediaWiki.
|
76
87
|
test_files:
|
77
|
-
- test/templates_test.rb
|
78
88
|
- test/verbatim_test.rb
|
79
89
|
- test/headings_test.rb
|
80
|
-
- test/formatting_test.rb
|
81
|
-
- test/test_helper.rb
|
82
90
|
- test/links_test.rb
|
91
|
+
- test/test_helper.rb
|
92
|
+
- test/formatting_test.rb
|
83
93
|
- test/lists_test.rb
|
94
|
+
- test/templates_test.rb
|