reverse_markdown 1.0.4 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0b06289903207da3e585d5b1c09e438dfcbdcbdf
4
- data.tar.gz: aef0c5b8f5fbbe30991641a3c70a877080d873dc
3
+ metadata.gz: 11ce7d306707ed1f0e5a3ac81ad987aacb324923
4
+ data.tar.gz: 4b922a19fc5f0074ec8b2025fdb9cd731215b469
5
5
  SHA512:
6
- metadata.gz: b7e209ff266f3e0bf3fe80246106b9b1ca2219eaf19514fd7a523ecccd58996a576cd1e1a5d1145c471aa1fc9d0dbfc9ee34a607772b238bb931f9dd2a132ba9
7
- data.tar.gz: cc24189f772e4cb9fa240fa8901912729b33a81c727179bc0cc05cc5f6ea06f9512421967c9e01341b4a74f9d8aabed91d4156abbfff20cb4d7e4e7e96e82c67
6
+ metadata.gz: 3081f4ae63f7b19a6564fe67f84fcfa1294e0d6cc3b3f336bbc2a913d59d0acaf155e7261610b8dca3bb00cbbb6aaec27fda964deb23b3122941fd6010b45eda
7
+ data.tar.gz: 40ada4d795985e420fec12c9f5ce164897e87717276b66f155a163eeae679f7619d3f1e35512cf8753472b7a188d893ea044e744d305722773ed2b8fc311acf7
data/.travis.yml CHANGED
@@ -11,6 +11,7 @@ rvm:
11
11
  - 2.2.5
12
12
  - 2.3.0
13
13
  - 2.3.1
14
+ - 2.4.2
14
15
 
15
16
  script: "bundle exec rake spec"
16
17
 
data/CHANGELOG.md CHANGED
@@ -1,6 +1,9 @@
1
1
  # Change Log
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
+ ## 1.0.5 - February 2018
5
+ - Fix newline handling within pre tags, thanks @niallcolfer (#69)
6
+
4
7
  ## 1.0.4 - November 2017
5
8
  - Make blockquote behave as true block, thanks for reporting @kanedo (#67)
6
9
 
@@ -2,15 +2,28 @@ module ReverseMarkdown
2
2
  module Converters
3
3
  class Pre < Base
4
4
  def convert(node, state = {})
5
+ content = treat_children(node, state)
5
6
  if ReverseMarkdown.config.github_flavored
6
- "\n```#{language(node)}\n" << node.text.strip << "\n```\n"
7
+ "\n```#{language(node)}\n" << content.strip << "\n```\n"
7
8
  else
8
- "\n\n " << node.text.strip.lines.to_a.join(" ") << "\n\n"
9
+ "\n\n " << content.lines.to_a.join(" ") << "\n\n"
9
10
  end
10
11
  end
11
12
 
12
13
  private
13
14
 
15
+ # Override #treat as proposed in https://github.com/xijo/reverse_markdown/pull/69
16
+ def treat(node, state)
17
+ case node.name
18
+ when 'code'
19
+ node.text
20
+ when 'br'
21
+ "\n"
22
+ else
23
+ super
24
+ end
25
+ end
26
+
14
27
  def language(node)
15
28
  lang = language_from_highlight_class(node)
16
29
  lang || language_from_confluence_class(node)
@@ -1,3 +1,3 @@
1
1
  module ReverseMarkdown
2
- VERSION = '1.0.4'
2
+ VERSION = '1.0.5'
3
3
  end
@@ -11,6 +11,16 @@ describe ReverseMarkdown::Converters::Pre do
11
11
  node = node_for("<pre>puts foo</pre>")
12
12
  expect(converter.convert(node)).to include " puts foo\n"
13
13
  end
14
+
15
+ it 'preserves new lines' do
16
+ node = node_for("<pre>one<br>two<br>three</pre>")
17
+ expect(converter.convert(node)).to include "\n\n one\n two\n three\n\n"
18
+ end
19
+
20
+ it 'handles code tags correctly' do
21
+ node = node_for("<pre><code>foobar</code></pre>")
22
+ expect(converter.convert(node)).to eq "\n\n foobar\n\n"
23
+ end
14
24
  end
15
25
 
16
26
  context 'for github_flavored markdown' do
@@ -21,6 +31,16 @@ describe ReverseMarkdown::Converters::Pre do
21
31
  expect(converter.convert(node)).to include "```\nputs foo\n```"
22
32
  end
23
33
 
34
+ it 'preserves new lines' do
35
+ node = node_for("<pre>foo<br>bar</pre>")
36
+ expect(converter.convert(node)).to include "```\nfoo\nbar\n```"
37
+ end
38
+
39
+ it 'handles code tags correctly' do
40
+ node = node_for("<pre><code>foobar</code></pre>")
41
+ expect(converter.convert(node)).to include "```\nfoobar\n```"
42
+ end
43
+
24
44
  context 'syntax highlighting' do
25
45
  it 'works for "highlight-lang" mechanism' do
26
46
  div = node_for("<div class='highlight highlight-ruby'><pre>puts foo</pre></div>")
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,3 @@
1
- require 'codeclimate-test-reporter'
2
- CodeClimate::TestReporter.start
3
-
4
1
  require 'simplecov'
5
2
  # require 'byebug'
6
3
 
@@ -20,5 +17,5 @@ RSpec.configure do |config|
20
17
  end
21
18
 
22
19
  def node_for(html)
23
- Nokogiri::XML.parse(html).root
20
+ Nokogiri::HTML.parse(html).root.child.child
24
21
  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: 1.0.4
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Johannes Opper
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-19 00:00:00.000000000 Z
11
+ date: 2018-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri