pandoc-ruby 0.7.5 → 1.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 +4 -3
- data/Gemfile.lock +25 -16
- data/README.markdown +2 -1
- data/Rakefile +1 -1
- data/lib/pandoc-ruby.rb +18 -15
- data/pandoc-ruby.gemspec +18 -12
- data/test/test_conversions.rb +16 -16
- data/test/test_pandoc-ruby.rb +26 -21
- metadata +77 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bb86a51dc3901cc03725daebcaa9afe2c4d2d4b2
|
4
|
+
data.tar.gz: 0c53e1b182af84515130b764a06d68041dae22ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d607cd66c09554e971bd9757e2b155125867117d5ce4a6dcac8f08e8245f9261a40b1b6843cc52dae87afe26da885f04f7f338b19891a2b637cb529ce4781ff8
|
7
|
+
data.tar.gz: eaa4f5abf913287d78d70f054e64e0bde58d7c3675151ac058850bfa87ee9e77c5857cf649aace0fac640c3f001ad37d0ffa5b000199617592d0788a1adbc434
|
data/Gemfile
CHANGED
@@ -6,8 +6,9 @@ source "http://rubygems.org"
|
|
6
6
|
# Add dependencies to develop your gem here.
|
7
7
|
# Include everything needed to run rake, tests, features, etc.
|
8
8
|
group :development, :test do
|
9
|
-
gem "mocha",
|
10
|
-
gem "rdoc", "~> 3.12"
|
11
|
-
gem "shoulda", ">= 0"
|
9
|
+
gem "mocha", "~> 1.1.0"
|
12
10
|
gem "rake"
|
11
|
+
gem "rdoc", "~> 4.2.0"
|
12
|
+
gem "shoulda", "~> 3.5.0"
|
13
|
+
gem "test-unit", "~> 3.0.9"
|
13
14
|
end
|
data/Gemfile.lock
CHANGED
@@ -1,30 +1,39 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
activesupport (
|
5
|
-
i18n (
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
4
|
+
activesupport (4.2.0)
|
5
|
+
i18n (~> 0.7)
|
6
|
+
json (~> 1.7, >= 1.7.7)
|
7
|
+
minitest (~> 5.1)
|
8
|
+
thread_safe (~> 0.3, >= 0.3.4)
|
9
|
+
tzinfo (~> 1.1)
|
10
|
+
i18n (0.7.0)
|
11
|
+
json (1.8.2)
|
12
|
+
metaclass (0.0.4)
|
13
|
+
minitest (5.5.1)
|
14
|
+
mocha (1.1.0)
|
11
15
|
metaclass (~> 0.0.1)
|
12
|
-
|
13
|
-
rake (10.
|
14
|
-
rdoc (
|
15
|
-
json (~> 1.4)
|
16
|
+
power_assert (0.2.2)
|
17
|
+
rake (10.4.2)
|
18
|
+
rdoc (4.2.0)
|
16
19
|
shoulda (3.5.0)
|
17
20
|
shoulda-context (~> 1.0, >= 1.0.1)
|
18
21
|
shoulda-matchers (>= 1.4.1, < 3.0)
|
19
|
-
shoulda-context (1.1
|
20
|
-
shoulda-matchers (2.
|
22
|
+
shoulda-context (1.2.1)
|
23
|
+
shoulda-matchers (2.8.0)
|
21
24
|
activesupport (>= 3.0.0)
|
25
|
+
test-unit (3.0.9)
|
26
|
+
power_assert
|
27
|
+
thread_safe (0.3.4)
|
28
|
+
tzinfo (1.2.2)
|
29
|
+
thread_safe (~> 0.1)
|
22
30
|
|
23
31
|
PLATFORMS
|
24
32
|
ruby
|
25
33
|
|
26
34
|
DEPENDENCIES
|
27
|
-
mocha (~>
|
35
|
+
mocha (~> 1.1.0)
|
28
36
|
rake
|
29
|
-
rdoc (~>
|
30
|
-
shoulda
|
37
|
+
rdoc (~> 4.2.0)
|
38
|
+
shoulda (~> 3.5.0)
|
39
|
+
test-unit (~> 3.0.9)
|
data/README.markdown
CHANGED
@@ -75,11 +75,12 @@ If you are trying to generate a standalone file with full file headers rather th
|
|
75
75
|
|
76
76
|
## Caveats
|
77
77
|
|
78
|
+
* Ruby 1.9.3 or higher is required.
|
78
79
|
* This has only been tested on \*nix systems.
|
79
80
|
* PDF conversion may require additional dependencies and has not been tested.
|
80
81
|
|
81
82
|
## Note on Patches/Pull Requests
|
82
|
-
|
83
|
+
|
83
84
|
* Fork the project.
|
84
85
|
* Make your feature addition or bug fix.
|
85
86
|
* Add tests for it. This is important so I don't break it in a
|
data/Rakefile
CHANGED
data/lib/pandoc-ruby.rb
CHANGED
@@ -5,7 +5,7 @@ class PandocRuby
|
|
5
5
|
|
6
6
|
@@bin_path = nil
|
7
7
|
@@allow_file_paths = false
|
8
|
-
|
8
|
+
|
9
9
|
# The executable options. The `pandoc` executable is used by default.
|
10
10
|
EXECUTABLES = %W[
|
11
11
|
pandoc
|
@@ -13,7 +13,7 @@ class PandocRuby
|
|
13
13
|
html2markdown
|
14
14
|
hsmarkdown
|
15
15
|
]
|
16
|
-
|
16
|
+
|
17
17
|
# The available readers and their corresponding names. The keys are used to
|
18
18
|
# generate methods and specify options to Pandoc.
|
19
19
|
READERS = {
|
@@ -64,13 +64,13 @@ class PandocRuby
|
|
64
64
|
|
65
65
|
# All of the available Writers.
|
66
66
|
WRITERS = STRING_WRITERS.merge(BINARY_WRITERS)
|
67
|
-
|
67
|
+
|
68
68
|
# If the pandoc executables are not in the PATH, bin_path can be set to
|
69
69
|
# the directory they are contained in.
|
70
70
|
def self.bin_path=(path)
|
71
71
|
@@bin_path = path
|
72
72
|
end
|
73
|
-
|
73
|
+
|
74
74
|
# Pandoc can also be used with a file path as the first argument. For
|
75
75
|
# security reasons, this is disabled by default, but it can be enabled by
|
76
76
|
# setting this to `true`.
|
@@ -88,13 +88,13 @@ class PandocRuby
|
|
88
88
|
|
89
89
|
attr_accessor :options
|
90
90
|
def options; @options || [] end
|
91
|
-
|
91
|
+
|
92
92
|
attr_accessor :option_string
|
93
93
|
def option_string; @option_string || '' end
|
94
94
|
|
95
95
|
attr_accessor :binary_output
|
96
96
|
def binary_output; @binary_output || false end
|
97
|
-
|
97
|
+
|
98
98
|
attr_accessor :writer
|
99
99
|
def writer; @writer || 'html' end
|
100
100
|
|
@@ -136,13 +136,13 @@ class PandocRuby
|
|
136
136
|
end
|
137
137
|
end
|
138
138
|
alias_method :to_s, :convert
|
139
|
-
|
139
|
+
|
140
140
|
# Generate class methods for each of the readers in PandocRuby::READERS.
|
141
141
|
# When one of these methods is called, it simply calls the initializer
|
142
142
|
# with the `from` option set to the reader key, and returns the object.
|
143
143
|
#
|
144
144
|
# Example:
|
145
|
-
#
|
145
|
+
#
|
146
146
|
# PandocRuby.markdown("# text")
|
147
147
|
# # => #<PandocRuby:0x007 @target="# text", @options=[{:from=>"markdown"}]
|
148
148
|
class << self
|
@@ -153,14 +153,14 @@ class PandocRuby
|
|
153
153
|
end
|
154
154
|
end
|
155
155
|
end
|
156
|
-
|
156
|
+
|
157
157
|
# Generate instance methods for each of the writers in PandocRuby::WRITERS.
|
158
158
|
# When one of these methods is called, it simply calls the `#convert` method
|
159
159
|
# with the `to` option set to the writer key, thereby returning the
|
160
160
|
# converted string.
|
161
161
|
#
|
162
162
|
# Example:
|
163
|
-
#
|
163
|
+
#
|
164
164
|
# PandocRuby.new("# text").to_html
|
165
165
|
# # => "<h1 id=\"text\">text</h1>\n"
|
166
166
|
WRITERS.each_key do |w|
|
@@ -169,7 +169,7 @@ class PandocRuby
|
|
169
169
|
convert(*args)
|
170
170
|
end
|
171
171
|
end
|
172
|
-
|
172
|
+
|
173
173
|
private
|
174
174
|
|
175
175
|
# Sets the executable, which by default is `pandoc`. The `@executable`
|
@@ -208,12 +208,15 @@ private
|
|
208
208
|
|
209
209
|
# Runs the command and returns the output.
|
210
210
|
def execute(command)
|
211
|
-
output =
|
212
|
-
Open3::popen3(command) do |stdin, stdout, stderr|
|
213
|
-
stdin.puts @target
|
211
|
+
output = error = exit_status = nil
|
212
|
+
Open3::popen3(command) do |stdin, stdout, stderr, wait_thr|
|
213
|
+
stdin.puts @target
|
214
214
|
stdin.close
|
215
|
-
output = stdout.read
|
215
|
+
output = stdout.read
|
216
|
+
error = stderr.read
|
217
|
+
exit_status = wait_thr.value
|
216
218
|
end
|
219
|
+
raise error unless exit_status.success?
|
217
220
|
output
|
218
221
|
end
|
219
222
|
|
data/pandoc-ruby.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "pandoc-ruby"
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "1.0.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["William Melody"]
|
12
|
-
s.date = "
|
12
|
+
s.date = "2015-02-09"
|
13
13
|
s.description = "Ruby wrapper for Pandoc"
|
14
14
|
s.email = "hi@williammelody.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -35,6 +35,7 @@ Gem::Specification.new do |s|
|
|
35
35
|
s.homepage = "http://github.com/alphabetum/pandoc-ruby"
|
36
36
|
s.licenses = ["MIT"]
|
37
37
|
s.require_paths = ["lib"]
|
38
|
+
s.required_ruby_version = '>= 1.9.3'
|
38
39
|
s.rubygems_version = "1.8.25"
|
39
40
|
s.summary = "PandocRuby"
|
40
41
|
|
@@ -42,18 +43,23 @@ Gem::Specification.new do |s|
|
|
42
43
|
s.specification_version = 3
|
43
44
|
|
44
45
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
45
|
-
s.add_development_dependency(
|
46
|
-
s.add_development_dependency(
|
47
|
-
s.add_development_dependency(
|
46
|
+
s.add_development_dependency('mocha', '~> 1.1', '>= 1.1.0')
|
47
|
+
s.add_development_dependency('rake', '~> 10.4', '>= 10.4.2')
|
48
|
+
s.add_development_dependency('rdoc', '~> 4.2', '>= 4.2.0')
|
49
|
+
s.add_development_dependency('shoulda', '~> 3.5', '>= 3.5.0')
|
50
|
+
s.add_development_dependency('test-unit', '~> 3.0', '>= 3.0.9')
|
48
51
|
else
|
49
|
-
s.add_dependency(%q<mocha>, ["~>
|
50
|
-
s.add_dependency(%q<
|
51
|
-
s.add_dependency(%q<
|
52
|
+
s.add_dependency(%q<mocha>, ["~> 1.1.0"])
|
53
|
+
s.add_dependency(%q<rake>, ["~> 10.4.2"])
|
54
|
+
s.add_dependency(%q<rdoc>, ["~> 4.2.0"])
|
55
|
+
s.add_dependency(%q<shoulda>, ["~> 3.5.0"])
|
56
|
+
s.add_dependency(%q<test-unit>, ["~> 3.0.9"])
|
52
57
|
end
|
53
58
|
else
|
54
|
-
s.add_dependency(%q<mocha>, ["~>
|
55
|
-
s.add_dependency(%q<
|
56
|
-
s.add_dependency(%q<
|
59
|
+
s.add_dependency(%q<mocha>, ["~> 1.1.0"])
|
60
|
+
s.add_dependency(%q<rake>, ["~> 10.4.2"])
|
61
|
+
s.add_dependency(%q<rdoc>, ["~> 4.2.0"])
|
62
|
+
s.add_dependency(%q<shoulda>, ["~> 3.5.0"])
|
63
|
+
s.add_dependency(%q<test-unit>, ["~> 3.0.9"])
|
57
64
|
end
|
58
65
|
end
|
59
|
-
|
data/test/test_conversions.rb
CHANGED
@@ -1,67 +1,67 @@
|
|
1
1
|
require 'helper'
|
2
2
|
|
3
3
|
class TestConversions < Test::Unit::TestCase
|
4
|
-
|
4
|
+
|
5
5
|
def self.formatted_strings
|
6
6
|
h = Hash.new
|
7
7
|
h[:native] =
|
8
|
-
%Q|[Header 1 [Str \"This\",Space,Str \"is\",Space,Str \"a\",Space,Str \"Title\"]\n,Para [Str \"Some\",Space,Emph [Str \"emphasized\",Space,Str \"text\"],Space,Str \"and\",Space,Link [Str \"a\",Space,Str \"link\"] (\"http://daringfireball.net/projects/markdown/\",\"\")]]|
|
8
|
+
%Q|[Header 1 (\"this-is-a-title\",[],[]) [Str \"This\",Space,Str \"is\",Space,Str \"a\",Space,Str \"Title\"]\n,Para [Str \"Some\",Space,Emph [Str \"emphasized\",Space,Str \"text\"],Space,Str \"and\",Space,Link [Str \"a\",Space,Str \"link\"] (\"http://daringfireball.net/projects/markdown/\",\"\")]]|
|
9
9
|
h[:json] =
|
10
|
-
%Q|[{
|
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
11
|
h[:html] =
|
12
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
13
|
h[:html5] =
|
14
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
15
|
h[:s5] =
|
16
|
-
%Q|<div
|
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
17
|
h[:slidy] =
|
18
|
-
%Q|<div
|
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
19
|
h[:dzslides] =
|
20
|
-
%Q|<section
|
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
21
|
h[:docbook] =
|
22
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
23
|
h[:opendocument] =
|
24
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
25
|
h[:latex] =
|
26
|
-
%Q|\\section{This is a Title}\n\nSome \\emph{emphasized text} and\n\\href{http://daringfireball.net/projects/markdown/}{a link}|
|
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
27
|
h[:beamer] =
|
28
|
-
%Q|\\begin{frame}
|
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
29
|
h[:context] =
|
30
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
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\nSome @emph{emphasized text} and @uref{http://daringfireball.net/projects/markdown/,a link}|
|
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
33
|
h[:man] =
|
34
34
|
%Q|.SH This is a Title\n.PP\nSome \\f[I]emphasized text\\f[] and a\nlink (http://daringfireball.net/projects/markdown/)|
|
35
35
|
h[:markdown] =
|
36
36
|
%Q|This is a Title\n===============\n\nSome *emphasized text* and [a\nlink](http://daringfireball.net/projects/markdown/)|
|
37
37
|
h[:plain] =
|
38
|
-
%Q|
|
38
|
+
%Q|THIS IS A TITLE\n\n\nSome _emphasized text_ and a link|
|
39
39
|
h[:rst] =
|
40
|
-
%Q|This is a Title\n===============\n\nSome *emphasized text* and `a\nlink <http://daringfireball.net/projects/markdown/>`
|
40
|
+
%Q|This is a Title\n===============\n\nSome *emphasized text* and `a\nlink <http://daringfireball.net/projects/markdown/>`__|
|
41
41
|
h[:mediawiki] =
|
42
42
|
%Q|= This is a Title =\n\nSome ''emphasized text'' and [http://daringfireball.net/projects/markdown/ a link]|
|
43
43
|
h[:textile] =
|
44
|
-
%Q|h1. This is a Title\n\nSome _emphasized text_ and \"a link\":http://daringfireball.net/projects/markdown/|
|
44
|
+
%Q|h1(#this-is-a-title). This is a Title\n\nSome _emphasized text_ and \"a link\":http://daringfireball.net/projects/markdown/|
|
45
45
|
h[:rtf] =
|
46
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
47
|
h[:org] =
|
48
48
|
%Q|* This is a Title\n\nSome /emphasized text/ and\n[[http://daringfireball.net/projects/markdown/][a link]]|
|
49
49
|
h[:asciidoc] =
|
50
|
-
%Q|
|
50
|
+
%Q|[[this-is-a-title]]\nThis is a Title\n---------------\n\nSome _emphasized text_ and\nhttp://daringfireball.net/projects/markdown/[a link]|
|
51
51
|
return h
|
52
52
|
end
|
53
|
-
|
53
|
+
|
54
54
|
[:markdown, :html, :rst, :latex].each do |from|
|
55
55
|
formatted_strings.each_key do |format|
|
56
56
|
unless from == format
|
57
57
|
should "convert #{from} to #{format}" do
|
58
58
|
assert_equal(
|
59
|
-
PandocRuby.convert(TestConversions.formatted_strings[from], :from => from, :to => format).strip,
|
59
|
+
PandocRuby.convert(TestConversions.formatted_strings[from], :from => from, :to => format).strip,
|
60
60
|
TestConversions.formatted_strings[format]
|
61
61
|
)
|
62
62
|
end
|
63
63
|
end
|
64
64
|
end
|
65
65
|
end
|
66
|
-
|
66
|
+
|
67
67
|
end
|
data/test/test_pandoc-ruby.rb
CHANGED
@@ -1,23 +1,23 @@
|
|
1
1
|
require 'helper'
|
2
2
|
|
3
3
|
class TestPandocRuby < Test::Unit::TestCase
|
4
|
-
|
4
|
+
|
5
5
|
def setup
|
6
6
|
@file = File.join(File.dirname(__FILE__), 'files', 'test.md')
|
7
7
|
@converter = PandocRuby.new(@file, :t => :rst)
|
8
8
|
end
|
9
|
-
|
9
|
+
|
10
10
|
def teardown
|
11
11
|
PandocRuby.bin_path = nil
|
12
12
|
PandocRuby.allow_file_paths = false
|
13
13
|
end
|
14
|
-
|
14
|
+
|
15
15
|
should "call bare pandoc when passed no options" do
|
16
16
|
converter = PandocRuby.new(@file)
|
17
17
|
converter.expects(:execute).with('pandoc').returns(true)
|
18
18
|
assert converter.convert
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
21
|
should "convert with altered bin_path" do
|
22
22
|
path = %x[which pandoc].strip
|
23
23
|
PandocRuby.bin_path = path
|
@@ -25,7 +25,7 @@ class TestPandocRuby < Test::Unit::TestCase
|
|
25
25
|
converter.expects(:execute).with("#{path}/pandoc").returns(true)
|
26
26
|
assert converter.convert
|
27
27
|
end
|
28
|
-
|
28
|
+
|
29
29
|
should "treat file paths as strings by default" do
|
30
30
|
assert_equal "<p>#{@file}</p>\n", PandocRuby.new(@file).to_html
|
31
31
|
end
|
@@ -35,18 +35,17 @@ class TestPandocRuby < Test::Unit::TestCase
|
|
35
35
|
assert PandocRuby.new(@file).to_html.match(%r{This is a Title})
|
36
36
|
end
|
37
37
|
|
38
|
-
|
39
38
|
should "accept short options" do
|
40
39
|
@converter.expects(:execute).with('pandoc -t rst').returns(true)
|
41
40
|
assert @converter.convert
|
42
41
|
end
|
43
|
-
|
42
|
+
|
44
43
|
should "accept long options" do
|
45
44
|
converter = PandocRuby.new(@file, :to => :rst)
|
46
45
|
converter.expects(:execute).with('pandoc --to rst').returns(true)
|
47
46
|
assert converter.convert
|
48
47
|
end
|
49
|
-
|
48
|
+
|
50
49
|
should "accept a variety of options in initializer" do
|
51
50
|
converter = PandocRuby.new(@file, :s, {
|
52
51
|
:f => :markdown, :to => :rst
|
@@ -57,7 +56,7 @@ class TestPandocRuby < Test::Unit::TestCase
|
|
57
56
|
.returns(true)
|
58
57
|
assert converter.convert
|
59
58
|
end
|
60
|
-
|
59
|
+
|
61
60
|
should "accept a variety of options in convert" do
|
62
61
|
converter = PandocRuby.new(@file)
|
63
62
|
converter \
|
@@ -66,7 +65,7 @@ class TestPandocRuby < Test::Unit::TestCase
|
|
66
65
|
.returns(true)
|
67
66
|
assert converter.convert(:s, {:f => :markdown, :to => :rst}, 'no-wrap')
|
68
67
|
end
|
69
|
-
|
68
|
+
|
70
69
|
should "convert underscore symbol ares to hyphenated long options" do
|
71
70
|
converter = PandocRuby.new(@file, {
|
72
71
|
:email_obfuscation => :javascript
|
@@ -83,13 +82,19 @@ class TestPandocRuby < Test::Unit::TestCase
|
|
83
82
|
converter.expects(:execute).with('html2markdown').returns(true)
|
84
83
|
assert converter.convert
|
85
84
|
end
|
86
|
-
|
85
|
+
|
87
86
|
should "use non-executable second arg as option" do
|
88
87
|
converter = PandocRuby.new(@file, 'toc')
|
89
88
|
converter.expects(:execute).with('pandoc --toc').returns(true)
|
90
89
|
assert converter.convert
|
91
90
|
end
|
92
|
-
|
91
|
+
|
92
|
+
should "raise RuntimeError from pandoc executable error" do
|
93
|
+
assert_raise RuntimeError do
|
94
|
+
PandocRuby.new("# hello", "badopt").to_html5
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
93
98
|
PandocRuby::READERS.each_key do |r|
|
94
99
|
should "convert from #{r} with PandocRuby.#{r}" do
|
95
100
|
converter = PandocRuby.send(r, @file)
|
@@ -97,7 +102,7 @@ class TestPandocRuby < Test::Unit::TestCase
|
|
97
102
|
assert converter.convert
|
98
103
|
end
|
99
104
|
end
|
100
|
-
|
105
|
+
|
101
106
|
PandocRuby::STRING_WRITERS.each_key do |w|
|
102
107
|
should "convert to #{w} with to_#{w}" do
|
103
108
|
converter = PandocRuby.new(@file)
|
@@ -108,7 +113,7 @@ class TestPandocRuby < Test::Unit::TestCase
|
|
108
113
|
assert converter.send("to_#{w}", :no_wrap)
|
109
114
|
end
|
110
115
|
end
|
111
|
-
|
116
|
+
|
112
117
|
PandocRuby::BINARY_WRITERS.each_key do |w|
|
113
118
|
should "convert to #{w} with to_#{w}" do
|
114
119
|
converter = PandocRuby.new(@file)
|
@@ -119,31 +124,31 @@ class TestPandocRuby < Test::Unit::TestCase
|
|
119
124
|
assert converter.send("to_#{w}", :no_wrap)
|
120
125
|
end
|
121
126
|
end
|
122
|
-
|
127
|
+
|
123
128
|
should "work with strings" do
|
124
129
|
converter = PandocRuby.new('## this is a title')
|
125
130
|
assert_match %r(h2), converter.convert
|
126
131
|
end
|
127
|
-
|
132
|
+
|
128
133
|
should "alias to_s" do
|
129
134
|
assert_equal @converter.convert, @converter.to_s
|
130
135
|
end
|
131
|
-
|
136
|
+
|
132
137
|
should "have convert class method" do
|
133
138
|
assert_equal @converter.convert, PandocRuby.convert(@file, :t => :rst)
|
134
139
|
end
|
135
|
-
|
140
|
+
|
136
141
|
should "run more than 400 times without error" do
|
137
142
|
begin
|
138
143
|
400.times do
|
139
144
|
PandocRuby.convert(@file)
|
140
|
-
end
|
145
|
+
end
|
141
146
|
assert true
|
142
147
|
rescue Errno::EMFILE, Errno::EAGAIN => e
|
143
148
|
flunk e
|
144
149
|
end
|
145
150
|
end
|
146
|
-
|
151
|
+
|
147
152
|
should "have reader and writer constants" do
|
148
153
|
assert_equal PandocRuby::READERS, {
|
149
154
|
"html" => "HTML",
|
@@ -154,7 +159,7 @@ class TestPandocRuby < Test::Unit::TestCase
|
|
154
159
|
"json" => "pandoc JSON",
|
155
160
|
"rst" => "reStructuredText"
|
156
161
|
}
|
157
|
-
|
162
|
+
|
158
163
|
assert_equal PandocRuby::STRING_WRITERS, {
|
159
164
|
"mediawiki" => "MediaWiki markup",
|
160
165
|
"html" => "HTML",
|
metadata
CHANGED
@@ -1,57 +1,115 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pandoc-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.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: 2015-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mocha
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '1.1'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.1.0
|
20
23
|
type: :development
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - ~>
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.1'
|
30
|
+
- - ">="
|
25
31
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
32
|
+
version: 1.1.0
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: rake
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '10.4'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 10.4.2
|
43
|
+
type: :development
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '10.4'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 10.4.2
|
27
53
|
- !ruby/object:Gem::Dependency
|
28
54
|
name: rdoc
|
29
55
|
requirement: !ruby/object:Gem::Requirement
|
30
56
|
requirements:
|
31
|
-
- - ~>
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '4.2'
|
60
|
+
- - ">="
|
32
61
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
62
|
+
version: 4.2.0
|
34
63
|
type: :development
|
35
64
|
prerelease: false
|
36
65
|
version_requirements: !ruby/object:Gem::Requirement
|
37
66
|
requirements:
|
38
|
-
- - ~>
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '4.2'
|
70
|
+
- - ">="
|
39
71
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
72
|
+
version: 4.2.0
|
41
73
|
- !ruby/object:Gem::Dependency
|
42
74
|
name: shoulda
|
43
75
|
requirement: !ruby/object:Gem::Requirement
|
44
76
|
requirements:
|
45
|
-
- -
|
77
|
+
- - "~>"
|
46
78
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
79
|
+
version: '3.5'
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 3.5.0
|
83
|
+
type: :development
|
84
|
+
prerelease: false
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '3.5'
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: 3.5.0
|
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
|
48
103
|
type: :development
|
49
104
|
prerelease: false
|
50
105
|
version_requirements: !ruby/object:Gem::Requirement
|
51
106
|
requirements:
|
52
|
-
- -
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '3.0'
|
110
|
+
- - ">="
|
53
111
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
112
|
+
version: 3.0.9
|
55
113
|
description: Ruby wrapper for Pandoc
|
56
114
|
email: hi@williammelody.com
|
57
115
|
executables: []
|
@@ -60,7 +118,7 @@ extra_rdoc_files:
|
|
60
118
|
- LICENSE
|
61
119
|
- README.markdown
|
62
120
|
files:
|
63
|
-
- .document
|
121
|
+
- ".document"
|
64
122
|
- Gemfile
|
65
123
|
- Gemfile.lock
|
66
124
|
- LICENSE
|
@@ -84,17 +142,17 @@ require_paths:
|
|
84
142
|
- lib
|
85
143
|
required_ruby_version: !ruby/object:Gem::Requirement
|
86
144
|
requirements:
|
87
|
-
- -
|
145
|
+
- - ">="
|
88
146
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
147
|
+
version: 1.9.3
|
90
148
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
149
|
requirements:
|
92
|
-
- -
|
150
|
+
- - ">="
|
93
151
|
- !ruby/object:Gem::Version
|
94
152
|
version: '0'
|
95
153
|
requirements: []
|
96
154
|
rubyforge_project:
|
97
|
-
rubygems_version: 2.
|
155
|
+
rubygems_version: 2.4.5
|
98
156
|
signing_key:
|
99
157
|
specification_version: 3
|
100
158
|
summary: PandocRuby
|