minidown 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/.travis.yml +9 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +73 -0
  7. data/Rakefile +4 -0
  8. data/bin/minidown +33 -0
  9. data/lib/minidown.rb +13 -0
  10. data/lib/minidown/document.rb +142 -0
  11. data/lib/minidown/element.rb +40 -0
  12. data/lib/minidown/elements.rb +15 -0
  13. data/lib/minidown/elements/block_element.rb +37 -0
  14. data/lib/minidown/elements/code_block_element.rb +44 -0
  15. data/lib/minidown/elements/dividing_line_element.rb +11 -0
  16. data/lib/minidown/elements/html_element.rb +22 -0
  17. data/lib/minidown/elements/indent_code_element.rb +23 -0
  18. data/lib/minidown/elements/line_element.rb +28 -0
  19. data/lib/minidown/elements/list_element.rb +36 -0
  20. data/lib/minidown/elements/list_group_element.rb +87 -0
  21. data/lib/minidown/elements/order_list_element.rb +20 -0
  22. data/lib/minidown/elements/paragraph_element.rb +56 -0
  23. data/lib/minidown/elements/raw_html_element.rb +11 -0
  24. data/lib/minidown/elements/table_element.rb +80 -0
  25. data/lib/minidown/elements/text_element.rb +198 -0
  26. data/lib/minidown/elements/unorder_list_element.rb +31 -0
  27. data/lib/minidown/html_helper.rb +18 -0
  28. data/lib/minidown/parser.rb +19 -0
  29. data/lib/minidown/utils.rb +28 -0
  30. data/lib/minidown/version.rb +3 -0
  31. data/minidown.gemspec +26 -0
  32. data/spec/blank_line_spec.rb +21 -0
  33. data/spec/code_block_spec.rb +182 -0
  34. data/spec/dividing_line_spec.rb +35 -0
  35. data/spec/h1_and_h2_spec.rb +55 -0
  36. data/spec/indent_block_spec.rb +17 -0
  37. data/spec/li_spec.rb +354 -0
  38. data/spec/minidown_spec.rb +12 -0
  39. data/spec/paragraph_spec.rb +17 -0
  40. data/spec/raw_html_spec.rb +43 -0
  41. data/spec/spec_helper.rb +2 -0
  42. data/spec/start_with_gt_spec.rb +70 -0
  43. data/spec/start_with_shape_spec.rb +42 -0
  44. data/spec/table_spec.rb +63 -0
  45. data/spec/task_list_spec.rb +18 -0
  46. data/spec/text_element_spec.rb +317 -0
  47. metadata +175 -0
