reverse_markdown 0.4.5 → 0.4.6
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 +4 -4
- data/README.md +1 -1
- data/lib/reverse_markdown/mapper.rb +21 -0
- data/lib/reverse_markdown/version.rb +1 -1
- data/spec/assets/tables.html +38 -0
- data/spec/components/tables_spec.rb +16 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0b193cd2ec66cb829fb7cf0ac6e9eaea6d107be3
|
4
|
+
data.tar.gz: fa1019b3746e56ad2b5785f801ea9c2588f1ea69
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b6281693ae3f543e427c8e3667654eee30e157a54c8cde75900f676096b3acd70473a052904d6470ad2659abcfd473c6a704ee58b49bae8e1887290f15ee7159
|
7
|
+
data.tar.gz: 077a7e475ffc4ecd122caa148bac321f3201583a00f5d170b521c2dcf1d4ca96a4531bfc663ee558099618656b20fa2403bd5702b34591ad65a30ebc667a982a
|
data/README.md
CHANGED
@@ -52,7 +52,7 @@ ReverseMarkdown.parse_string(input, github_style_code_blocks: true)
|
|
52
52
|
|
53
53
|
Only basic html tags are supported right now. However, it should not be to difficult to add some. Feel free to contribute or notify me about missing stuff.
|
54
54
|
|
55
|
-
- supported tags: `h1`, `h2`, `h3`, `h4`, `h5`, `h6`, `p`, `em`, `strong`, `i`, `b`, `blockquote`, `code`, `img`, `a`, `hr`, `li`, `ol`, `ul`
|
55
|
+
- supported tags: `h1`, `h2`, `h3`, `h4`, `h5`, `h6`, `p`, `em`, `strong`, `i`, `b`, `blockquote`, `code`, `img`, `a`, `hr`, `li`, `ol`, `ul`, `table`, `tr`, `th`, `td`
|
56
56
|
- nested lists
|
57
57
|
- inline and block code
|
58
58
|
|
@@ -137,6 +137,16 @@ module ReverseMarkdown
|
|
137
137
|
"\n* * *\n"
|
138
138
|
when :br
|
139
139
|
" \n"
|
140
|
+
when :table
|
141
|
+
"\n\n"
|
142
|
+
when :tr
|
143
|
+
"|"
|
144
|
+
when :th, :td
|
145
|
+
if element == element.parent.first_element_child
|
146
|
+
" "
|
147
|
+
else
|
148
|
+
"| "
|
149
|
+
end
|
140
150
|
else
|
141
151
|
handle_error "unknown start tag: #{element.name.to_s}"
|
142
152
|
""
|
@@ -174,6 +184,17 @@ module ReverseMarkdown
|
|
174
184
|
end
|
175
185
|
when :img
|
176
186
|
"#{element['alt']}](#{element['src']}#{title_markdown(element)}) "
|
187
|
+
when :table
|
188
|
+
"\n"
|
189
|
+
when :tr
|
190
|
+
"|\n" + \
|
191
|
+
if element.element_children.all? {|child| child.name.to_sym == :th}
|
192
|
+
"| " + (['---'] * element.element_children.size).join(' | ') + " |\n"
|
193
|
+
else
|
194
|
+
""
|
195
|
+
end
|
196
|
+
when :th, :td
|
197
|
+
" "
|
177
198
|
else
|
178
199
|
handle_error "unknown end tag: #{element.name}"
|
179
200
|
""
|
@@ -0,0 +1,38 @@
|
|
1
|
+
<html>
|
2
|
+
<body>
|
3
|
+
some text...
|
4
|
+
|
5
|
+
<table>
|
6
|
+
<tr>
|
7
|
+
<th>header 1</th>
|
8
|
+
<th>header 2</th>
|
9
|
+
<th>header 3</th>
|
10
|
+
</tr>
|
11
|
+
<tr>
|
12
|
+
<td>data 1-1</td>
|
13
|
+
<td>data 2-1</td>
|
14
|
+
<td>data 3-1</td>
|
15
|
+
</tr>
|
16
|
+
<tr>
|
17
|
+
<td>data 1-2</td>
|
18
|
+
<td>data 2-2</td>
|
19
|
+
<td>data 3-2</td>
|
20
|
+
</tr>
|
21
|
+
</table>
|
22
|
+
|
23
|
+
<table>
|
24
|
+
<tr>
|
25
|
+
<th><i>header oblique</i></th>
|
26
|
+
<th><strong>header bold</strong></th>
|
27
|
+
<th><code>header code</code></th>
|
28
|
+
</tr>
|
29
|
+
<tr>
|
30
|
+
<td><i>data oblique</i></td>
|
31
|
+
<td><strong>data bold</strong></td>
|
32
|
+
<td><code>data code</code></td>
|
33
|
+
</tr>
|
34
|
+
</table>
|
35
|
+
|
36
|
+
some text...
|
37
|
+
</body>
|
38
|
+
</html>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe ReverseMarkdown::Mapper do
|
4
|
+
|
5
|
+
let(:input) { File.read('spec/assets/tables.html') }
|
6
|
+
let(:document) { Nokogiri::HTML(input) }
|
7
|
+
subject { ReverseMarkdown.parse_string(input) }
|
8
|
+
|
9
|
+
it { should match /\n\| header 1 \| header 2 \| header 3 \|\n\| --- \| --- \| --- \|\n/ }
|
10
|
+
it { should match /\n\| data 1-1 \| data 2-1 \| data 3-1 \|\n/ }
|
11
|
+
it { should match /\n\| data 1-2 \| data 2-2 \| data 3-2 \|\n/ }
|
12
|
+
|
13
|
+
it { should match /\n\| _header oblique_ \| \*\*header bold\*\* \| `header code` \|\n| --- \| --- \| --- \|\n/ }
|
14
|
+
it { should match /\n\| _data oblique_ \| \*\*data bold\*\* \| `data code` \|\n/ }
|
15
|
+
|
16
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reverse_markdown
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Johannes Opper
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-08-
|
11
|
+
date: 2013-08-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -112,6 +112,7 @@ files:
|
|
112
112
|
- spec/assets/minimum.html
|
113
113
|
- spec/assets/paragraphs.html
|
114
114
|
- spec/assets/quotation.html
|
115
|
+
- spec/assets/tables.html
|
115
116
|
- spec/components/anchors_spec.rb
|
116
117
|
- spec/components/basic_spec.rb
|
117
118
|
- spec/components/code_spec.rb
|
@@ -121,6 +122,7 @@ files:
|
|
121
122
|
- spec/components/lists_spec.rb
|
122
123
|
- spec/components/paragraphs_spec.rb
|
123
124
|
- spec/components/quotation_spec.rb
|
125
|
+
- spec/components/tables_spec.rb
|
124
126
|
- spec/html_to_markdown_to_html_spec.rb
|
125
127
|
- spec/mapper_spec.rb
|
126
128
|
- spec/reverse_markdown_spec.rb
|
@@ -160,6 +162,7 @@ test_files:
|
|
160
162
|
- spec/assets/minimum.html
|
161
163
|
- spec/assets/paragraphs.html
|
162
164
|
- spec/assets/quotation.html
|
165
|
+
- spec/assets/tables.html
|
163
166
|
- spec/components/anchors_spec.rb
|
164
167
|
- spec/components/basic_spec.rb
|
165
168
|
- spec/components/code_spec.rb
|
@@ -169,6 +172,7 @@ test_files:
|
|
169
172
|
- spec/components/lists_spec.rb
|
170
173
|
- spec/components/paragraphs_spec.rb
|
171
174
|
- spec/components/quotation_spec.rb
|
175
|
+
- spec/components/tables_spec.rb
|
172
176
|
- spec/html_to_markdown_to_html_spec.rb
|
173
177
|
- spec/mapper_spec.rb
|
174
178
|
- spec/reverse_markdown_spec.rb
|