pandocomatic 0.2.5.0.alpha → 0.2.5.0.betaa
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/pandocomatic/cli.rb +0 -1
- data/lib/pandocomatic/configuration.rb +12 -30
- data/lib/pandocomatic/multiple_files_input.rb +19 -3
- data/lib/pandocomatic/pandoc_metadata.rb +1 -1
- data/lib/pandocomatic/pandocomatic.rb +2 -2
- data/lib/pandocomatic/printer/finish_printer.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 33cabeb7b49bddf1b107c44ebf448f07c1f8f33503d620c8d68eac2d23b216dd
|
4
|
+
data.tar.gz: 39f12455e1105aca31e552ec8d3fac810a4aa60a5041c11c84fb5088dde94dde
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 677152a5dde3f7359a75b44a4c678673a45d64bc917770d9bccbe9d43d70ff8fd25cb18b1a567b2fb095d52c969ef264c91eb4c49a9cf188c342da01d9dd51d2
|
7
|
+
data.tar.gz: fccd7849c1cd7de73d3310b13785228bc91df4e89372c0f0bdc8aed52ed1355133032280d61f322217e76472cc39269d5555e5d1e8cb3a3ce16dbae7799f448b
|
data/lib/pandocomatic/cli.rb
CHANGED
@@ -75,7 +75,7 @@ module Pandocomatic
|
|
75
75
|
@input = if input.nil? or input.empty? then
|
76
76
|
nil
|
77
77
|
elsif 1 < input.size then
|
78
|
-
MultipleFilesInput.new(input)
|
78
|
+
MultipleFilesInput.new(input, self)
|
79
79
|
else
|
80
80
|
Input.new(input)
|
81
81
|
end
|
@@ -347,7 +347,6 @@ module Pandocomatic
|
|
347
347
|
@settings.has_key? 'match-files' and 'first' == @settings['match-files']
|
348
348
|
end
|
349
349
|
|
350
|
-
|
351
350
|
# Set the extension of the destination file given this Confguration,
|
352
351
|
# template, and metadata
|
353
352
|
#
|
@@ -386,22 +385,13 @@ module Pandocomatic
|
|
386
385
|
end
|
387
386
|
end
|
388
387
|
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
# Output option in pandoc property has precedence
|
393
|
-
if metadata.has_pandocomatic?
|
394
|
-
pandocomatic = metadata.pandocomatic
|
395
|
-
if pandocomatic.has_key? "pandoc"
|
396
|
-
pandoc = pandocomatic["pandoc"]
|
397
|
-
destination = determine_output_in_pandoc.call pandoc
|
398
|
-
rename_script = pandoc["rename"]
|
399
|
-
end
|
400
|
-
end
|
388
|
+
# Output options in pandoc property have precedence
|
389
|
+
destination = determine_output_in_pandoc.call metadata.pandoc_options
|
390
|
+
rename_script = metadata.pandoc_options["rename"]
|
401
391
|
|
402
392
|
# Output option in template's pandoc property is next
|
403
393
|
if destination.nil? and not template_name.nil? and not template_name.empty? then
|
404
|
-
if @templates[template_name].has_key? "pandoc"
|
394
|
+
if @templates[template_name].has_key? "pandoc" and not @templates[template_name]["pandoc"].nil?
|
405
395
|
pandoc = @templates[template_name]["pandoc"]
|
406
396
|
destination = determine_output_in_pandoc.call pandoc
|
407
397
|
rename_script ||= pandoc["rename"]
|
@@ -445,21 +435,14 @@ module Pandocomatic
|
|
445
435
|
end
|
446
436
|
|
447
437
|
if template_name.nil? or template_name.empty? then
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
if not ext.nil?
|
455
|
-
extension = ext
|
456
|
-
elsif pandoc.has_key? "to"
|
457
|
-
extension = strip_extensions.call(pandoc["to"])
|
458
|
-
end
|
459
|
-
end
|
460
|
-
end
|
438
|
+
ext = use_extension.call metadata.pandoc_options
|
439
|
+
if not ext.nil?
|
440
|
+
extension = ext
|
441
|
+
elsif metadata.pandoc_options.has_key? "to"
|
442
|
+
extension = strip_extensions.call(metadata.pandoc_options["to"])
|
443
|
+
end
|
461
444
|
else
|
462
|
-
if @templates[template_name].has_key? "pandoc"
|
445
|
+
if @templates[template_name].has_key? "pandoc" and not @templates[template_name]["pandoc"].nil?
|
463
446
|
pandoc = @templates[template_name]["pandoc"]
|
464
447
|
ext = use_extension.call pandoc
|
465
448
|
|
@@ -885,6 +868,5 @@ module Pandocomatic
|
|
885
868
|
|
886
869
|
path
|
887
870
|
end
|
888
|
-
|
889
871
|
end
|
890
872
|
end
|
@@ -28,8 +28,9 @@ module Pandocomatic
|
|
28
28
|
# is created as well containing the content of all the files in input.
|
29
29
|
#
|
30
30
|
# @param input [String[]] a list with input files
|
31
|
-
def initialize(input)
|
31
|
+
def initialize(input, config)
|
32
32
|
super(input)
|
33
|
+
@config = config
|
33
34
|
create_temp_file
|
34
35
|
end
|
35
36
|
|
@@ -69,10 +70,25 @@ module Pandocomatic
|
|
69
70
|
# Concatenate all input files into one (temporary) input file
|
70
71
|
# created in the same directory as the first input file
|
71
72
|
@tmp_file = Tempfile.new(@input_files.first, File.dirname(self.absolute_path))
|
72
|
-
|
73
|
+
|
74
|
+
# Read first file and its metadata
|
75
|
+
metadata = PandocMetadata.load_file @input_files.first
|
76
|
+
|
77
|
+
strip_metadata =
|
78
|
+
"markdown" == if metadata.pandoc_options.has_key? "from" then
|
79
|
+
metadata.pandoc_options["from"]
|
80
|
+
else
|
81
|
+
template = @config.determine_template @input_files.first
|
82
|
+
if not template.nil? and not template.dig("pandoc", "from").nil? then
|
83
|
+
template["pandoc"]["from"]
|
84
|
+
else
|
85
|
+
"unknown"
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
73
89
|
@input_files.each_with_index do |filename, index|
|
74
90
|
input = File.read File.absolute_path(filename)
|
75
|
-
input = if 0
|
91
|
+
input = if 0 == index or not strip_metadata then input else PandocMetadata.remove_metadata(input) end
|
76
92
|
@tmp_file.write input
|
77
93
|
end
|
78
94
|
|
@@ -170,7 +170,7 @@ module Pandocomatic
|
|
170
170
|
# @return [Boolean] True if there is a pandoc options property in this
|
171
171
|
# PandocMetadata object. False otherwise.
|
172
172
|
def has_pandoc_options?()
|
173
|
-
has_pandocomatic? and pandocomatic.has_key? 'pandoc'
|
173
|
+
has_pandocomatic? and pandocomatic.has_key? 'pandoc' and not pandocomatic['pandoc'].nil?
|
174
174
|
end
|
175
175
|
|
176
176
|
end
|
@@ -47,8 +47,8 @@ module Pandocomatic
|
|
47
47
|
ERROR_STATUS = 1266 # This is the sum of the ascii values of the characters in 'pandocomatic'
|
48
48
|
|
49
49
|
# Pandocomatic's current version
|
50
|
-
VERSION = [0, 2, 5, 0, "
|
51
|
-
|
50
|
+
VERSION = [0, 2, 5, 0, "beta"]
|
51
|
+
|
52
52
|
# Run pandocomatic given options
|
53
53
|
#
|
54
54
|
# @param args [String[]] list of options to configure pandocomatic
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pandocomatic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.5.0.
|
4
|
+
version: 0.2.5.0.betaa
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Huub de Beer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-03-
|
11
|
+
date: 2019-03-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: paru
|
@@ -56,28 +56,28 @@ dependencies:
|
|
56
56
|
requirements:
|
57
57
|
- - "~>"
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: '
|
59
|
+
version: '1.3'
|
60
60
|
type: :development
|
61
61
|
prerelease: false
|
62
62
|
version_requirements: !ruby/object:Gem::Requirement
|
63
63
|
requirements:
|
64
64
|
- - "~>"
|
65
65
|
- !ruby/object:Gem::Version
|
66
|
-
version: '
|
66
|
+
version: '1.3'
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
68
|
name: yard
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|
70
70
|
requirements:
|
71
71
|
- - "~>"
|
72
72
|
- !ruby/object:Gem::Version
|
73
|
-
version: 0.9.
|
73
|
+
version: 0.9.18
|
74
74
|
type: :development
|
75
75
|
prerelease: false
|
76
76
|
version_requirements: !ruby/object:Gem::Requirement
|
77
77
|
requirements:
|
78
78
|
- - "~>"
|
79
79
|
- !ruby/object:Gem::Version
|
80
|
-
version: 0.9.
|
80
|
+
version: 0.9.18
|
81
81
|
description: Pandocomatic is a tool to automate using pandoc (<http://pandoc.org>).
|
82
82
|
With pandocomatic you can express common patterns of using pandoc for generating
|
83
83
|
your documents. Applied to a directory, pandocomatic can act as a static site generator.
|