paru 0.2.5.5 → 0.2.5.6
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/lib/paru.rb +1 -1
- data/lib/paru/filter/cite.rb +2 -2
- data/lib/paru/pandoc.rb +31 -22
- 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: b314dd702e50bc29c3d5de54d00be79f76aeec99
|
4
|
+
data.tar.gz: c336ecb5371cfc4eeb23a36ec428cd59e939457e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c72f808ac6e146ce331434edcad78293d4aaefea2bf657bd856cdbd3955f27b5ae133ae7bc3b2ff9a3bc8676ab54019cd9f53bd5a9c1050d8137af873d942b4c
|
7
|
+
data.tar.gz: 920e14f0aa27234ffaf1c6d0028c3ea4c93ee14708b5e07c9a8339d474f1def0aaca5d0375b9ed61a849dc777963f039421b280b82ec5a3a2cf468322a101644
|
data/lib/paru.rb
CHANGED
data/lib/paru/filter/cite.rb
CHANGED
data/lib/paru/pandoc.rb
CHANGED
@@ -16,6 +16,7 @@
|
|
16
16
|
# You should have received a copy of the GNU General Public License
|
17
17
|
# along with Paru. If not, see <http://www.gnu.org/licenses/>.
|
18
18
|
#++
|
19
|
+
require "open3"
|
19
20
|
require "shellwords"
|
20
21
|
require "yaml"
|
21
22
|
|
@@ -149,17 +150,7 @@ module Paru
|
|
149
150
|
# @example Using <<
|
150
151
|
# output = converter << 'this is a *strong* word'
|
151
152
|
def convert(input)
|
152
|
-
|
153
|
-
output = ''
|
154
|
-
IO.popen(to_command, 'r+') do |p|
|
155
|
-
p << input
|
156
|
-
p.close_write
|
157
|
-
output << p.read
|
158
|
-
end
|
159
|
-
output
|
160
|
-
rescue StandardError => err
|
161
|
-
throw Error.new "Error while running '#{to_command}' on input:\n\n#{input}\n\nPandoc responds: '#{err.message}'"
|
162
|
-
end
|
153
|
+
run_converter to_command, input
|
163
154
|
end
|
164
155
|
alias << convert
|
165
156
|
|
@@ -175,17 +166,7 @@ module Paru
|
|
175
166
|
# @example Using convert_file
|
176
167
|
# output = converter.convert_file 'files/document.md'
|
177
168
|
def convert_file(input_file)
|
178
|
-
|
179
|
-
begin
|
180
|
-
output = ''
|
181
|
-
IO.popen(command, 'r+') do |p|
|
182
|
-
p.close_write
|
183
|
-
output << p.read
|
184
|
-
end
|
185
|
-
output
|
186
|
-
rescue StandardError => err
|
187
|
-
throw Error.new "Error while running '#{command}' on input:\n\n#{input}\n\nPandoc responds: '#{err.message}'"
|
188
|
-
end
|
169
|
+
run_converter "#{to_command} #{input_file}"
|
189
170
|
end
|
190
171
|
|
191
172
|
# Create a string representation of this converter's pandoc command
|
@@ -295,6 +276,34 @@ module Paru
|
|
295
276
|
end
|
296
277
|
end
|
297
278
|
|
279
|
+
private
|
280
|
+
|
281
|
+
def run_converter(command, input = nil)
|
282
|
+
begin
|
283
|
+
output = ''
|
284
|
+
error = ''
|
285
|
+
status = 0
|
286
|
+
|
287
|
+
Open3.popen3(command) do |stdin, stdout, stderr, thread|
|
288
|
+
stdin << input unless input.nil?
|
289
|
+
stdin.close
|
290
|
+
output << stdout.read
|
291
|
+
error << stderr.read
|
292
|
+
status = thread.value.exitstatus
|
293
|
+
end
|
294
|
+
|
295
|
+
if 0 < status
|
296
|
+
# pandoc exited with an error
|
297
|
+
raise Paru::Error.new "error while running:\n\n#{command}\n\nPandoc responded with:\n\n#{error}\n"
|
298
|
+
end
|
299
|
+
|
300
|
+
output
|
301
|
+
rescue Paru::Error => err
|
302
|
+
raise err
|
303
|
+
rescue StandardError => err
|
304
|
+
throw Error.new "Unable to run pandoc via command '#{command}': #{err.message}"
|
305
|
+
end
|
306
|
+
end
|
298
307
|
end
|
299
308
|
|
300
309
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paru
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.5.
|
4
|
+
version: 0.2.5.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Huub de Beer
|
@@ -107,7 +107,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
107
107
|
version: '0'
|
108
108
|
requirements: []
|
109
109
|
rubyforge_project:
|
110
|
-
rubygems_version: 2.
|
110
|
+
rubygems_version: 2.6.11
|
111
111
|
signing_key:
|
112
112
|
specification_version: 4
|
113
113
|
summary: Paru is a ruby wrapper around pandoc
|