pandoc-ruby 1.0.0 → 2.0.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 +4 -4
- data/Gemfile +5 -6
- data/Gemfile.lock +6 -24
- data/README.md +131 -0
- data/Rakefile +2 -2
- data/lib/pandoc-ruby.rb +129 -128
- data/pandoc-ruby.gemspec +27 -30
- data/test/benchmark.rb +10 -8
- data/test/files/test.md +2 -1
- data/test/helper.rb +3 -6
- data/test/test_conversions.rb +21 -58
- data/test/test_pandoc_ruby.rb +205 -0
- metadata +12 -31
- data/README.markdown +0 -95
- data/test/test_pandoc-ruby.rb +0 -199
data/pandoc-ruby.gemspec
CHANGED
@@ -4,24 +4,24 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version =
|
7
|
+
s.name = 'pandoc-ruby'
|
8
|
+
s.version = '2.0.0'
|
9
9
|
|
10
|
-
s.required_rubygems_version = Gem::Requirement.new(
|
11
|
-
s.authors = [
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ['William Melody']
|
12
|
+
s.date = '2016-03-28'
|
13
|
+
s.description = 'Ruby wrapper for Pandoc'
|
14
|
+
s.email = 'hi@williammelody.com'
|
15
15
|
s.extra_rdoc_files = [
|
16
|
-
|
17
|
-
|
16
|
+
'LICENSE',
|
17
|
+
'README.md'
|
18
18
|
]
|
19
|
-
s.files = %w
|
19
|
+
s.files = %w(
|
20
20
|
.document
|
21
21
|
Gemfile
|
22
22
|
Gemfile.lock
|
23
23
|
LICENSE
|
24
|
-
README.
|
24
|
+
README.md
|
25
25
|
Rakefile
|
26
26
|
lib/pandoc-ruby.rb
|
27
27
|
pandoc-ruby.gemspec
|
@@ -30,14 +30,14 @@ Gem::Specification.new do |s|
|
|
30
30
|
test/files/test.md
|
31
31
|
test/helper.rb
|
32
32
|
test/test_conversions.rb
|
33
|
-
test/
|
34
|
-
|
35
|
-
s.homepage =
|
36
|
-
s.licenses = [
|
37
|
-
s.require_paths = [
|
33
|
+
test/test_pandoc_ruby.rb
|
34
|
+
)
|
35
|
+
s.homepage = 'http://github.com/alphabetum/pandoc-ruby'
|
36
|
+
s.licenses = ['MIT']
|
37
|
+
s.require_paths = ['lib']
|
38
38
|
s.required_ruby_version = '>= 1.9.3'
|
39
|
-
s.rubygems_version =
|
40
|
-
s.summary =
|
39
|
+
s.rubygems_version = '1.8.25'
|
40
|
+
s.summary = 'PandocRuby'
|
41
41
|
|
42
42
|
if s.respond_to? :specification_version then
|
43
43
|
s.specification_version = 3
|
@@ -46,20 +46,17 @@ Gem::Specification.new do |s|
|
|
46
46
|
s.add_development_dependency('mocha', '~> 1.1', '>= 1.1.0')
|
47
47
|
s.add_development_dependency('rake', '~> 10.4', '>= 10.4.2')
|
48
48
|
s.add_development_dependency('rdoc', '~> 4.2', '>= 4.2.0')
|
49
|
-
s.add_development_dependency('
|
50
|
-
s.add_development_dependency('test-unit', '~> 3.0', '>= 3.0.9')
|
49
|
+
s.add_development_dependency('minitest', '~>5.8.3', '>= 5.8.3')
|
51
50
|
else
|
52
|
-
s.add_dependency(
|
53
|
-
s.add_dependency(
|
54
|
-
s.add_dependency(
|
55
|
-
s.add_dependency(
|
56
|
-
s.add_dependency(%q<test-unit>, ["~> 3.0.9"])
|
51
|
+
s.add_dependency('mocha', ['~> 1.1.0'])
|
52
|
+
s.add_dependency('rake', ['~> 10.4.2'])
|
53
|
+
s.add_dependency('rdoc', ['~> 4.2.0'])
|
54
|
+
s.add_dependency('minitest', ['~>5.8.3'])
|
57
55
|
end
|
58
56
|
else
|
59
|
-
s.add_dependency(
|
60
|
-
s.add_dependency(
|
61
|
-
s.add_dependency(
|
62
|
-
s.add_dependency(
|
63
|
-
s.add_dependency(%q<test-unit>, ["~> 3.0.9"])
|
57
|
+
s.add_dependency('mocha', ['~> 1.1.0'])
|
58
|
+
s.add_dependency('rake', ['~> 10.4.2'])
|
59
|
+
s.add_dependency('rdoc', ['~> 4.2.0'])
|
60
|
+
s.add_dependency('minitest', ['~>5.8.3'])
|
64
61
|
end
|
65
62
|
end
|
data/test/benchmark.rb
CHANGED
@@ -31,7 +31,7 @@ implementations.map! { |class_name| Object.const_get(class_name) }
|
|
31
31
|
|
32
32
|
def benchmark(implementation, text, iterations)
|
33
33
|
start = Time.now
|
34
|
-
iterations.times do |
|
34
|
+
iterations.times do |_i|
|
35
35
|
implementation.new(text).to_html
|
36
36
|
end
|
37
37
|
Time.now - start
|
@@ -39,18 +39,20 @@ end
|
|
39
39
|
|
40
40
|
test_data = File.read(test_file)
|
41
41
|
|
42
|
-
puts
|
42
|
+
puts 'Spinning up ...'
|
43
43
|
implementations.each { |impl| benchmark(impl, test_data, 1) }
|
44
44
|
|
45
|
-
puts
|
45
|
+
puts 'Running benchmarks ...'
|
46
46
|
results =
|
47
|
-
implementations.inject([]) do |r,impl|
|
47
|
+
implementations.inject([]) do |r, impl|
|
48
48
|
GC.start
|
49
|
-
r << [
|
49
|
+
r << [impl, benchmark(impl, test_data, iterations)]
|
50
50
|
end
|
51
51
|
|
52
52
|
puts "Results for #{iterations} iterations:"
|
53
|
-
results.each do |impl,time|
|
53
|
+
results.each do |impl, time|
|
54
54
|
printf " %10s %09.06fs total time, %09.06fs average\n",
|
55
|
-
|
56
|
-
|
55
|
+
"#{impl}:",
|
56
|
+
time,
|
57
|
+
time / iterations
|
58
|
+
end
|
data/test/files/test.md
CHANGED
data/test/helper.rb
CHANGED
@@ -4,16 +4,13 @@ begin
|
|
4
4
|
Bundler.setup(:default, :development)
|
5
5
|
rescue Bundler::BundlerError => e
|
6
6
|
$stderr.puts e.message
|
7
|
-
$stderr.puts
|
7
|
+
$stderr.puts 'Run `bundle install` to install missing gems'
|
8
8
|
exit e.status_code
|
9
9
|
end
|
10
|
-
require '
|
11
|
-
require '
|
10
|
+
require 'minitest/autorun'
|
11
|
+
require 'minitest/pride'
|
12
12
|
require 'mocha/setup'
|
13
13
|
|
14
14
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
15
15
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
16
16
|
require 'pandoc-ruby'
|
17
|
-
|
18
|
-
class Test::Unit::TestCase
|
19
|
-
end
|
data/test/test_conversions.rb
CHANGED
@@ -1,67 +1,30 @@
|
|
1
1
|
require 'helper'
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
%Q|[{"unMeta":{}},[{"t":"Header","c":[1,["this-is-a-title",[],[]],[{"t":"Str","c":"This"},{"t":"Space","c":[]},{"t":"Str","c":"is"},{"t":"Space","c":[]},{"t":"Str","c":"a"},{"t":"Space","c":[]},{"t":"Str","c":"Title"}]]},{"t":"Para","c":[{"t":"Str","c":"Some"},{"t":"Space","c":[]},{"t":"Emph","c":[{"t":"Str","c":"emphasized"},{"t":"Space","c":[]},{"t":"Str","c":"text"}]},{"t":"Space","c":[]},{"t":"Str","c":"and"},{"t":"Space","c":[]},{"t":"Link","c":[[{"t":"Str","c":"a"},{"t":"Space","c":[]},{"t":"Str","c":"link"}],["http://daringfireball.net/projects/markdown/",""]]}]}]]|
|
11
|
-
h[:html] =
|
12
|
-
%Q|<h1 id=\"this-is-a-title\">This is a Title</h1>\n<p>Some <em>emphasized text</em> and <a href=\"http://daringfireball.net/projects/markdown/\">a link</a></p>|
|
13
|
-
h[:html5] =
|
14
|
-
%Q|<h1 id=\"this-is-a-title\">This is a Title</h1>\n<p>Some <em>emphasized text</em> and <a href=\"http://daringfireball.net/projects/markdown/\">a link</a></p>|
|
15
|
-
h[:s5] =
|
16
|
-
%Q|<div id=\"this-is-a-title\" class=\"slide section level1\">\n<h1>This is a Title</h1>\n<p>Some <em>emphasized text</em> and <a href=\"http://daringfireball.net/projects/markdown/\">a link</a></p>\n</div>|
|
17
|
-
h[:slidy] =
|
18
|
-
%Q|<div id=\"this-is-a-title\" class=\"slide section level1\">\n<h1>This is a Title</h1>\n<p>Some <em>emphasized text</em> and <a href=\"http://daringfireball.net/projects/markdown/\">a link</a></p>\n</div>|
|
19
|
-
h[:dzslides] =
|
20
|
-
%Q|<section id=\"this-is-a-title\" class=\"slide level1\">\n<h1>This is a Title</h1>\n<p>Some <em>emphasized text</em> and <a href=\"http://daringfireball.net/projects/markdown/\">a link</a></p>\n</section>|
|
21
|
-
h[:docbook] =
|
22
|
-
%Q|<sect1 id=\"this-is-a-title\">\n <title>This is a Title</title>\n <para>\n Some <emphasis>emphasized text</emphasis> and\n <ulink url=\"http://daringfireball.net/projects/markdown/\">a\n link</ulink>\n </para>\n</sect1>|
|
23
|
-
h[:opendocument] =
|
24
|
-
%Q|<text:h text:style-name=\"Heading_20_1\" text:outline-level=\"1\">This is a\nTitle</text:h>\n<text:p text:style-name=\"First_20_paragraph\">Some\n<text:span text:style-name=\"T1\">emphasized</text:span><text:span text:style-name=\"T2\">\n</text:span><text:span text:style-name=\"T3\">text</text:span> and\n<text:a xlink:type=\"simple\" xlink:href=\"http://daringfireball.net/projects/markdown/\" office:name=\"\"><text:span text:style-name=\"Definition\">a\nlink</text:span></text:a></text:p>|
|
25
|
-
h[:latex] =
|
26
|
-
%Q|\\section{This is a Title}\\label{this-is-a-title}\n\nSome \\emph{emphasized text} and\n\\href{http://daringfireball.net/projects/markdown/}{a link}|
|
27
|
-
h[:beamer] =
|
28
|
-
%Q|\\begin{frame}{This is a Title}\n\nSome \\emph{emphasized text} and\n\\href{http://daringfireball.net/projects/markdown/}{a link}\n\n\\end{frame}|
|
29
|
-
h[:context] =
|
30
|
-
%Q|\\section[this-is-a-title]{This is a Title}\n\nSome {\\em emphasized text} and\n\\useURL[url1][http://daringfireball.net/projects/markdown/][][a\nlink]\\from[url1]|
|
31
|
-
h[:texinfo] =
|
32
|
-
%Q|@node Top\n@top Top\n\n@menu\n* This is a Title::\n@end menu\n\n@node This is a Title\n@chapter This is a Title\n@anchor{#this-is-a-title}\nSome @emph{emphasized text} and @uref{http://daringfireball.net/projects/markdown/,a link}|
|
33
|
-
h[:man] =
|
34
|
-
%Q|.SH This is a Title\n.PP\nSome \\f[I]emphasized text\\f[] and a\nlink (http://daringfireball.net/projects/markdown/)|
|
35
|
-
h[:markdown] =
|
36
|
-
%Q|This is a Title\n===============\n\nSome *emphasized text* and [a\nlink](http://daringfireball.net/projects/markdown/)|
|
37
|
-
h[:plain] =
|
38
|
-
%Q|THIS IS A TITLE\n\n\nSome _emphasized text_ and a link|
|
39
|
-
h[:rst] =
|
40
|
-
%Q|This is a Title\n===============\n\nSome *emphasized text* and `a\nlink <http://daringfireball.net/projects/markdown/>`__|
|
41
|
-
h[:mediawiki] =
|
42
|
-
%Q|= This is a Title =\n\nSome ''emphasized text'' and [http://daringfireball.net/projects/markdown/ a link]|
|
43
|
-
h[:textile] =
|
44
|
-
%Q|h1(#this-is-a-title). This is a Title\n\nSome _emphasized text_ and \"a link\":http://daringfireball.net/projects/markdown/|
|
45
|
-
h[:rtf] =
|
46
|
-
%Q|{\\pard \\ql \\f0 \\sa180 \\li0 \\fi0 \\b \\fs36 This is a Title\\par}\n{\\pard \\ql \\f0 \\sa180 \\li0 \\fi0 Some {\\i emphasized text} and {\\field{\\*\\fldinst{HYPERLINK \"http://daringfireball.net/projects/markdown/\"}}{\\fldrslt{\\ul\na link\n}}}\n\\par}|
|
47
|
-
h[:org] =
|
48
|
-
%Q|* This is a Title\n\nSome /emphasized text/ and\n[[http://daringfireball.net/projects/markdown/][a link]]|
|
49
|
-
h[:asciidoc] =
|
50
|
-
%Q|[[this-is-a-title]]\nThis is a Title\n---------------\n\nSome _emphasized text_ and\nhttp://daringfireball.net/projects/markdown/[a link]|
|
51
|
-
return h
|
3
|
+
# Generate tests for converting to and from various formats. Use two nested
|
4
|
+
# loops to iterate over each source and destination format, using files with
|
5
|
+
# names of the following structure: "format.#{format_name}"
|
6
|
+
describe 'Conversions' do
|
7
|
+
@extensions = []
|
8
|
+
Dir.glob(File.join(File.dirname(__FILE__), 'files', 'format*')) do |f|
|
9
|
+
@extensions << f.match(/format\.(\w+)\Z/)[1]
|
52
10
|
end
|
53
11
|
|
54
12
|
[:markdown, :html, :rst, :latex].each do |from|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
13
|
+
@extensions.each do |to|
|
14
|
+
next if from == to
|
15
|
+
|
16
|
+
it "converts #{from} to #{to}" do
|
17
|
+
files_dir = File.join(File.dirname(__FILE__), 'files')
|
18
|
+
from_content = File.read(File.join(files_dir, "format.#{from}"))
|
19
|
+
to_content = File.read(File.join(files_dir, "format.#{to}"))
|
20
|
+
|
21
|
+
converted_content = PandocRuby.convert(
|
22
|
+
from_content,
|
23
|
+
:from => from,
|
24
|
+
:to => to
|
25
|
+
)
|
26
|
+
assert_equal(converted_content.strip, to_content.strip)
|
63
27
|
end
|
64
28
|
end
|
65
29
|
end
|
66
|
-
|
67
30
|
end
|
@@ -0,0 +1,205 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe PandocRuby do
|
4
|
+
before do
|
5
|
+
@file = File.join(File.dirname(__FILE__), 'files', 'test.md')
|
6
|
+
@file2 = File.join(File.dirname(__FILE__), 'files', 'test2.md')
|
7
|
+
@string = '# Test String'
|
8
|
+
@converter = PandocRuby.new(@string, :t => :rst)
|
9
|
+
end
|
10
|
+
|
11
|
+
after do
|
12
|
+
PandocRuby.pandoc_path = 'pandoc'
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'calls bare pandoc when passed no options' do
|
16
|
+
converter = PandocRuby.new(@string)
|
17
|
+
converter.expects(:execute).with('pandoc').returns(true)
|
18
|
+
assert converter.convert
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'converts with altered pandoc_path' do
|
22
|
+
path = '/usr/bin/env pandoc'
|
23
|
+
PandocRuby.pandoc_path = path
|
24
|
+
converter = PandocRuby.new(@string)
|
25
|
+
converter.expects(:execute).with(path).returns(true)
|
26
|
+
assert converter.convert
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'converts input passed as a string' do
|
30
|
+
assert_equal "<h1 id=\"test-string\">Test String</h1>\n",
|
31
|
+
PandocRuby.new(@string).to_html
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'converts single element array input as array of file paths' do
|
35
|
+
assert PandocRuby.new([@file]).to_html.match(/This is a Title/)
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'converts multiple element array input as array of file paths' do
|
39
|
+
assert PandocRuby.new([@file, @file2]).to_html.match(/This is a Title/)
|
40
|
+
assert PandocRuby.new([@file, @file2]).to_html.match(/A Second Title/)
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'accepts short options' do
|
44
|
+
@converter.expects(:execute).with('pandoc -t rst').returns(true)
|
45
|
+
assert @converter.convert
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'accepts long options' do
|
49
|
+
converter = PandocRuby.new(@string, :to => :rst)
|
50
|
+
converter.expects(:execute).with('pandoc --to rst').returns(true)
|
51
|
+
assert converter.convert
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'accepts a variety of options in initializer' do
|
55
|
+
converter = PandocRuby.new(@string, :s, {
|
56
|
+
:f => :markdown, :to => :rst
|
57
|
+
}, 'no-wrap')
|
58
|
+
converter \
|
59
|
+
.expects(:execute) \
|
60
|
+
.with('pandoc -s -f markdown --to rst --no-wrap') \
|
61
|
+
.returns(true)
|
62
|
+
assert converter.convert
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'accepts a variety of options in convert' do
|
66
|
+
converter = PandocRuby.new(@string)
|
67
|
+
converter \
|
68
|
+
.expects(:execute) \
|
69
|
+
.with('pandoc -s -f markdown --to rst --no-wrap') \
|
70
|
+
.returns(true)
|
71
|
+
assert converter.convert(:s, { :f => :markdown, :to => :rst }, 'no-wrap')
|
72
|
+
end
|
73
|
+
|
74
|
+
it 'converts underscore symbol ares to hyphenated long options' do
|
75
|
+
converter = PandocRuby.new(@string, {
|
76
|
+
:email_obfuscation => :javascript
|
77
|
+
}, :table_of_contents)
|
78
|
+
converter \
|
79
|
+
.expects(:execute) \
|
80
|
+
.with('pandoc --email-obfuscation javascript --table-of-contents') \
|
81
|
+
.returns(true)
|
82
|
+
assert converter.convert
|
83
|
+
end
|
84
|
+
|
85
|
+
it 'uses second arg as option' do
|
86
|
+
converter = PandocRuby.new(@string, 'toc')
|
87
|
+
converter.expects(:execute).with('pandoc --toc').returns(true)
|
88
|
+
assert converter.convert
|
89
|
+
end
|
90
|
+
|
91
|
+
it 'raises RuntimeError from pandoc executable error' do
|
92
|
+
assert_raises(RuntimeError) do
|
93
|
+
PandocRuby.new('# hello', 'badopt').to_html5
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
PandocRuby::READERS.each_key do |r|
|
98
|
+
it "converts from #{r} with PandocRuby.#{r}" do
|
99
|
+
converter = PandocRuby.send(r, @string)
|
100
|
+
converter.expects(:execute).with("pandoc --from #{r}").returns(true)
|
101
|
+
assert converter.convert
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
PandocRuby::STRING_WRITERS.each_key do |w|
|
106
|
+
it "converts to #{w} with to_#{w}" do
|
107
|
+
converter = PandocRuby.new(@string)
|
108
|
+
converter \
|
109
|
+
.expects(:execute) \
|
110
|
+
.with("pandoc --no-wrap --to #{w}") \
|
111
|
+
.returns(true)
|
112
|
+
assert converter.send("to_#{w}", :no_wrap)
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
PandocRuby::BINARY_WRITERS.each_key do |w|
|
117
|
+
it "converts to #{w} with to_#{w}" do
|
118
|
+
converter = PandocRuby.new(@string)
|
119
|
+
converter \
|
120
|
+
.expects(:execute) \
|
121
|
+
.with(regexp_matches(/^pandoc --no-wrap --to #{w} --output /)) \
|
122
|
+
.returns(true)
|
123
|
+
assert converter.send("to_#{w}", :no_wrap)
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
it 'works with strings' do
|
128
|
+
converter = PandocRuby.new('## this is a title')
|
129
|
+
assert_match(/h2/, converter.convert)
|
130
|
+
end
|
131
|
+
|
132
|
+
it 'aliases to_s' do
|
133
|
+
assert_equal @converter.convert, @converter.to_s
|
134
|
+
end
|
135
|
+
|
136
|
+
it 'has convert class method' do
|
137
|
+
assert_equal @converter.convert, PandocRuby.convert(@string, :t => :rst)
|
138
|
+
end
|
139
|
+
|
140
|
+
it 'runs more than 400 times without error' do
|
141
|
+
begin
|
142
|
+
400.times do
|
143
|
+
PandocRuby.convert(@string)
|
144
|
+
end
|
145
|
+
assert true
|
146
|
+
rescue Errno::EMFILE, Errno::EAGAIN => e
|
147
|
+
flunk e
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
it 'gracefully times out when pandoc hangs due to malformed input' do
|
152
|
+
file = File.join(File.dirname(__FILE__), 'files', 'bomb.tex')
|
153
|
+
contents = File.read(file)
|
154
|
+
|
155
|
+
assert_raises(RuntimeError) do
|
156
|
+
PandocRuby.convert(
|
157
|
+
contents, :from => :latex, :to => :html, :timeout => 1
|
158
|
+
)
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
it 'has reader and writer constants' do
|
163
|
+
assert_equal PandocRuby::READERS,
|
164
|
+
'html' => 'HTML',
|
165
|
+
'latex' => 'LaTeX',
|
166
|
+
'textile' => 'textile',
|
167
|
+
'native' => 'pandoc native',
|
168
|
+
'markdown' => 'markdown',
|
169
|
+
'json' => 'pandoc JSON',
|
170
|
+
'rst' => 'reStructuredText'
|
171
|
+
|
172
|
+
assert_equal PandocRuby::STRING_WRITERS,
|
173
|
+
'mediawiki' => 'MediaWiki markup',
|
174
|
+
'html' => 'HTML',
|
175
|
+
'plain' => 'plain',
|
176
|
+
'latex' => 'LaTeX',
|
177
|
+
's5' => 'S5 HTML slideshow',
|
178
|
+
'textile' => 'textile',
|
179
|
+
'texinfo' => 'GNU Texinfo',
|
180
|
+
'docbook' => 'DocBook XML',
|
181
|
+
'html5' => 'HTML5',
|
182
|
+
'native' => 'pandoc native',
|
183
|
+
'org' => 'emacs org mode',
|
184
|
+
'rtf' => 'rich text format',
|
185
|
+
'markdown' => 'markdown',
|
186
|
+
'man' => 'groff man',
|
187
|
+
'dzslides' => 'Dzslides HTML slideshow',
|
188
|
+
'beamer' => 'Beamer PDF slideshow',
|
189
|
+
'json' => 'pandoc JSON',
|
190
|
+
'opendocument' => 'OpenDocument XML',
|
191
|
+
'slidy' => 'Slidy HTML slideshow',
|
192
|
+
'rst' => 'reStructuredText',
|
193
|
+
'context' => 'ConTeXt',
|
194
|
+
'asciidoc' => 'asciidoc'
|
195
|
+
|
196
|
+
assert_equal PandocRuby::BINARY_WRITERS,
|
197
|
+
'odt' => 'OpenDocument',
|
198
|
+
'docx' => 'Word docx',
|
199
|
+
'epub' => 'EPUB V2',
|
200
|
+
'epub3' => 'EPUB V3'
|
201
|
+
|
202
|
+
assert_equal PandocRuby::WRITERS,
|
203
|
+
PandocRuby::STRING_WRITERS.merge(PandocRuby::BINARY_WRITERS)
|
204
|
+
end
|
205
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pandoc-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Melody
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mocha
|
@@ -71,58 +71,38 @@ dependencies:
|
|
71
71
|
- !ruby/object:Gem::Version
|
72
72
|
version: 4.2.0
|
73
73
|
- !ruby/object:Gem::Dependency
|
74
|
-
name:
|
74
|
+
name: minitest
|
75
75
|
requirement: !ruby/object:Gem::Requirement
|
76
76
|
requirements:
|
77
77
|
- - "~>"
|
78
78
|
- !ruby/object:Gem::Version
|
79
|
-
version:
|
79
|
+
version: 5.8.3
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 5.8.3
|
83
83
|
type: :development
|
84
84
|
prerelease: false
|
85
85
|
version_requirements: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: 5.8.3
|
90
90
|
- - ">="
|
91
91
|
- !ruby/object:Gem::Version
|
92
|
-
version:
|
93
|
-
- !ruby/object:Gem::Dependency
|
94
|
-
name: test-unit
|
95
|
-
requirement: !ruby/object:Gem::Requirement
|
96
|
-
requirements:
|
97
|
-
- - "~>"
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
version: '3.0'
|
100
|
-
- - ">="
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: 3.0.9
|
103
|
-
type: :development
|
104
|
-
prerelease: false
|
105
|
-
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
requirements:
|
107
|
-
- - "~>"
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '3.0'
|
110
|
-
- - ">="
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
version: 3.0.9
|
92
|
+
version: 5.8.3
|
113
93
|
description: Ruby wrapper for Pandoc
|
114
94
|
email: hi@williammelody.com
|
115
95
|
executables: []
|
116
96
|
extensions: []
|
117
97
|
extra_rdoc_files:
|
118
98
|
- LICENSE
|
119
|
-
- README.
|
99
|
+
- README.md
|
120
100
|
files:
|
121
101
|
- ".document"
|
122
102
|
- Gemfile
|
123
103
|
- Gemfile.lock
|
124
104
|
- LICENSE
|
125
|
-
- README.
|
105
|
+
- README.md
|
126
106
|
- Rakefile
|
127
107
|
- lib/pandoc-ruby.rb
|
128
108
|
- pandoc-ruby.gemspec
|
@@ -131,7 +111,7 @@ files:
|
|
131
111
|
- test/files/test.md
|
132
112
|
- test/helper.rb
|
133
113
|
- test/test_conversions.rb
|
134
|
-
- test/
|
114
|
+
- test/test_pandoc_ruby.rb
|
135
115
|
homepage: http://github.com/alphabetum/pandoc-ruby
|
136
116
|
licenses:
|
137
117
|
- MIT
|
@@ -152,8 +132,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
152
132
|
version: '0'
|
153
133
|
requirements: []
|
154
134
|
rubyforge_project:
|
155
|
-
rubygems_version: 2.4.5
|
135
|
+
rubygems_version: 2.4.5.1
|
156
136
|
signing_key:
|
157
137
|
specification_version: 3
|
158
138
|
summary: PandocRuby
|
159
139
|
test_files: []
|
140
|
+
has_rdoc:
|