reverse_markdown 1.1.0 → 1.2.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
- SHA1:
3
- metadata.gz: e62d51d33119ebe3919029cf32b1e642af179b43
4
- data.tar.gz: aaab49c9d182d104a60b9a8fb42e11cb499fc29d
2
+ SHA256:
3
+ metadata.gz: 69b75c5dec924f267e5861ed24edafa23a8bb12f3e03cd7068e00ae19406424b
4
+ data.tar.gz: d53a1f8630a532183b491e982250a3bb175d9ed84188103535255e27ff8d39a7
5
5
  SHA512:
6
- metadata.gz: 6b8c45f72cd959a8115c2f4b188e98edf93383958439981e989381d86620ff7d301ac0d3102ea95bc5522b60e957236c7d3d3b4d24fb0e40e7fe5d571f7c9a1b
7
- data.tar.gz: 648a73ecc734e66f4168445bef75b88cb8d9348c6a90304f3e99622df0be0b1553928f511f40ce4765f495e0ad8c589bf61fd8d0e17a8d73c872b9f3904fc9d1
6
+ metadata.gz: '02949ddc3b08f23f07148bbda7e00a07214d3bc423ec880284c938e30fa872e305ca66fe2b1a9af796c5225dc935fa06c4e19f4085c75d5eaa0b0023eca45961'
7
+ data.tar.gz: 7c58e5b6fc0560de0e3ef879685db3a8d8f541b07d471b7747492e9918a40334d84a66fcc1c8f76bff061990c661c9b53730e994b435aab28e634ff12cfd6968
@@ -1,5 +1,5 @@
1
- before_install:
2
- - gem install bundler
1
+ # before_install:
2
+ # - gem install bundler
3
3
 
4
4
  rvm:
5
5
  - 1.9.3
@@ -12,11 +12,13 @@ rvm:
12
12
  - 2.3.0
13
13
  - 2.3.1
14
14
  - 2.4.2
15
- - jruby-9.1.16.0
15
+ - 2.5.3
16
+ - 2.6.2
17
+ - jruby-9.2.8.0
16
18
 
17
19
  script: "bundle exec rake spec"
18
20
 
19
21
  notifications:
20
22
  disabled: false
21
23
  recipients:
22
- - johannes.opper@gmail.com
24
+ - xijo@pm.me
@@ -1,6 +1,10 @@
1
1
  # Change Log
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
+ ## 1.2.0 - August 2019
5
+ - Handle windows `\r\n` within text blocks, thanks for reporting @krisdigital
6
+ - Handle paragraphs in `li` tags, thanks @gstamp
7
+
4
8
  ## 1.1.0 - April 2018
5
9
  - Support Jruby, thanks @grddev (#71)
6
10
  - Bypass `<tfoot>` tags, thanks @mu-is-too-short (#70)
@@ -2,10 +2,14 @@ module ReverseMarkdown
2
2
  module Converters
3
3
  class Li < Base
4
4
  def convert(node, state = {})
5
- content = treat_children(node, state)
6
- indentation = indentation_from(state)
7
- prefix = prefix_for(node)
8
- "#{indentation}#{prefix}#{content.chomp}\n"
5
+ contains_child_paragraph = node.children.first ? node.children.first.name == 'p' : false
6
+ content_node = contains_child_paragraph ? node.children.first : node
7
+ content = treat_children(content_node, state)
8
+ indentation = indentation_from(state)
9
+ prefix = prefix_for(node)
10
+
11
+ "#{indentation}#{prefix}#{content.chomp}\n" +
12
+ (contains_child_paragraph ? "\n" : '')
9
13
  end
10
14
 
11
15
  def prefix_for(node)
@@ -48,7 +48,7 @@ module ReverseMarkdown
48
48
  end
49
49
 
50
50
  def remove_inner_newlines(text)
51
- text.tr("\n\t", ' ').squeeze(' ')
51
+ text.tr("\r\n\t", ' ').squeeze(' ')
52
52
  end
53
53
 
54
54
  def preserve_keychars_within_backticks(text)
@@ -1,3 +1,3 @@
1
1
  module ReverseMarkdown
2
- VERSION = '1.1.0'
2
+ VERSION = '1.2.0'
3
3
  end
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.homepage = "http://github.com/xijo/reverse_markdown"
11
11
  s.summary = %q{Convert html code into markdown.}
12
12
  s.description = %q{Map simple html back into markdown, e.g. if you want to import existing html data in your application.}
13
-
13
+ s.licenses = ["WTFPL"]
14
14
  s.rubyforge_project = "reverse_markdown"
15
15
 
16
16
  s.files = `git ls-files`.split("\n")
@@ -52,6 +52,16 @@ describe 'Round trip: HTML to markdown (via reverse_markdown) to HTML (via redca
52
52
  ")
53
53
  end
54
54
 
55
+ it "should preserve lists with paragraphs" do
56
+ roundtrip_should_preserve("
57
+ <ul>
58
+ <li><p>Bird</p></li>
59
+ <li><p>McHale</p></li>
60
+ <li><p>Parish</p></li>
61
+ </ul>
62
+ ")
63
+ end
64
+
55
65
  it "should preserve <hr> tags" do
56
66
  roundtrip_should_preserve("<hr />")
57
67
  end
@@ -21,6 +21,11 @@ describe ReverseMarkdown::Converters::Pre do
21
21
  node = node_for("<pre><code>foobar</code></pre>")
22
22
  expect(converter.convert(node)).to eq "\n\n foobar\n\n"
23
23
  end
24
+
25
+ it 'handles indented correctly' do
26
+ node = node_for("<pre><code>if foo\n return bar\nend</code></pre>")
27
+ expect(converter.convert(node)).to eq "\n\n if foo\n return bar\n end\n\n"
28
+ end
24
29
  end
25
30
 
26
31
  context 'for github_flavored markdown' do
@@ -10,6 +10,12 @@ describe ReverseMarkdown::Converters::Text do
10
10
  expect(result).to eq 'foo bar'
11
11
  end
12
12
 
13
+ it 'handles windows-style \r\n correctly' do
14
+ input = node_for("<p>foo \r\n\r\n bar</p>")
15
+ result = converter.convert(input)
16
+ expect(result).to eq 'foo bar'
17
+ end
18
+
13
19
  it 'removes leading newlines' do
14
20
  input = node_for("<p>\n\nfoo bar</p>")
15
21
  result = converter.convert(input)
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: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Johannes Opper
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-23 00:00:00.000000000 Z
11
+ date: 2019-08-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -181,7 +181,8 @@ files:
181
181
  - spec/lib/reverse_markdown_spec.rb
182
182
  - spec/spec_helper.rb
183
183
  homepage: http://github.com/xijo/reverse_markdown
184
- licenses: []
184
+ licenses:
185
+ - WTFPL
185
186
  metadata: {}
186
187
  post_install_message:
187
188
  rdoc_options: []
@@ -198,8 +199,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
198
199
  - !ruby/object:Gem::Version
199
200
  version: '0'
200
201
  requirements: []
201
- rubyforge_project: reverse_markdown
202
- rubygems_version: 2.6.4
202
+ rubygems_version: 3.0.3
203
203
  signing_key:
204
204
  specification_version: 4
205
205
  summary: Convert html code into markdown.