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 +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
|