@@ -0,0 +1,42 @@
1
+ require 'spec_helper'
2
+
3
+ describe Minidown do
4
+ describe '###### title' do
5
+ it 'should parse "#" as text' do
6
+ Minidown.render('#').should == '<p>#</p>'
7
+ end
8
+
9
+ it 'should parse "#####"' do
10
+ (2..7).map{|n| '#' * n}.each do |str|
11
+ tag = "h#{str.size - 1}"
12
+ Minidown.render(str).should == "<#{tag}>#</#{tag}>"
13
+ end
14
+ end
15
+
16
+ it 'should ignore blank' do
17
+ str =<<HERE
18
+ #### h4 ######
19
+ HERE
20
+ Minidown.render(str).should == "<h4>h4</h4>"
21
+ end
22
+ end
23
+
24
+ describe 'should not parse escaped' do
25
+ it 'start with escape' do
26
+ %w{\####### \###### \#### \### \## \#}.each do |str|
27
+ Minidown.render(str).should == "<p>#{str[1..-1]}</p>"
28
+ end
29
+ end
30
+
31
+ it 'some other case' do
32
+ str = '#\##'
33
+ Minidown.render(str).should == "<h1>\\</h1>"
34
+ str = '##\##\\'
35
+ Minidown.render(str).should == "<h2>##\\</h2>"
36
+ str = '# \# #'
37
+ Minidown.render(str).should == "<h1>#</h1>"
38
+ str = '#\#'
39
+ Minidown.render(str).should == "<h1>\\</h1>"
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,63 @@
1
+ require 'spec_helper'
2
+
3
+ describe Minidown do
4
+ describe 'table' do
5
+ it 'should parse correct' do
6
+ str =<<HERE
7
+ First Header | Second Header
8
+ ------------- | -------------
9
+ Content Cell | Content Cell
10
+ Content Cell | Content Cell
11
+ HERE
12
+ Minidown.render(str).should == '<table><thead><tr><th>First Header</th><th>Second Header</th></tr></thead><tbody><tr><td>Content Cell</td><td>Content Cell</td></tr><tr><td>Content Cell</td><td>Content Cell</td></tr></tbody></table>'
13
+ end
14
+
15
+ it 'should parse correct with pipe end' do
16
+ str =<<HERE
17
+ | First Header | Second Header |
18
+ | ------------- | ------------- |
19
+ | Content Cell | Content Cell |
20
+ | Content Cell | Content Cell |
21
+ HERE
22
+ Minidown.render(str).should == '<table><thead><tr><th>First Header</th><th>Second Header</th></tr></thead><tbody><tr><td>Content Cell</td><td>Content Cell</td></tr><tr><td>Content Cell</td><td>Content Cell</td></tr></tbody></table>'
23
+ end
24
+
25
+ it 'should allow inline markdown' do
26
+ str = <<HERE
27
+ | Name | Description |
28
+ | ------------- | ----------- |
29
+ | Help | ~~Display the~~ help window.|
30
+ | Close | _Closes_ a window |
31
+ HERE
32
+ Minidown.render(str).should == '<table><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td>Help</td><td><del>Display the</del> help window.</td></tr><tr><td>Close</td><td><em>Closes</em> a window</td></tr></tbody></table>'
33
+ end
34
+
35
+ it 'should allow define align' do
36
+ str = <<HERE
37
+ | Left-Aligned | Center Aligned | Right Aligned |
38
+ | :------------ |:---------------:| -----:|
39
+ | col 3 is | some wordy text | $1600 |
40
+ | col 2 is | centered | $12 |
41
+ | zebra stripes | are neat | $1 |
42
+ HERE
43
+ Minidown.render(str).should == '<table><thead><tr><th align="left">Left-Aligned</th><th align="center">Center Aligned</th><th align="right">Right Aligned</th></tr></thead><tbody><tr><td align="left">col 3 is</td><td align="center">some wordy text</td><td align="right">$1600</td></tr><tr><td align="left">col 2 is</td><td align="center">centered</td><td align="right">$12</td></tr><tr><td align="left">zebra stripes</td><td align="center">are neat</td><td align="right">$1</td></tr></tbody></table>'
44
+ end
45
+
46
+ it 'should allow escape' do
47
+ str =<<HERE
48
+ \\| First Header | Second Header |
49
+ | ------------- | ------------- |
50
+ | Content Cell | Content Cell |
51
+ | Content Cell | Content Cell |
52
+ HERE
53
+ Minidown.render(str).should == '<p>| First Header | Second Header |<br>| ------------- | ------------- |<br>| Content Cell | Content Cell |<br>| Content Cell | Content Cell |</p>'
54
+ end
55
+
56
+ it 'should not parse as table' do
57
+ str = "|not|table|"
58
+ Minidown.render(str).should == '<p>|not|table|</p>'
59
+ str = "not|table"
60
+ Minidown.render(str).should == '<p>not|table</p>'
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ describe Minidown do
4
+ describe 'task list' do
5
+ it 'should parse correct' do
6
+ str =<<HERE
7
+ - [ ] a task list item
8
+ - [ ] list syntax required
9
+ - [ ] normal **formatting**,
10
+ @mentions, #1234 refs
11
+ - [ ] incomplete
12
+ - [x] completed
13
+ HERE
14
+ Minidown.render(str).should == '<ul class="task-list"><li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled=""> a task list item</li><li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled=""> list syntax required</li><li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled=""><p> normal <strong>formatting</strong>,</p>
15
+ <p>@mentions, #1234 refs</p></li><li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled=""> incomplete</li><li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" checked="" disabled=""> completed</li></ul>'
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,317 @@
1
+ require 'spec_helper'
2
+
3
+ describe Minidown do
4
+ describe 'text element' do
5
+ it 'escape' do
6
+ str = "<>"
7
+ Minidown.render(str).should == "<p>&lt;&gt;</p>"
8
+ end
9
+
10
+ it 'escape special symbol' do
11
+ str = '\\\\
12
+ \\`
13
+ \\*
14
+ \\_
15
+ \\{
16
+ \\}
17
+ \\[
18
+ \\]
19
+ \\(
20
+ \\)
21
+ \\#
22
+ \\+
23
+ \\-
24
+ \\.
25
+ \\!'
26
+ Minidown.render(str).should == '<p>\
27
+ `
28
+ *
29
+ _
30
+ {
31
+ }
32
+ [
33
+ ]
34
+ (
35
+ )
36
+ #
37
+ +
38
+ -
39
+ .
40
+ !</p>'.split.join('<br>')
41
+ end
42
+
43
+ it 'escape escape symbol' do
44
+ str = %q{\\\\`
45
+ \\\\*
46
+ \\\\_
47
+ \\\\{
48
+ \\\\}
49
+ \\\\[
50
+ \\\\]
51
+ \\\\(
52
+ \\\\)
53
+ \\\\#
54
+ \\\\+
55
+ \\\\-
56
+ \\\\.
57
+ \\\\!}
58
+ Minidown.render(str).should == %q{<p>\\`
59
+ \\*
60
+ \\_
61
+ \\{
62
+ \\}
63
+ \\[
64
+ \\]
65
+ \\(
66
+ \\)
67
+ \\#
68
+ \\+
69
+ \\-
70
+ \\.
71
+ \\!</p>}.split.join('<br>')
72
+ end
73
+
74
+ it 'html tag' do
75
+ str = "<a href=\"http://github.com\">github</a>"
76
+ Minidown.render(str).should == "<p>#{str}</p>"
77
+ end
78
+
79
+ context 'link' do
80
+ it 'should parse correct' do
81
+ str = %Q{This is [an example](http://example.com/ "Title") inline link.
82
+
83
+ [This link](http://example.net/) has no title attribute.}
84
+ Minidown.render(str).should == %Q{<p>This is <a href="http://example.com/" title="Title">an example</a> inline link.</p><p><a href="http://example.net/">This link</a> has no title attribute.</p>}
85
+
86
+ str = '[link a](https://a.example.com) and [link b](https://b.example.com)'
87
+ Minidown.render(str).should == "<p><a href=\"https://a.example.com\">link a</a> and <a href=\"https://b.example.com\">link b</a></p>"
88
+ end
89
+
90
+ it 'should allow related path' do
91
+ str = "See my [About](/about/) page for details."
92
+ Minidown.render(str).should == %Q{<p>See my <a href=\"/about/\">About</a> page for details.</p>}
93
+ end
94
+
95
+ it 'should allow reference' do
96
+ str =<<HERE
97
+ I get 10 times more traffic from [Google] [1] than from
98
+ [Yahoo] [2] or [MSN] [3].
99
+
100
+ [1]: http://google.com/ "Google"
101
+ [2]: http://search.yahoo.com/ "Yahoo Search"
102
+ [3]: http://search.msn.com/ "MSN Search"
103
+ HERE
104
+ str2 =<<HERE
105
+ I get 10 times more traffic from [Google][] than from
106
+ [Yahoo][] or [MSN][].
107
+
108
+ [google]: http://google.com/ "Google"
109
+ [yahoo]: http://search.yahoo.com/ "Yahoo Search"
110
+ [msn]: http://search.msn.com/ "MSN Search"
111
+ HERE
112
+ [str, str2].each do |s|
113
+ Minidown.render(s).should == '<p>I get 10 times more traffic from <a href="http://google.com/" title="Google">Google</a> than from<br><a href="http://search.yahoo.com/" title="Yahoo Search">Yahoo</a> or <a href="http://search.msn.com/" title="MSN Search">MSN</a>.</p>'
114
+ end
115
+ end
116
+
117
+ it 'can ignore title' do
118
+ str =<<HERE
119
+ I get 10 times more traffic from [Google][] than from
120
+ [Yahoo][] or [MSN][].
121
+
122
+ [google]: http://google.com/ "Google"
123
+ [yahoo]: http://search.yahoo.com/
124
+ [msn]: http://search.msn.com/ "MSN Search"
125
+ HERE
126
+ Minidown.render(str).should == '<p>I get 10 times more traffic from <a href="http://google.com/" title="Google">Google</a> than from<br><a href="http://search.yahoo.com/">Yahoo</a> or <a href="http://search.msn.com/" title="MSN Search">MSN</a>.</p>'
127
+ end
128
+ end
129
+
130
+ context 'auto link' do
131
+ it 'should parse link' do
132
+ str = "https://github.com/jjyr/minidown"
133
+ Minidown.render(str).should == "<p><a href=\"#{str}\">#{str}</a></p>"
134
+ end
135
+
136
+ it 'can parse multi link' do
137
+ str = "https://github.com/jjyr/minidown https://github.com"
138
+ Minidown.render(str).should == "<p><a href=\"https://github.com/jjyr/minidown\">https://github.com/jjyr/minidown</a> <a href=\"https://github.com\">https://github.com</a></p>"
139
+ end
140
+
141
+ it 'should not parse link in tag' do
142
+ str = "<a href=\"https://github.com/jjyr/minidown\">minidown</a>"
143
+ Minidown.render(str).should == "<p>#{str}</p>"
144
+ end
145
+
146
+ it 'should not parse link without scheme' do
147
+ str = "github.com/jjyr/minidown"
148
+ Minidown.render(str).should == "<p>#{str}</p>"
149
+ end
150
+
151
+ it 'should parse email address' do
152
+ str = "jjyruby@gmail.com"
153
+ Minidown.render(str).should == "<p><a href=\"mailto:#{str}\">#{str}</a></p>"
154
+ end
155
+
156
+ it 'can parse multi email' do
157
+ str = "jjyruby@gmail.com jjyruby@gmail.com"
158
+ Minidown.render(str).should == "<p><a href=\"mailto:jjyruby@gmail.com\">jjyruby@gmail.com</a> <a href=\"mailto:jjyruby@gmail.com\">jjyruby@gmail.com</a></p>"
159
+ end
160
+
161
+ it 'should play with normal text' do
162
+ str = "Hi, jjyruby@gmail.com is my email."
163
+ Minidown.render(str).should == "<p>Hi, <a href=\"mailto:jjyruby@gmail.com\">jjyruby@gmail.com</a> is my email.</p>"
164
+
165
+ str = "Hi, <jjyruby@gmail.com> is my email."
166
+ Minidown.render(str).should == "<p>Hi, <a href=\"mailto:jjyruby@gmail.com\">jjyruby@gmail.com</a> is my email.</p>"
167
+ end
168
+
169
+ it 'should not parse email in tag' do
170
+ str = "<a href=\"mailto:jjyruby@gmail.com\">jjyr</a>"
171
+ Minidown.render(str).should == "<p>#{str}</p>"
172
+ end
173
+
174
+ it 'should parse with <>' do
175
+ str = "<https://github.com/jjyr/minidown>"
176
+ Minidown.render(str).should == "<p><a href=\"#{str[1..-2]}\">#{str[1..-2]}</a></p>"
177
+ end
178
+
179
+ it 'should not parse with <> if url invalid' do
180
+ str = "<github.com/jjyr/minidown>"
181
+ Minidown.render(str).should == "<p>#{str}</p>"
182
+ end
183
+
184
+ it 'should parse email' do
185
+ str = "<jjyruby@gmail.com>"
186
+ Minidown.render(str).should == "<p><a href=\"mailto:jjyruby@gmail.com\">jjyruby@gmail.com</a></p>"
187
+ end
188
+ end
189
+
190
+ context '~~del~~' do
191
+ it 'should parse correct' do
192
+ ['del', 'd', 'i am del'].each do |w|
193
+ str = "~~#{w}~~"
194
+ Minidown.render(str).should == "<p><del>#{w}</del></p>"
195
+ end
196
+ end
197
+
198
+ it 'should allow mutil in oneline' do
199
+ str = '~~i am del~~ and ~~i am another del~~'
200
+ Minidown.render(str).should == '<p><del>i am del</del> and <del>i am another del</del></p>'
201
+
202
+ end
203
+
204
+ it 'should not allow space' do
205
+ str = '~~ del ~~'
206
+ Minidown.render(str).should == '<p>~~ del ~~</p>'
207
+ end
208
+
209
+ it 'should allow escape' do
210
+ str = "\\~~del~~"
211
+ Minidown.render(str).should == '<p>~~del~~</p>'
212
+ end
213
+ end
214
+
215
+ context '*_ em & strong' do
216
+ it 'parse as em' do
217
+ ['*', '_'].each do |c|
218
+ Minidown.render("#{c}em#{c}").should == '<p><em>em</em></p>'
219
+ end
220
+ end
221
+
222
+ it 'should work well with text' do
223
+ Minidown.render("a _close_ a window").should == '<p>a <em>close</em> a window</p>'
224
+ Minidown.render("a *close* a window").should == '<p>a <em>close</em> a window</p>'
225
+ end
226
+
227
+ it 'can not mass' do
228
+ Minidown.render("*em_").should == '<p>*em_</p>'
229
+ end
230
+
231
+ it 'parse as strong' do
232
+ ['**', '__'].each do |c|
233
+ Minidown.render("#{c}strong#{c}").should == '<p><strong>strong</strong></p>'
234
+ end
235
+ end
236
+
237
+ it '* can work in string' do
238
+ Minidown.render("this*em*string").should == '<p>this<em>em</em>string</p>'
239
+ end
240
+
241
+ it '_ can not work in string' do
242
+ Minidown.render("_here_method").should == '<p>_here_method</p>'
243
+ Minidown.render("_here_method_").should == '<p><em>here_method</em></p>'
244
+ end
245
+
246
+ it 'should parse correct' do
247
+ Minidown.render("_ *what*_").should == '<p>_ <em>what</em>_</p>'
248
+ end
249
+
250
+ it 'should allow escape' do
251
+ Minidown.render("\\*\\_\\*").should == '<p>*_*</p>'
252
+ end
253
+
254
+ it 'should work well' do
255
+ str = "*View the [source of this content](http://github.github.com/github-flavored-markdown/sample_content.html).*"
256
+ Minidown.render(str).should == "<p><em>View the <a href=\"http://github.github.com/github-flavored-markdown/sample_content.html\">source of this content</a>.</em></p>"
257
+ end
258
+ end
259
+
260
+ context 'inline code' do
261
+ it 'should parse correct' do
262
+ str = "Use the `printf()` function."
263
+ Minidown.render(str).should == "<p>Use the <code>printf()</code> function.</p>"
264
+ end
265
+
266
+ it 'should can use multi `' do
267
+ str = "``There is a literal backtick (`) here.``"
268
+ Minidown.render(str).should == "<p><code>There is a literal backtick (`) here.</code></p>"
269
+
270
+ str = 'A single backtick in a code span: `` ` ``
271
+
272
+ A backtick-delimited string in a code span: `` `foo` ``'
273
+ Minidown.render(str).should == '<p>A single backtick in a code span: <code>`</code></p><p>A backtick-delimited string in a code span: <code>`foo`</code></p>'
274
+ end
275
+
276
+ it 'can parse multi inline code' do
277
+ str = "`hello` `world`"
278
+ Minidown.render(str).should == "<p><code>hello</code> <code>world</code></p>"
279
+ end
280
+
281
+ it 'should auto escape' do
282
+ str = "Please don't use any `<blink>` tags."
283
+ Minidown.render(str).should == "<p>Please don't use any <code>&lt;blink&gt;</code> tags.</p>"
284
+ end
285
+
286
+ it 'should not auto convert' do
287
+ str = "`jjyruby@gmail.com`"
288
+ Minidown.render(str).should == '<p><code>jjyruby@gmail.com</code></p>'
289
+ end
290
+ end
291
+
292
+ context 'image syntax' do
293
+ it 'should parse correct' do
294
+ str = '![Alt text](/path/to/img.jpg)'
295
+ Minidown.render(str).should == "<p><img src=\"/path/to/img.jpg\" alt=\"Alt text\"></img></p>"
296
+ end
297
+
298
+ it 'should have title' do
299
+ str = "![Alt text](/path/to/img.jpg \"title\")"
300
+ Minidown.render(str).should == "<p><img src=\"/path/to/img.jpg\" alt=\"Alt text\" title=\"title\"></img></p>"
301
+ end
302
+
303
+ it 'should allow reference' do
304
+ str =<<HERE
305
+ ![Image 1][img1]
306
+ ![Image 2][img2]
307
+ ![Image 3][img3]
308
+
309
+ [img1]: url/to/image1 "Image 1"
310
+ [img2]: url/to/image2
311
+ [img3]: url/to/image3 "Image 3"
312
+ HERE
313
+ Minidown.render(str).should == "<p><img src=\"url/to/image1\" alt=\"Image 1\" title=\"Image 1\"></img><br><img src=\"url/to/image2\" alt=\"Image 2\"></img><br><img src=\"url/to/image3\" alt=\"Image 3\" title=\"Image 3\"></img></p>"
314
+ end
315
+ end
316
+ end
317
+ end
metadata ADDED
@@ -0,0 +1,175 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: minidown
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.1.1
5
+ platform: ruby
6
+ authors:
7
+ - jjy
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-02-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: pry
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry-nav
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: Minidown is a lightweight & fast markdown parser, with complete GFM support.
84
+ email:
85
+ - jjyruby@gmail.com
86
+ executables:
87
+ - minidown
88
+ extensions: []
89
+ extra_rdoc_files: []
90
+ files:
91
+ - ".gitignore"
92
+ - ".travis.yml"
93
+ - Gemfile
94
+ - LICENSE.txt
95
+ - README.md
96
+ - Rakefile
97
+ - bin/minidown
98
+ - lib/minidown.rb
99
+ - lib/minidown/document.rb
100
+ - lib/minidown/element.rb
101
+ - lib/minidown/elements.rb
102
+ - lib/minidown/elements/block_element.rb
103
+ - lib/minidown/elements/code_block_element.rb
104
+ - lib/minidown/elements/dividing_line_element.rb
105
+ - lib/minidown/elements/html_element.rb
106
+ - lib/minidown/elements/indent_code_element.rb
107
+ - lib/minidown/elements/line_element.rb
108
+ - lib/minidown/elements/list_element.rb
109
+ - lib/minidown/elements/list_group_element.rb
110
+ - lib/minidown/elements/order_list_element.rb
111
+ - lib/minidown/elements/paragraph_element.rb
112
+ - lib/minidown/elements/raw_html_element.rb
113
+ - lib/minidown/elements/table_element.rb
114
+ - lib/minidown/elements/text_element.rb
115
+ - lib/minidown/elements/unorder_list_element.rb
116
+ - lib/minidown/html_helper.rb
117
+ - lib/minidown/parser.rb
118
+ - lib/minidown/utils.rb
119
+ - lib/minidown/version.rb
120
+ - minidown.gemspec
121
+ - spec/blank_line_spec.rb
122
+ - spec/code_block_spec.rb
123
+ - spec/dividing_line_spec.rb
124
+ - spec/h1_and_h2_spec.rb
125
+ - spec/indent_block_spec.rb
126
+ - spec/li_spec.rb
127
+ - spec/minidown_spec.rb
128
+ - spec/paragraph_spec.rb
129
+ - spec/raw_html_spec.rb
130
+ - spec/spec_helper.rb
131
+ - spec/start_with_gt_spec.rb
132
+ - spec/start_with_shape_spec.rb
133
+ - spec/table_spec.rb
134
+ - spec/task_list_spec.rb
135
+ - spec/text_element_spec.rb
136
+ homepage: https://github.com/jjyr/minidown
137
+ licenses:
138
+ - MIT
139
+ metadata: {}
140
+ post_install_message:
141
+ rdoc_options: []
142
+ require_paths:
143
+ - lib
144
+ required_ruby_version: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ version: '0'
149
+ required_rubygems_version: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ requirements: []
155
+ rubyforge_project:
156
+ rubygems_version: 2.2.0.rc.1
157
+ signing_key:
158
+ specification_version: 4
159
+ summary: Minidown is a lightweight & fast markdown parser, with complete GFM support.
160
+ test_files:
161
+ - spec/blank_line_spec.rb
162
+ - spec/code_block_spec.rb
163
+ - spec/dividing_line_spec.rb
164
+ - spec/h1_and_h2_spec.rb
165
+ - spec/indent_block_spec.rb
166
+ - spec/li_spec.rb
167
+ - spec/minidown_spec.rb
168
+ - spec/paragraph_spec.rb
169
+ - spec/raw_html_spec.rb
170
+ - spec/spec_helper.rb
171
+ - spec/start_with_gt_spec.rb
172
+ - spec/start_with_shape_spec.rb
173
+ - spec/table_spec.rb
174
+ - spec/task_list_spec.rb
175
+ - spec/text_element_spec.rb