reverse_markdown 1.0.4 → 1.0.5
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/.travis.yml +1 -0
- data/CHANGELOG.md +3 -0
- data/lib/reverse_markdown/converters/pre.rb +15 -2
- data/lib/reverse_markdown/version.rb +1 -1
- data/spec/lib/reverse_markdown/converters/pre_spec.rb +20 -0
- data/spec/spec_helper.rb +1 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 11ce7d306707ed1f0e5a3ac81ad987aacb324923
|
4
|
+
data.tar.gz: 4b922a19fc5f0074ec8b2025fdb9cd731215b469
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3081f4ae63f7b19a6564fe67f84fcfa1294e0d6cc3b3f336bbc2a913d59d0acaf155e7261610b8dca3bb00cbbb6aaec27fda964deb23b3122941fd6010b45eda
|
7
|
+
data.tar.gz: 40ada4d795985e420fec12c9f5ce164897e87717276b66f155a163eeae679f7619d3f1e35512cf8753472b7a188d893ea044e744d305722773ed2b8fc311acf7
|
data/.travis.yml
CHANGED
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" <<
|
7
|
+
"\n```#{language(node)}\n" << content.strip << "\n```\n"
|
7
8
|
else
|
8
|
-
"\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)
|
@@ -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::
|
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
|
+
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:
|
11
|
+
date: 2018-02-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|